Pterodactyl vs Pelican Panel 2026: Differences, Migration and Features

Published on | Updated

Pterodactyl vs Pelican panel compared: features, development status, migration path, eggs, themes, and which game server panel to choose in 2026.

A pile of Minecraft blocks in many colours

Pterodactyl and Pelican are both open source game server management panels. Pelican started as a fork of Pterodactyl and is now a separate project with its own team. Pterodactyl is still developed too: 1.x is its stable line, and Pterodactyl 2.0 has been in open beta since 14 October 2026. Versions and status in this article were checked on 29 October 2026 on both projects' sites and GitHub release pages.

Quick Comparison

FeaturePterodactylPelican
StatusStable 1.x (1.15.2, 21 October 2026), 2.0 in open beta1.0 release candidate (1.0.0-rc.2, 22 October 2026)
LicenceMIT (Panel and Wings)AGPLv3 (Panel), MIT (Wings)
LanguagePHP (Laravel)PHP (Laravel)
Node agentWingsWings (compatible)
DockerRequiredRequired
EggsLarge ecosystemCompatible with Pterodactyl eggs
ThemesBlueprint or custom CSS on 1.x, built-in themes and extensions in the 2.0 betaPlugin system with themes
APIFull REST APIFull REST API
DatabaseMySQL or MariaDBSQLite, MySQL, MariaDB or PostgreSQL
CommunityVery largeGrowing
New featuresYes, in the 2.0 beta (extensions, themes, egg catalog, tags)Yes

Why Pelican Exists

Pelican's team forked Pterodactyl over what Pelican's FAQ calls a "difference of visions, directions, and opinions". They rebuilt the admin and client areas in Filament on modern Laravel and added a plugin system, admin roles and more database choices (Pelican comparison page). Pterodactyl did not stop: 1.x still gets releases, such as the 1.15.2 security release on 21 October 2026, and the 2.0 open beta adds extensions, themes, an egg catalog and tags. Its release notes say to try 2.0 on a test panel first and keep production panels on 1.x for now.

Two points are often mixed up:

Licensing. Pterodactyl is MIT licensed, for the Panel and for Wings, on both the 1.x and 2.0 branches. Pelican is the project that changed licence: when it forked, it relicensed its Panel from MIT to AGPLv3, while Pelican Wings stays MIT. Under Pelican's AGPLv3, a host that changes the Panel's source files, keeps those changes closed and runs the panel publicly has to open source the changes or buy a commercial licence. Plugins and themes do not count as changes to the Panel. So if your business depends on closed modifications to the panel code, the licence points to Pterodactyl, not away from it.

Security. In June 2025 Pterodactyl fixed a critical flaw, CVE-2025-49132, in its /locales/locale.json endpoint. It let anyone run code on the panel's server without logging in, and from there read the .env file, the database and the files of the servers the panel manages. The fix shipped in 1.11.11, so any older panel needs an update. Both projects publish security advisories on GitHub, and both shipped serious fixes in 2026, including two remote code execution fixes in Pelican's beta33 and beta35. Whichever panel you run, stay on the latest release: Pelican only supports its newest release and does not backport fixes (Pelican versioning).

Should You Migrate?

New installations: Both panels are actively developed. Pterodactyl 1.15 is the stable choice today, and its 2.0 beta is meant for test panels for now. Pelican is at the 1.0 release candidate stage and already ships plugins, admin roles, passkeys and SQLite or PostgreSQL support. Pick Pelican for those features if its AGPLv3 terms suit you, and Pterodactyl for the MIT licence and its stable 1.x line.

Existing Pterodactyl: No urgency. Pterodactyl 1.x still works and still gets releases, including security fixes. Check your themes and panel modifications before you switch: they do not carry over to Pelican, so each one needs a Pelican plugin instead.

Migration Path

Pelican's migration guide upgrades your Pterodactyl database in place. Users, servers, nodes, eggs, databases, backups, schedules, subusers and API keys carry over, and game servers keep running with their files. You need Pterodactyl 1.11.4 or newer and PHP 8.4 or newer.

  1. Back up your database, /var/www/pterodactyl and /etc/pterodactyl. The migration changes the database and cannot be undone.
  2. Download the migration script and run its checks. They change nothing and tell you what to fix first.
  3. Run the migration. It installs Pelican in /var/www/pelican, copies your .env, upgrades the database and sets up the queue worker and cron job. Then point your web server at /var/www/pelican/public and disable the Pterodactyl site.
  4. Run the Wings script on every node. It swaps in Pelican Wings and keeps your existing config and server files.
# on the panel server
curl -fsSLo migrate-panel.sh https://pelican.dev/migrate-panel.sh
sudo bash migrate-panel.sh --check
sudo bash migrate-panel.sh

# on every node
curl -fsSLo migrate-wings.sh https://pelican.dev/migrate-wings.sh
sudo bash migrate-wings.sh

Nests and locations become tags, and old ptla_ and ptlc_ API keys keep working. The nests and locations API endpoints are gone, so check your billing module before you switch. Eggs carry over, and Pelican says the original Pterodactyl eggs will keep working.

Staying on Pterodactyl? Its 1.x to 2.0 upgrade is a separate path. It needs Panel 1.12.0 or newer and PHP 8.3 or newer, installs 2.0 in a new directory next to 1.x, and also replaces nests with tags. 2.0 removes the Application API's nest endpoints, so update your billing module first. The guide says to test the upgrade on a copy of your panel, and our Pterodactyl 2.0 beta guide shows how to do that on a separate VPS.

Installing Pelican Panel on a VPS

If you are starting fresh, here is a walkthrough for deploying Pelican on a Linux VPS with the panel behind a Cloudflare Tunnel, based on Pelican's own Docker, Cloudflare Tunnel and Wings guides. The tunnel serves the panel over HTTPS without opening an inbound port for it. It does not hide the whole server: Wings needs its own reachable hostname, and SFTP and the game ports are still reached on the VPS's own IP.

Prerequisites

  1. A fresh Linux VPS running Ubuntu 22.04 or 24.04.
  2. A domain name connected to a free Cloudflare account.
  3. SSH access to your server.

For the VPS itself, our Premium VPS is KVM with full root access and Linux images including Ubuntu, on a Ryzen 9 9950X with DDR5 in an EU data center, with shared vCores and dedicated RAM.

Step 1: Prepare the Environment

Connect to your VPS via SSH as the root user and update the system:

apt update -y && apt upgrade -y

Install dependencies:

apt install -y curl wget git unzip tar

Step 2: Install Docker

Pelican's docs offer two ways to install the panel: natively, with PHP 8.4 or 8.5 and a web server, or with its Docker image. The Cloudflare Tunnel guide builds on the Docker image, so that is the route here. Pelican's Docker page still calls Docker deployment a work in progress and recommends the native install for now, so read both before you choose.

Install Docker CE:

curl -sSL https://get.docker.com/ | CHANNEL=stable sh

Pelican also supports SQLite, and the Docker image uses it by default, so smaller deployments can skip MariaDB entirely.

Step 3: Set Up a Cloudflare Tunnel

Instead of opening ports and managing SSL certificates with Certbot, route the panel's traffic through a Cloudflare Tunnel:

  1. Open the Cloudflare dashboard and go to Networking > Tunnels (Networks > Tunnels in the older Zero Trust dashboard).
  2. Click Create a tunnel, select Cloudflared and name the tunnel (for example, "pelican").
  3. On the install screen, copy only the token, the long string after --token. You do not install cloudflared on the VPS itself: Docker runs it next to the panel.
  4. Under Routes, add a Published application (a public hostname in older dashboards): set the subdomain (panel) and your domain (yourdomain.com), the Service type to HTTP and the URL to panel:80, which is the panel container's name and port.

On the VPS, create a folder with a .env file that holds the token:

mkdir -p /opt/pelican && cd /opt/pelican
echo "TUNNEL_TOKEN=paste-your-tunnel-token-here" > .env

Then create compose.yml next to it. This is the file from Pelican's tunnel guide, with your hostname and email filled in:

services:
  panel:
    image: ghcr.io/pelican/panel:latest
    restart: always
    networks:
      - default
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - pelican-data:/pelican-data
      - pelican-logs:/var/www/html/storage/logs
    environment:
      XDG_DATA_HOME: /pelican-data
      APP_URL: "https://panel.yourdomain.com"
      ADMIN_EMAIL: "you@yourdomain.com"
      BEHIND_PROXY: "true"
      TRUSTED_PROXIES: "172.20.0.0/16"
  cloudflared:
    image: cloudflare/cloudflared:latest
    restart: always
    networks:
      - default
    command: tunnel --no-autoupdate run
    environment:
      TUNNEL_TOKEN: ${TUNNEL_TOKEN}

volumes:
  pelican-data:
  pelican-logs:

networks:
  default:
    ipam:
      config:
        - subnet: 172.20.0.0/16

Start it, check the tunnel and save the encryption key the panel generates on its first start:

docker compose up -d
docker compose logs cloudflared
docker compose logs panel | grep 'Generated app key:'

The cloudflared log should show Registered tunnel connection. Keep a copy of the app key somewhere other than the VPS: without it, the encrypted data in the panel cannot be read. Then open https://panel.yourdomain.com/installer to finish the setup, including your admin account.

Cloudflare now handles SSL for the panel, and no inbound port is open for it.

Step 4: Configure and Start Wings

Wings is the daemon that talks to Docker and physically creates game server containers. Each container gets its own isolated resources, so one server cannot consume memory or CPU allocated to another.

  1. Download Pelican Wings on the VPS:
mkdir -p /etc/pelican /var/run/wings
curl -L -o /usr/local/bin/wings "https://github.com/pelican/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
chmod u+x /usr/local/bin/wings
  1. Log into your Pelican Panel in a browser and open the admin area.
  2. Go to Nodes and click Create New. Pelican has no Locations: it groups nodes and eggs with tags instead.
  3. Give the node its own hostname, for example node1.yourdomain.com. Wings cannot share the panel's tunnel hostname, because the browser opens the console connection straight to Wings. Pelican's tunnel guide gives two options: expose Wings directly, or route a second tunnel hostname to Wings on port 8080 and choose HTTPS with (reverse) proxy when you create the node. If you expose Wings directly, it needs its own SSL certificate, because Pelican's Wings guide says Wings must use SSL when the panel does. If Wings goes through Cloudflare, uploads larger than 100 MB fail on the Free and Pro plans.
  4. Open the node's Configuration tab, copy the generated config and save it as /etc/pelican/config.yml on your VPS, or use the Auto Deploy Command button.
  5. Run wings --debug once to check for errors, stop it with CTRL+C, and save the wings.service unit from Pelican's Installing Wings page in /etc/systemd/system/.

Start the service:

systemctl enable --now wings

SFTP (port 2022 by default) and the game ports do not pass through an HTTP tunnel, so open them in the VPS firewall. Your panel is now live and managing game servers through Docker.

FAQ

Is Pterodactyl dead? No. The 1.x line is stable and still gets releases (1.15.2 came out on 21 October 2026), and Pterodactyl 2.0 has been in open beta since 14 October 2026 with extensions, themes and an egg catalog.

Is Pelican better than Pterodactyl? It depends on what you need. Pelican already has plugins, admin roles, passkeys and a choice of SQLite, MySQL, MariaDB or PostgreSQL, but it is still at the release candidate stage and its Panel is AGPLv3. Pterodactyl 1.x is the MIT licensed stable line, and its 2.0 beta adds extensions and themes.

Which licence does each panel use? Pterodactyl is MIT licensed. Pelican's Panel is AGPLv3 and Pelican Wings is MIT.

Can I use Pterodactyl eggs in Pelican? Yes. Most Pterodactyl eggs work in Pelican.

Do I need to migrate right now? No. Migrate when convenient.

Related: Pelican panel guide, Pterodactyl themes guide, Pterodactyl VPS setup