Back to blog
PterodactylVPSTutorial

Pterodactyl Panel Setup on VPS: Step-by-Step Guide

· 4 min · By M.A.F Cloud Team

What Is Pterodactyl Panel?

Pterodactyl is a popular open source game server management panel that runs game servers inside Docker containers. Setting it up requires two separate pieces: the web Panel (built on PHP, Nginx, and MariaDB) and Wings (the Go daemon that manages containers on each node).

Here is the complete walkthrough for setting it up on an Ubuntu or Debian VPS, along with the easier path if you want to skip the multi-step install.

System Requirements

Ubuntu 22.04 or 24.04 LTS (Debian 12 also works)

Minimum 1GB RAM for the panel, 2GB or more recommended if running games on the same VPS

Root SSH access

A domain or subdomain pointing to your VPS IP for SSL certificates

Step 1: Install Dependencies

Update your system packages and install the core tools:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl tar unzip git redis-server certbot python3-certbot-nginx

Install PHP and required extensions:

sudo apt install -y php8.2 php8.2-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip}

Install MariaDB and secure it:

sudo apt install -y mariadb-server
sudo mysql_secure_installation

Step 2: Download and Configure the Panel

Create the directory and pull the latest release:

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/

Configure environment, database, and encryption keys:

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:make

Set file permissions for your web server user:

chown -R www-data:www-data /var/www/pterodactyl/*

Step 3: Configure Web Server and SSL

Set up Nginx to serve the panel, then run Certbot to generate a free Let's Encrypt certificate:

sudo certbot --nginx -d panel.yourdomain.com

Enable and start the queue worker using a systemd service file so background tasks like email and server installs run automatically.

Step 4: Install Wings on Your Node

Wings is the daemon that communicates with Docker. Install Docker first:

curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo systemctl enable --now docker

Download Wings:

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

In the Pterodactyl web panel, create a Node, copy the generated configuration YAML into `/etc/pterodactyl/config.yml`, and start Wings:

sudo systemctl enable --now wings

The Faster Alternative: M.A.F Cloud One-Line Agent

Manual Pterodactyl setup takes 30 to 45 minutes and requires maintaining PHP, MariaDB, Nginx, Redis, and Wings yourself. If you want game server containers with a live console, file manager, and auto-restart without running five daemons, M.A.F Cloud installs on any VPS in thirty seconds:

curl -fsSL https://cexi.my.id/agent-install.sh | sudo MAFCLOUD_TOKEN=<token> MAFCLOUD_API=https://cexi.my.id bash

The agent handles container lifecycle, port allocation with TCP and UDP support, live port probes, and crash recovery out of the box. You keep root on your VPS, while the panel runs remotely from mafcloud.my.id. If you prefer pure Pterodactyl slots without any setup at all, M.A.F Cloud also offers private Pterodactyl slots starting from RM2 to RM14.

Port Management and Firewall

Whether you run Pterodactyl or M.A.F Cloud, remember to open the ports you need:

Panel web interface: 80, 443 (TCP)

Wings daemon: 8080 (TCP) and 2022 (SFTP)

Game traffic: 25565 (TCP for Minecraft Java, UDP for Bedrock and Voice plugins)

Using UFW:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 25565/tcp
sudo ufw allow 25565/udp
sudo ufw enable

The Bottom Line

Pterodactyl gives you full control and a massive community of eggs and themes, at the cost of regular maintenance and manual upgrades. If you enjoy sysadmin work, it is a great weekend project. If you just want to run Minecraft and apps on your VPS today, a one-line agent gives you the same container control in under a minute.

Ready to host your own server?

Deploy your first Minecraft or App server in about 30 seconds.