Pterodactyl Panel: One-Click Game Servers on Your VPS

You can install a pterodactyl panel with Wings, create your first game egg, enable SFTP and apply basic security on a clean Ryzen VPS so you end up with a managed game-server interface instead of raw Linux. Pterodactyl is the open-source panel that lets you start, stop and manage game instances through a web UI while each server runs inside its own Docker container. This guide covers the practical path most operators follow for a single-node setup.
What a Pterodactyl Panel Actually Does
Pterodactyl has two main parts. The Panel is the PHP and React web interface you log into. Wings is the Go daemon that talks to Docker, applies resource limits and provides the built-in SFTP server.
Game servers run inside isolated Docker containers. This separates processes and dependencies and lets you set memory, CPU and disk limits per server. Containers reduce interference, but they are not an absolute security boundary. Proper host hardening, resource limits and regular updates remain important.
Eggs define the Docker image, startup command and variables for a given game. The database seed that runs during Panel installation loads the default Nests and Eggs. Pterodactyl supports a wide range of games through its built-in and community-maintained Eggs, including Minecraft, Rust, Terraria, ARK and FiveM.
Illustrative VPS Sizing
These figures are starting points only, not official Pterodactyl requirements. Real needs depend on the game, player count, mods or plugins, and how many servers you run on the same node.
| Use case | RAM | vCPU | Notes |
|---|---|---|---|
| Panel only (minimal) | 2 GB | 1 | Not useful for real games |
| Panel + Wings, light games | 4 GB | 2 | Vanilla Minecraft, small bots |
| Panel + Wings, modded / multi | 8 GB+ | 4 | Modded MC, FiveM, concurrent |
What You Need Before Starting
- Fresh Ubuntu 22.04 or 24.04
- Root SSH access
- Domain A-record pointing at the VPS (for SSL)
- Docker support. KVM is the safest virtualization type. OpenVZ and LXC environments often cannot run Wings unless the provider has enabled the necessary nested-virtualization support. A quick check with systemd-detect-virt helps, but modified kernels can still cause Docker problems.
Official software dependencies for the current Panel: PHP 8.2 or 8.3 (8.3 preferred) with the listed extensions, MariaDB 10.2+ or MySQL 5.7.22+, Redis, a web server (Nginx, Apache or Caddy), Composer 2. Wings requires Docker; the official documentation recommends installing Docker CE from the stable channel.
Community Installer (Optional)
Many operators use the community one-liner:
Bash
bash <(curl -s https://pterodactyl-installer.se)The script asks whether you want the Panel, Wings, or both. Select the option that installs both on the same machine when prompted. It is unofficial and not affiliated with the Pterodactyl project, so treat it as a convenience tool and still review the official documentation afterwards.
Official Panel Installation Outline
- Install the required packages (PHP 8.3 + extensions, MariaDB, Nginx, Redis, etc.).
- Create /var/www/pterodactyl, download the latest Panel release and extract it.
- Create the database and user, copy .env.example to .env, run Composer and generate the application key.
- Run the environment, database and mail setup commands.
- Migrate and seed: php artisan migrate –seed –force.
- Create the first admin user: php artisan p:user:make.
- Set correct ownership for the web-server user.
- Configure the queue worker (systemd) and the every-minute cron job.
- Configure the web server and obtain a Let’s Encrypt certificate.
Full command lists live in the official Getting Started guide. After the Panel is online, create a Location and a Node, then copy the generated configuration for Wings.
Installing and Linking Wings
Bash
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
systemctl enable --now docker
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")"
chmod u+x /usr/local/bin/wingsPaste the node configuration from the Panel into /etc/pterodactyl/config.yml and start Wings with systemd.
Wings normally uses port 8080 for HTTP or 8443 for HTTPS, while SFTP uses 2022. Exact ports depend on your configuration. Game ports are separate allocations you create later in the Panel.
Important: If the Panel uses HTTPS, Wings must also have a valid SSL certificate for its node FQDN so the two can communicate correctly.
First Egg and Server
In the Panel go to Nests, pick the relevant nest, then create a server on your node. Choose the egg, set memory/CPU/disk limits and assign at least one allocation (IP + port).
The first start pulls the Docker image defined by the egg and runs its install script. After that you have a live console, file manager and the ability to create schedules or databases. Resource sizing still follows the game’s actual needs, not the egg defaults.
Backups and SFTP
Wings exposes an SFTP server (default port 2022). Use any modern SFTP client with the credentials shown on the server page.
Keep the APP_KEY from the Panel .env file in a safe offline location. Losing it makes encrypted data unrecoverable even with full database backups.
Security Basics That Matter
- Disable SSH password authentication where practical, use SSH keys, restrict SSH access where possible, and consider Fail2Ban. Changing the SSH port can reduce automated scanning noise but should not be treated as a security boundary.
- Keep a firewall enabled and open only the ports you need (80/443 for the Panel, the Wings ports, plus game allocations).
- Run the Panel behind HTTPS only.
- Limit admin accounts and enable 2FA where available.
- Keep the host, Docker, Panel and Wings updated.
These steps reduce several common attack and misconfiguration risks. They do not replace regular patching, monitoring, backups and application-specific security.
Why Rabisu for This Setup
A Ryzen-based VPS with full root access and Docker support gives you the control needed to run a pterodactyl panel and Wings yourself. Many game workloads benefit from strong per-core performance. Rabisu currently includes daily backups and two backup points with its VPS plans. Rabisu notes that its complimentary backup service does not guarantee full data recovery, so production operators should maintain an additional independent backup strategy. Global locations let you place the node closer to your players (actual latency still depends on the network path).
Useful starting points:
- Game server hosting
- VPS product pages for the hardware this guide assumes
- The upcoming FiveM guide for deeper RP notes
Quick Answers
On a prepared Ubuntu VPS with DNS already configured, an experienced Linux administrator can often complete a basic Panel + Wings setup in under an hour. First-time installations can take considerably longer depending on DNS, SSL, Docker image pulls and game-server configuration.
Yes. It is a common single-server setup for communities and small hosts. Separate nodes become useful when you scale beyond one machine or want stronger isolation.
It depends on the provider. OpenVZ and LXC environments commonly have Docker limitations. KVM is the safer choice for Wings.
Each Egg specifies the Docker image it uses. Images may come from Pterodactyl’s maintained collections or from community and project-specific registries.
It is widely used and actively maintained, but it is unofficial. Review what it changes, keep your own configuration backups, and cross-check against the official documentation.
You now have a working pterodactyl panel on hardware you control. Start with one server, learn the console and file manager, then add more eggs as your community grows.
References
- Pterodactyl Panel – Getting Started: https://pterodactyl.io/panel/1.0/getting_started.html
- Pterodactyl Wings – Installing: https://pterodactyl.io/wings/1.0/installing.html
- Pterodactyl Project: https://pterodactyl.io/
- Pterodactyl Documentation (GitHub): https://github.com/pterodactyl/documentation
- Community Installer (unofficial): https://pterodactyl-installer.se