Video coming soon…

🦕 Setup Pterodactyl — Game Server Management Panel

Open-source game server management panel to host dozens of game servers from one dashboard

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — Pterodactyl Panel and Wings running in one command.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/pterodactyl/pterodactyl-ubuntu.sh
chmod +x pterodactyl-ubuntu.sh
sudo bash pterodactyl-ubuntu.sh

Tutorial Steps

1 Download & Run the Installer

The script installs all dependencies (PHP, MySQL, Redis, Nginx), deploys the Pterodactyl Panel, and installs the Wings daemon. The installer handles the entire stack including SSL certificate configuration.

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/pterodactyl/pterodactyl-ubuntu.sh
chmod +x pterodactyl-ubuntu.sh
sudo bash pterodactyl-ubuntu.sh

2 Complete Panel Setup

Run the environment setup command to configure database, cache, and session settings. Create the first admin user account and configure the Wings node from the admin panel.

# Complete the environment setup
cd /var/www/pterodactyl
php artisan p:environment:setup
php artisan p:environment:database
php artisan migrate --seed --force

# Create admin user
php artisan p:user:make

# Access the panel
http://<your-server-ip>
# Admin area: http://<your-server-ip>/admin

3 Deploy a Game Server

In the admin panel, create a new server. Choose a Nest and Egg (game template like Minecraft, CS2, Valheim), assign resources, and configure port allocations. Wings automatically downloads and installs the game server.

# In the Admin Panel (http://<ip>/admin):
# 1. Nodes → Create Node → configure Wings connection
# 2. Nests → Import Egg (download from pelican-eggs on GitHub)
# 3. Servers → Create Server → choose Egg → set resources
# 4. Wings installs the server automatically

# Install Wings daemon (if not done by installer)
curl -Lo /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
chmod +x /usr/local/bin/wings
wings --config /etc/pterodactyl/config.yml

4 Manage via Dashboard

Each game server gets a dedicated dashboard with start/stop/restart controls, live console, file manager, and schedule management. Sub-users can be added with granular permission control.

# Server management from the web panel:
# Console tab  - live server console output and input
# Files tab    - web-based file manager and editor
# Databases tab - create MySQL databases for game servers
# Schedules tab - automated restarts, backups, and commands
# Users tab    - add sub-users with specific permissions

# Wings service management
systemctl status wings
systemctl restart wings
journalctl -u wings -f   # view Wings logs

Ports Used

PortPurpose
80 / 443 TCPPanel Web UI (HTTP / HTTPS)
2022 TCPWings daemon (Panel communication)
Per-gameIndividual game server port allocations

Overview

Pterodactyl is a free, open-source game server management panel that uses Docker containers to isolate each game server. It provides a web-based control panel for players and admins to start, stop, and manage game servers with resource controls, file managers, and real-time console access.

Why Use It

Pterodactyl is the industry standard for self-hosted game server hosting panels. It provides a clean UI for game server management, Docker-based resource isolation preventing one server from crashing others, and a multi-user system for hosting game servers for a community or customers.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Pterodactyl Panel runs on ports 80 and 443. Wings daemon uses port 8080 for communication. Each game server needs its own ports allocated. Configure a reverse proxy on ports 80 and 443 for the panel. Ensure Wings port 8080 is accessible from the panel if running on separate machines.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    Alternatives include AMP (cubecoders, commercial), GameAP (open source, PHP), and LinuxGSM (command line, no panel). Pterodactyl is the most polished open-source game server panel with the largest Egg library for different games.

                    When Not to Use It

                    Avoid Pterodactyl if you only manage one or two game servers — direct Docker Compose or plain server management is simpler. Also avoid if your hardware has less than 4 GB RAM — the Panel, Wings, MySQL, and game servers together need substantial resources.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      What is the difference between the Panel and Wings?

                      The Panel is the web interface — the user-facing control panel where admins and users manage servers. Wings is the daemon that runs on each server machine and actually starts, stops, and monitors game server Docker containers. The Panel communicates with Wings via API. You can run multiple Wings nodes on different machines all managed from one Panel.

                      What is an Egg in Pterodactyl?

                      An Egg is a JSON configuration template for a specific game server. It defines the Docker image to use, startup command, environment variables, configuration file paths, and install script. Pterodactyl's community has eggs for hundreds of games — Minecraft, Rust, CS2, Palworld, ARK, and more. Import eggs from the community library.

                      Can multiple users manage different servers on the same Pterodactyl installation?

                      Yes — this is a core Pterodactyl feature. Admins create user accounts and assign each user access to specific servers. Users can be given full access or restricted to specific actions (start/stop, file management, console access, etc.). Sub-users can also be invited to specific servers with limited permissions.

                      How does resource isolation work in Pterodactyl?

                      Each game server runs in its own Docker container with CPU, RAM, and disk limits enforced by the Linux kernel cgroups. A server cannot exceed its allocated RAM even if the host has free memory. This prevents one misbehaving game server from consuming all resources and affecting other servers on the same machine.

                      Can I run Pterodactyl on multiple physical servers?

                      Yes — this is the Node and Wings multi-machine design. Install Wings on each additional server and add it as a Node in the Pterodactyl admin panel. Game servers can then be deployed to any available node. This scales to dozens of game server machines all managed from one central Panel.

                      Is Pterodactyl suitable for running a commercial game hosting business?

                      Yes. Many commercial game hosting companies use Pterodactyl as their management panel, sometimes with billing integration via WHMCS or Blesta plugins. The user management, resource allocation, and multi-node architecture are well-suited for hosting environments with paying customers.

                      How do I add a new game that is not in the default Egg library?

                      Download community Eggs from the Pterodactyl Eggs GitHub repository (github.com/pterodactyl/eggs). Import the Egg JSON file via the Admin panel under Nests then Import Egg. Configure the Egg settings and you can create game servers for that game type. You can also create custom Eggs for any Docker-supported application.

                      How do I upgrade Pterodactyl?

                      Follow the official Pterodactyl upgrade guide carefully — it involves pulling new source code, running Composer and npm updates, running database migrations, and restarting the queue workers. For Wings, download the new Wings binary and restart the service. Always back up the database before upgrading either component.