Pterodactyl is a free, open-source game server panel. The Panel is the web interface; Wings is the daemon that runs game servers in Docker containers. Both can live on the same server for small setups.
Prefer a ready-made option? RMDHost game server plans include a game control panel, so you can skip this setup.
Requirements
- Ubuntu 22.04 or 24.04 on a KVM VPS or dedicated server
- 4 GB RAM or more (Minecraft itself needs 2–4 GB for a small world)
- Two subdomains, for example
panel.example.comandnode.example.com
1. Install the Panel
Follow the official installation guide at pterodactyl.io – it installs PHP 8.3, MariaDB, Redis, Composer and Nginx, then downloads the panel to /var/www/pterodactyl. Key commands:
cd /var/www/pterodactyl
php artisan p:environment:setup
php artisan p:environment:database
php artisan migrate --seed --force
php artisan p:user:make
Add the queue worker service and the scheduler cron job described in the guide, and secure the panel with a Let’s Encrypt certificate.
2. Install Wings
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings
3. Create a node and connect Wings
- In the panel go to Admin → Locations and create a location.
- Go to Nodes → Create New, enter
node.example.comand the memory and disk you want to allocate. - Open the node’s Configuration tab, copy the generated config to
/etc/pterodactyl/config.yml. - Start Wings as a systemd service (
wings.servicein the docs) and check the node shows a green heart.
4. Create a Minecraft server
- Under Nodes → Allocation, add your IP and port
25565. - Go to Servers → Create New, pick the Minecraft → Paper egg, set 3072 MB memory and start the server.
- Accept the EULA in the console and connect from Minecraft using your server’s IP.
Firewall
sudo ufw allow 22,80,443,8080,2022/tcp
sudo ufw allow 25565
