Open-source game server management panel to host dozens of game servers from one dashboard
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/pterodactyl/pterodactyl-ubuntu.sh
chmod +x pterodactyl-ubuntu.sh
sudo bash pterodactyl-ubuntu.sh
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
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
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
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
| Port | Purpose |
|---|---|
| 80 / 443 TCP | Panel Web UI (HTTP / HTTPS) |
| 2022 TCP | Wings daemon (Panel communication) |
| Per-game | Individual game server port allocations |
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.