🎮 Install Pterodactyl Panel via Script
This guide will teach you how to install Pterodactyl Panel and Wings on your VPS using the simplified automatic installation script. Pterodactyl is a free and open-source management panel for managing your game servers (Minecraft, FiveM, etc.).
📋 Prerequisites
- A VPS server with root access
- Minimum 1 GB of RAM (2 GB recommended)
- Ubuntu 22.04/24.04, Debian 11/12/13, Rocky Linux 8/9, or AlmaLinux 8/9
- A domain pointing to your VPS IP (optional but recommended)
- Ports 80, 443, 2022, and 8080 open (if you use a firewall)
Important: Pterodactyl requires a clean server. It is recommended to install on a freshly installed system to avoid conflicts.
💡 Infrastructure Recommendation
Pterodactyl Panel is ideal for managing resource-intensive game servers. For optimal performance, we recommend our Performance VPS which offer high-performance processors and DDR5 RAM, perfect for hosting multiple game servers simultaneously (Minecraft, FiveM, etc.).
🚀 Installing the Pterodactyl Panel
Server Preparation
Before installing Pterodactyl, prepare your server:
# Update the system sudo apt update && sudo apt upgrade -y # Install curl if necessary sudo apt install curl -y # Verify that you are root or use sudo whoami
Installation via Simplified Script
The automatic installation script greatly simplifies Pterodactyl installation:
# Launch the Pterodactyl installation script bash <(curl -s https://pterodactyl-installer.se)
The script will guide you through the installation step by step:
-
Installation type selection:
- Panel installation (Pterodactyl Panel)
- Wings installation (daemon to manage servers)
- Complete installation (Panel + Wings)
-
System configuration:
- Automatic installation of dependencies (PHP, MySQL, Nginx, etc.)
- Database configuration
- Web server configuration (Nginx)
- SSL configuration (Let's Encrypt)
Panel Installation Only
If you want to install only the Panel (to manage servers):
# Launch the script bash <(curl -s https://pterodactyl-installer.se) # Choose option "1" to install the Panel # Follow the script instructions
Complete Installation (Panel + Wings)
To install the Panel and Wings on the same server:
# Launch the script bash <(curl -s https://pterodactyl-installer.se) # Choose option "3" for complete installation # Follow the script instructions
⚙️ Panel Configuration
Initial Configuration
After Panel installation, you will need to configure:
-
Create an administrator account:
- The script will ask you to create the first admin user
- Choose an email and a secure password
-
Database configuration:
- The script will automatically create a MySQL database
- Note the database credentials
-
Domain configuration:
- If you have a domain, the script will automatically configure Nginx
- Otherwise, you can access via the server IP
Accessing the Panel
Once installation is complete, access the Panel:
# If you configured a domain https://your-domain.com # If you don't have a domain http://YOUR_SERVER_IP
Important: If you use HTTP (without domain), you will need to accept the self-signed certificate or configure SSL manually.
🛠️ Installing Wings (Daemon)
Wings is the daemon that actually manages game servers. You can install it on the same server as the Panel or on a separate server.
Installing Wings on the Same Server
# Launch the script bash <(curl -s https://pterodactyl-installer.se) # Choose option "3" for complete installation # Or option "2" if you already installed the Panel
Installing Wings on a Separate Server
If you install Wings on a different server from the Panel:
# On the server where you want to install Wings bash <(curl -s https://pterodactyl-installer.se) # Choose option "2" to install Wings only # Follow the script instructions
Wings Configuration
After installation, you will need to configure Wings:
-
Get the API key:
- Log in to the Panel
- Go to Administration → Configuration → Nodes
- Create a new node or use the existing one
- Copy the API key and FQDN
-
Configure Wings:
# Edit the Wings configuration file sudo nano /etc/pterodactyl/config.yml # Paste the API key and FQDN from the Panel # Save and quit (Ctrl+X, then Y, then Enter) -
Start Wings:
# Start the Wings service sudo systemctl start wings # Enable Wings on boot sudo systemctl enable wings # Verify status sudo systemctl status wings
🔧 Firewall Configuration (UFW)
If you use UFW, configure the necessary ports:
# Allow ports for Pterodactyl Panel sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Allow Wings port (default 8080) sudo ufw allow 8080/tcp # Allow Wings SFTP port (default 2022) sudo ufw allow 2022/tcp # Verify rules sudo ufw status
Important: If you change Wings default ports, don't forget to open them in the firewall.
📝 Post-Installation Configuration
Verify Installation
# Verify that the Panel works curl -I http://localhost # Verify that Wings works sudo systemctl status wings # Check Wings logs sudo journalctl -u wings -f
Update Pterodactyl
To update the Panel or Wings:
# Relaunch the installation script bash <(curl -s https://pterodactyl-installer.se) # Choose the update option # The script will detect the existing installation and offer an update
Useful Wings Commands
# Restart Wings sudo systemctl restart wings # Stop Wings sudo systemctl stop wings # View logs in real-time sudo journalctl -u wings -f # Reload Wings configuration without restarting sudo wings --debug
🎮 Create Your First Server
In the Pterodactyl Panel
-
Create a user:
- Go to Users → New User
- Create an account for yourself (if not already done)
-
Create a server:
- Click on "Create a new server"
- Select a node (your Wings)
- Choose an egg (Minecraft, FiveM, etc.)
- Configure resources (RAM, CPU, disk)
- Set the name and description
-
Start the server:
- Once created, click on your server
- Click on "Power" → "Start" to start
✅ Verification and Testing
Verify Everything Works
# Verify the Panel (should return HTTP 200) curl -I http://localhost # Verify Wings sudo systemctl status wings # Verify required services sudo systemctl status nginx sudo systemctl status mysql sudo systemctl status redis
Test Panel → Wings Connection
In the Panel:
- Go to Administration → Nodes
- Verify that your node is online (green status)
- If the node is offline, check Wings configuration
🆘 Troubleshooting
Panel Does Not Display
# Verify that Nginx works sudo systemctl status nginx # Check Nginx logs sudo tail -f /var/log/nginx/error.log # Restart Nginx sudo systemctl restart nginx # Verify Nginx configuration sudo nginx -t
Wings Won't Start
# Check Wings logs sudo journalctl -u wings -n 50 # Check configuration file sudo nano /etc/pterodactyl/config.yml # Verify configuration syntax sudo wings --debug # Verify that port 8080 is free sudo netstat -tlnp | grep 8080
Panel → Wings Connection Error
# Verify API key in config.yml sudo cat /etc/pterodactyl/config.yml | grep -i "api\|token" # Verify that FQDN is correct sudo cat /etc/pterodactyl/config.yml | grep -i "remote" # Verify network connectivity curl -I https://YOUR_PANEL_DOMAIN # Restart Wings sudo systemctl restart wings
Database Problem
# Verify that MySQL works sudo systemctl status mysql # Connect to MySQL sudo mysql -u root -p # In MySQL, list databases SHOW DATABASES; # Verify that pterodactyl database exists USE pterodactyl; SHOW TABLES;
SSL/HTTPS Error
If you have problems with SSL:
# Verify Certbot sudo certbot --version # Renew SSL certificate sudo certbot renew # Verify Nginx SSL configuration sudo nginx -t sudo systemctl reload nginx
📚 Additional Resources
- Official Pterodactyl Documentation
- Wings Documentation
- Pterodactyl GitHub
- Installation Script
- Infrawire Support
❓ Frequently Asked Questions
Q: Can I install the Panel and Wings on separate servers?
A: Yes, it's even recommended for large deployments. Install the Panel on one server and Wings on one or more other servers. Then configure Wings to connect to the Panel via the API key.
Q: What is the difference between the Panel and Wings?
A: The Panel is the web interface to manage your servers. Wings is the daemon that runs on game servers and actually manages Docker containers and game servers.
Q: Can I install Pterodactyl without a domain?
A: Yes, you can use your server IP, but you will need to configure SSL manually or accept a self-signed certificate. It is strongly recommended to use a domain with Let's Encrypt.
Q: Does the script automatically install Docker?
A: Yes, the script automatically installs Docker and Docker Compose which are required for Wings.
Q: How do I update Pterodactyl after installation?
A: Relaunch the installation script. It will detect the existing installation and offer an update:
bash <(curl -s https://pterodactyl-installer.se)
Q: Can I use another web server than Nginx?
A: The script automatically installs Nginx. You can use Apache instead, but you will need to configure manually after installation.
Q: How much RAM is needed to install Pterodactyl?
A: Minimum 1 GB of RAM, but 2 GB is recommended. To manage game servers, you will need additional RAM depending on the number and size of your servers.
Q: How do I create multiple game servers?
A: Once the Panel and Wings are configured, you can create as many servers as you want in the Panel. Each server will use a portion of your resources (RAM, CPU, disk).
Q: Can I use Pterodactyl for servers other than games?
A: Yes, Pterodactyl can manage any Docker container. You can use it for web applications, Discord bots, etc.