What Is Pterodactyl?
Pterodactyl is an open-source game server management panel built with PHP, React, and Go. It provides a web-based interface to create, manage, and monitor game servers with user isolation through Docker containers.
Requirements
- A Breeze with at least 4 GB RAM
- Ubuntu 22.04
- A domain name pointing to your server
Step 1: Install Dependencies
sudo apt update
sudo apt install -y php8.2 php8.2-{cli,common,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} \
nginx mariadb-server redis-server curl tar unzip git composerStep 2: Install the Panel
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/Step 3: Set Up the Database
sudo mysql -u root -e "CREATE DATABASE panel;
CREATE USER 'pterodactyl'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL ON panel.* TO 'pterodactyl'@'localhost';
FLUSH PRIVILEGES;"Step 4: Configure the Panel
cp .env.example .env
composer install --no-dev --optimize-autoloader
php artisan key:generate --force
php artisan p:environment:setup
php artisan p:environment:database
php artisan migrate --seed --force
php artisan p:user:makeStep 5: Set Up the Web Server
Configure Nginx with SSL (use Certbot for Let's Encrypt):
sudo certbot --nginx -d panel.yourdomain.comStep 6: Install Wings (Node Daemon)
Wings runs on each game server node and manages Docker containers:
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
chmod u+x /usr/local/bin/wingsStep 7: Configure Wings
In the Pterodactyl panel, go to Admin → Nodes → Create Node, then copy the configuration YAML into /etc/pterodactyl/config.yml.
Step 8: Start Wings
sudo tee /etc/systemd/system/wings.service <<EOF
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
[Service]
ExecStart=/usr/local/bin/wings
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now wingsCreating a Game Server
- Go to Admin → Servers → Create Server
- Select the game egg (Minecraft, CS2, Valheim, etc.)
- Assign resources (CPU, RAM, disk)
- The server is created in a Docker container with full isolation