English
€EUR
Control panels

Pterodactyl Panel

Compatible with the Infrawire installer

Game server management panel with Wings, Docker and Let's Encrypt HTTPS

Minimum requirements
  • 4 GB RAM
Developer
Pterodactyl
Version
Latest stable
License
MIT
Systems
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

About Pterodactyl Panel

Pterodactyl is an open source panel for hosting and managing game servers (Minecraft, Rust, Source engine games, voice servers, bots). Each server runs in its own Docker container, controlled by the Wings daemon, and you manage everything from a web interface: console, files, backups, user accounts and resource limits.

This option installs the panel (PHP, Nginx, MariaDB, Redis), phpMyAdmin, Docker and Wings on a single Linux VPS. The script also creates a location called "main", a node called "Node-1" linked to Wings, and the port allocations 25565 to 25590, so you can create your first server without any extra configuration.

One thing to know before you order: the Let's Encrypt HTTPS certificate requires a domain name. The install script waits for you to set that domain and your email address, and for the DNS A record to point to the server. The procedure is described step by step in the quick start below.

What you can do with Pterodactyl Panel

  • Full-featured web panel

    The panel is served by Nginx and PHP-FPM, with MariaDB as the database and Redis for cache, sessions and the job queue. A systemd service, pteroq, processes the queue in the background.

  • Wings and Docker preinstalled

    Docker and the Wings daemon are installed, and the node configuration is generated by the panel in /etc/pterodactyl/config.yml. Wings starts as a systemd service if that configuration is valid.

  • Local node already created

    A node named Node-1 is registered with about 80% of the RAM and of the disk space on /var, ports 8080 (Wings) and 2022 (SFTP), and the allocations 25565 to 25590.

  • Automatic Let's Encrypt HTTPS

    The certificate is requested with certbot for your domain. A renewal hook reloads Nginx and restarts Wings after each renewal.

  • phpMyAdmin on the same domain

    phpMyAdmin is available under /phpmyadmin, with a dedicated account and a randomly generated password. Handy for inspecting the panel database or the databases of your game servers.

  • Credentials generated at install

    The panel administrator account and the phpMyAdmin account get random passwords, written to /tmp/credentials.txt (mode 600). Panel telemetry is disabled.

Get started with Pterodactyl Panel

From order to production in a few minutes.

  1. 1

    Order the VPS with the application ticked

    Choose a Linux VPS in Paris or Frankfurt, then tick Pterodactyl Panel in the "Applications" tab. Pick Ubuntu 22.04, Ubuntu 24.04 or Debian 12, and 4 GB of RAM if you plan to run game servers.

  2. 2

    Connect and point your domain

    Once the server is delivered, create an A record for your subdomain pointing to SERVER_IP at your registrar (see /web-domains), then open an SSH session.

    Bash
    ssh root@SERVER_IP
  3. 3

    Set your domain and run the installation

    The script /opt/install-pterodactyl.sh stops as long as DOMAIN and LE_EMAIL still hold their example values. Edit them, run the script again, then read your credentials (user admin) and open https://YOUR_DOMAIN. Allow a few minutes, longer if DNS is slow to propagate.

    Bash
    nano /opt/install-pterodactyl.sh bash /opt/install-pterodactyl.sh cat /tmp/credentials.txt
  4. 4

    Secure it before going to production

    Copy /tmp/credentials.txt off the server, change the admin password, then enable a firewall that allows SSH, HTTP(S), Wings (8080), SFTP (2022) and your game ports. Schedule backups of the database and of /var/lib/pterodactyl/volumes.

    Bash
    cp /tmp/credentials.txt /root/credentials.txt apt-get install -y ufw ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp ufw allow 8080/tcp && ufw allow 2022/tcp && ufw allow 25565:25590/tcp ufw enable

Pterodactyl Panel use cases

  • Minecraft server hosting

    Create several isolated servers in containers, with memory and disk limits per server, and give each player or customer restricted access to their own.

  • Gaming community or clan

    Centralise your game servers and Discord bots in a single interface, with subusers who can start, stop or edit files without SSH access.

  • Reselling game servers

    A small business can offer game servers to its customers, each with their own panel account, console and SFTP access.

  • Test bed before a wider rollout

    Try out the panel, eggs and resource limits on a single VPS, then add more Wings nodes or move to a [dedicated gaming server](/serveur-dedie-gaming) when the load calls for it.

Pterodactyl Panel FAQ

Yes. The Let's Encrypt certificate is issued for a domain, and the Wings node is declared with that name. Create an A record pointing to the VPS IP before running the script. You can register a domain on the [domains](/web-domains) page.

More about Pterodactyl Panel

What the script expects from you

The script is launched by cloud-init on first boot. If DOMAIN and LE_EMAIL have not been changed, it prints a message and stops without installing anything beyond the base packages. You then just edit the file and run it again with bash /opt/install-pterodactyl.sh.

Once it runs, it waits up to about 10 minutes for your domain's DNS to resolve to the server's public IP, then tries five times to obtain the certificate. Port 80 must therefore be reachable. The script also requires PHP 8.1 or later: it is designed for Ubuntu 22.04, Ubuntu 24.04 and Debian 12. On any other version, it stops if PHP is too old.

It is written for a fresh server. Avoid running it again on a machine where the panel has already been installed successfully.

Where things are

  • Panel: /var/www/pterodactyl (the .env configuration file is at the root)
  • Nginx configuration: /etc/nginx/sites-available/pterodactyl.conf
  • Wings configuration: /etc/pterodactyl/config.yml
  • Game server data: /var/lib/pterodactyl/volumes
  • Services: pteroq, wings, nginx, mariadb, redis-server, docker

The file /tmp/credentials.txt may disappear after a reboot, since /tmp is sometimes cleared. Copy it as soon as you first log in.

Backups

Three things matter: the panel's MariaDB database (named panel), the panel's .env file (it holds the application key) and the game volumes folder. A daily mysqldump and a copy of these paths to external storage cover most of what you need.

Bash
mysqldump panel > /root/panel-$(date +%F).sql cp /var/www/pterodactyl/.env /root/pterodactyl.env

phpMyAdmin and firewall

The pma_admin account has all privileges on MariaDB. If you do not need phpMyAdmin all the time, restrict access by IP in the Nginx configuration or remove the link /var/www/pterodactyl/public/phpmyadmin.

Game ports published by Docker can bypass ufw rules. Check from the outside afterwards which ports actually respond. For protection against volumetric attacks, see the anti-DDoS VPS offer.

Stay up to date with the latest offers, discounts and special promotions.

View promotions

We use cookies

We use analytics cookies to improve your experience on our site. No data is sold to third parties. Learn more in our privacy policy.