Documentation & Systems Manual
Complete technical reference for installing, configuring, managing, and troubleshooting Pterodactyl environments.
Overview
Pterodactyl Installer by XENTO is an open-source, modular Linux shell utility engineered to automate the lifecycle management of Pterodactyl game server management software.
The script handles operating system detection, architecture identification, repository setup, dependency installation, database provisioning, application setup, queue service registration, web server configuration, SSL certificate generation, and service validation.
Quick Start
Execute the main installation script as root on a fresh Linux server instance:
Alternatively, invoke directly from the raw GitHub mirror:
Execution Modes
The installer supports non-interactive execution by passing command flags directly as arguments:
| Command Flag | Target Operation |
|---|---|
bash install.sh panel |
Executes standalone Pterodactyl Panel installation. |
bash install.sh wings |
Executes standalone Wings & Docker CE installation. |
bash install.sh both |
Installs both Panel and Wings on the same machine. |
bash install.sh phpmyadmin |
Installs phpMyAdmin database management interface. |
bash install.sh status |
Performs real-time health check on installed services. |
bash install.sh uninstall |
Launches interactive component uninstaller. |
Panel Setup
The Panel installation module (scripts/panel.sh) executes the following sequence:
- Configures PHP 8.3 repositories (Ondrej PPA for Ubuntu, Sury for Debian, Remi for Rocky/AlmaLinux).
- Installs PHP extensions:
cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip,tokenizer. - Installs MariaDB Server, Redis Server, Nginx, and Composer v2.
- Creates the database and user with sanitized 24-character random passwords.
- Downloads latest Panel release tarball and configures
.envenvironment file. - Executes artisan migrations, database seeding, key generation, and administrator account creation.
- Registers systemd unit
/etc/systemd/system/pteroq.servicefor queue processing. - Configures crontab scheduling (
* * * * * php artisan schedule:run). - Generates Nginx site configuration and configures Certbot SSL if requested.
Wings Setup
The Wings installation module (scripts/wings.sh) executes the following sequence:
- Installs official Docker Engine CE and containerd packages.
- Detects architecture (
amd64orarm64) and downloads matching Wings binary to/usr/local/bin/wings. - Creates systemd unit
/etc/systemd/system/wings.service. - Attempts automatic configuration using Panel API Token (
ptla_...) and Node ID if provided. - If auto-configuration is skipped, prompts manual placement of
/etc/pterodactyl/config.yml.
Panel + Wings (Single Server)
When executing combined deployment (bash install.sh both), the script runs the Panel installation module followed immediately by Wings installation. It reuses existing shared dependencies without duplicating packages or configuration files.
phpMyAdmin Setup
The phpMyAdmin module (scripts/phpmyadmin.sh) deploys phpMyAdmin v5.2.x to /var/www/phpmyadmin, generates a 32-character blowfish secret, and creates a standalone Nginx virtual host that operates independently without breaking Panel web settings.
Network & Port Requirements
Ensure the following inbound network ports are open on your server firewall or Cloud Provider security groups:
| Port | Protocol | Service Description |
|---|---|---|
22 |
TCP | SSH Remote Console Access |
80 |
TCP | HTTP Web Traffic & Let's Encrypt Validation |
443 |
TCP | HTTPS Secure Web Traffic |
8080 |
TCP | Wings Daemon API (Panel to Node) |
2022 |
TCP | Wings SFTP File Transfer Management |
Important System Paths
| Path | Description |
|---|---|
/var/log/pterodactyl-xento.log |
Main installer execution and error log file. |
/var/backups/pterodactyl-xento/ |
Directory containing automated pre-uninstallation backups. |
/var/www/pterodactyl |
Pterodactyl Panel application root directory. |
/etc/pterodactyl/config.yml |
Pterodactyl Wings configuration file. |
/usr/local/bin/wings |
Executable binary file for Wings daemon. |
/var/lib/pterodactyl |
Directory containing game server container files. |
/var/www/phpmyadmin |
phpMyAdmin application root directory. |
Service Control Reference
Manage installed background services using standard systemd commands:
Troubleshooting Procedures
Use these diagnostic commands to inspect service logs and configuration syntax:
Safe Uninstallation
To safely remove components, launch the uninstaller module:
The uninstaller requests explicit input confirmation (UNINSTALL) and creates a timestamped backup of panel/wings files and databases inside /var/backups/pterodactyl-xento/ prior to resource removal.
Security & Logging
Pterodactyl Installer enforces strict security practices:
- Credential Masking: Sensitive parameters (passwords, tokens) in script execution streams are redacted via regular expression filtering before writing to
/var/log/pterodactyl-xento.log. - Injection Protection: Random password generation uses
tr -dc 'A-Za-z0-9'to eliminate special characters that could trigger shell command or SQL parsing vulnerabilities. - Strict Error Traps: Scripts execute with
set -Eeuo pipefailto ensure immediate termination on unexpected sub-command failures.
Development & Licensing
Pterodactyl Installer is licensed under the GNU General Public License v3.0 (GPLv3). Contributions and issue reports are handled via GitHub.