Pterodactyl is a free, open-source game server management panel built on PHP, React, and Go. It runs all game servers inside isolated Docker containers while providing a clean web interface for console access, file management, and server administration.
Prerequisites
Before starting, ensure you have:
- An Ubuntu 22.04 or 24.04 LTS KVM VPS (like HeavenCloud India or US VPS with root access)
- At least 2 GB RAM (4 GB+ recommended for running games alongside the panel)
- A domain or subdomain pointed to your server's public IPv4
- Ports
80,443, and8080open
Step 1: Server Preparation
First, update your package list and install basic utilities:
bashsudo apt update && sudo apt upgrade -y sudo apt install -y curl tar unzip git redis-server software-properties-common
Step 2: Install PHP & Dependencies
Pterodactyl requires PHP 8.2 or 8.3 along with several extensions:
bashsudo add-apt-repository -y ppa:ondrej/php sudo apt update sudo apt install -y php8.2 php8.2-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip}
Install Composer globally:
bashcurl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Step 3: Configure MySQL / MariaDB
Install MariaDB server:
bashsudo apt install -y mariadb-server sudo mysql_secure_installation
Create the database and a dedicated user:
sqlCREATE DATABASE pterodactyl; CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON pterodactyl.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Step 4: Download and Install Pterodactyl Panel
Create the web root directory and extract the latest release:
bashmkdir -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/
Copy the environment file and install dependencies:
bashcp .env.example .env composer install --no-dev --optimize-autoloader php artisan key:generate --force
Configure your database and mail settings:
bashphp artisan p:environment:setup php artisan p:environment:database php artisan migrate --seed --force php artisan p:user:make
Set web server permissions:
bashchown -R www-data:www-data /var/www/pterodactyl/*
Step 5: Configure Nginx & SSL
Install Nginx and Certbot for Let's Encrypt SSL:
bashsudo apt install -y nginx certbot python3-certbot-nginx sudo certbot certonly --nginx -d panel.yourdomain.com
Configure the Nginx virtual host at /etc/nginx/sites-available/pterodactyl.conf and restart Nginx:
bashsudo systemctl restart nginx
Step 6: Install and Configure Wings
Pterodactyl Wings is the backend daemon written in Go that connects with Docker to manage individual server instances.
Install Docker:
bashcurl -sSL https://get.docker.com/ | CHANNEL=stable bash sudo systemctl enable --now docker
Install Wings:
bashsudo 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/wings
Generate your node configuration in the Pterodactyl admin area, paste the generated YAML into /etc/pterodactyl/config.yml, and start Wings:
bashsudo systemctl enable --now wings
Summary
You now have a fully functional Pterodactyl Panel and Wings node ready to deploy Minecraft, Discord bots, Lavalink, and custom game daemons.
For pre-configured, DDoS-protected game hosting with 0 manual installation hassle, check out HeavenCloud Game Hosting.