All posts

Pterodactyl vs Pelican vs AMP vs Crafty in 2026

Four game panels pinned: Pterodactyl 1.15.2, Pelican rc.2, AMP's resale rule, Crafty 4.11. Pick by licence, daemon, and games.

Written by NodeRings Inc.

NodeRings Inc. writes these notes. The company runs the marketplace and the agent that stays on the provider’s side of the hypervisor.

Pterodactyl, Pelican, AMP, and Crafty put a browser in front of game processes. Billing, marketplace listings, and multi-host catalogs stay outside that job. Wings needs Docker on a real VM or bare metal. Crafty will run your Minecraft jars until the second title is Rust-class SteamCMD pain. The licence trap is AMP: Standard, Professional, and Advanced are personal; commercial reselling wants Enterprise.

This lab pinned live release tags and star counts, then brought three stacks onto one Ubuntu 24.04 Proxmox guest (4 GiB RAM): Crafty Controller v4.11.0 in Docker in about 70 seconds to a login page on :8443, Pelican v1.0.0-rc.2 (ghcr.io/pelican/panel) in about 322 seconds for pull plus first up, and Pterodactyl panel v1.15.2 with MariaDB and Redis on :8082. AMP was probed with GetAMP 4.2.0 and the cubecoders/ampbase image, which refuses to start without ampinstmgr.

PanelLicence / stickerCap (editions sheet)Version pinned hereStars (writing day)Resell the panel?
Pterodactyl 1.xMIT, freeUnlimited (your hardware)v1.15.29,470Yes (you host it)
Pterodactyl 2MIT, freeBetav2.0.0-beta.2(same repo)Label only; not production
PelicanFree / openUnlimited (your hardware)v1.0.0-rc.22,423Yes, still an RC
AMP Standard~$10 one-time5 instances, 3 usersGetAMP 4.2.0 / ampbasen/aNo
AMP Professional~$3015 instances(editions sheet)n/aNo
AMP Advanced~$4050 instances(editions sheet)n/aNo
AMP EnterpriseVariable subscriptionSold by instance count(commercial)n/aYes
Crafty 4GPLv3, freePractical Minecraft focusv4.11.0256 (GitLab)Yes (you host it)

CubeCoders' Terms of Sale say AMP Standard, Professional, and Advanced may not be used for commercial server reselling. Enterprise is the commercial path. Monetising a game you run inside AMP is allowed; selling AMP-preinstalled servers to customers is the line.

What each daemon looks like

Pterodactyl and Pelican split panel (Laravel UI + API) from Wings (node agent). Wings expects Docker on a real VM or bare metal. Nested LXC with Docker is a support ticket waiting to happen.

AMP is one installer (getamp.sh) that drops ampinstmgr and instances. The Docker base image prints that it must be started by ampinstmgr, which matches CubeCoders' model.

Crafty is a Python web app (official image registry.gitlab.com/crafty-controller/crafty-4). This guest's compose was:

services:
  crafty:
    image: registry.gitlab.com/crafty-controller/crafty-4:latest
    container_name: crafty_4
    restart: unless-stopped
    ports:
      - "8443:8443"
      - "8123:8123"
      - "19132:19132/udp"
    volumes:
      - ./crafty_data:/crafty/app/config
      - ./servers:/crafty/servers
      - ./backups:/crafty/backups
      - ./logs:/crafty/logs

Boot banner: Welcome to Crafty Controller - v.4.11.0. The image ships SteamCMD dependencies; Minecraft and (since 4.9) Hytale are the sweet spot. SteamCMD for arbitrary titles is still experimental since 4.10.0.

Crafty Controller login page on HTTPS port 8443 after a fresh Docker install.
Crafty 4.11.0 login after docker compose up. About 70 seconds on this guest.

Install notes from this guest

Crafty

mkdir -p ~/panels/crafty && cd ~/panels/crafty
# compose file as above
docker compose pull && docker compose up -d
# UI: https://SERVER:8443

Pelican (image pin v1.0.0-rc.2)

mkdir -p ~/panels/pelican && cd ~/panels/pelican
# compose service image: ghcr.io/pelican/panel:v1.0.0-rc.2
# published on host port 8081 in this lab
docker compose pull && docker compose up -d
docker inspect pelican-panel-1 \
  --format '{{index .Config.Labels "org.opencontainers.image.version"}}'
# v1.0.0-rc.2

Pterodactyl panel (image pin v1.15.2, MariaDB + Redis beside it)

mkdir -p ~/panels/ptero && cd ~/panels/ptero
# panel image: ghcr.io/pterodactyl/panel:v1.15.2
docker compose pull && docker compose up -d
docker inspect ptero-panel-1 --format '{{.Config.Image}}'
# ghcr.io/pterodactyl/panel:v1.15.2

A full production Pterodactyl still needs Wings on each game node, allocations, and SSL. The panel + Wings install post walks that path. This comparison only needed a version-visible panel container.

AMP

bash <(curl -fsSL https://getamp.sh) display | head
# GETAMP_VERSION="4.2.0"
docker pull cubecoders/ampbase:latest
docker run --rm cubecoders/ampbase:latest
# must be started by ampinstmgr
Terminal freeze showing Pterodactyl panel image ghcr.io/pterodactyl/panel:v1.15.2 running with MariaDB and Redis.
Pterodactyl panel v1.15.2 image on the lab guest.
Terminal freeze showing Pelican panel image ghcr.io/pelican/panel:v1.0.0-rc.2 and OCI version label.
Pelican v1.0.0-rc.2. Release candidate, real pace, not a finished 1.0.
Terminal freeze of GetAMP 4.2.0 and cubecoders/ampbase requiring ampinstmgr, plus resale licence note.
AMP installs through GetAMP. The base image will not run alone.

Production vs beta vs RC

Keep production fleets on Pterodactyl 1.15.2 until 2.0 is a stable tag. v2.0.0-beta.2 is for people who want to break eggs on purpose. Pelican's commit velocity is why people look; v1.0.0-rc.2 is still an RC, so a new host's first egg import stays a test before any cutover.

The architecture split is the decision, not the logo. Pterodactyl and Pelican are a Laravel panel plus a Go Wings daemon: every game server is its own Docker container from an egg. Crafty is one Python app that starts Minecraft (and now Hytale) as subprocesses it owns, often all inside a single Crafty container. AMP is closed-source CubeCoders software with a large built-in game list, Windows or Linux, Docker optional, and a licence that scales with instances past the free tier. Starting fresh with multi-game ambitions, Pelican is where new energy is going while eggs stay compatible. Already deep in a stable Pterodactyl egg set with nothing broken, staying put is still rational until you need a feature only the fork ships.

Crafty stays the right answer for a handful of Minecraft (and now Hytale) instances when you do not want Wings. The day the catalog includes Rust, Valheim, and CS2 side by side, you graduate to Pterodactyl/Pelican eggs or AMP's instance list.

What none of them are

None of the four is Stripe Connect, a marketplace, or a multi-host customer catalog. AMP Enterprise gets you further on customer-facing instances. A host who already runs Pterodactyl can connect it to NodeRings (quick start) so buyers use the NodeRings game UI and never see a Wings URL. That split is why hosts hesitate to hand over an Application API key.

Three columns: daemon ownership, panel login, and billing/store which none of the four panels provide alone.
Daemon, login, and billing are three jobs. The panels cover the first two at most.
NodeRings create game server page in the customer UI.
Customer create-game surface when the host's Pterodactyl is wired to NodeRings.
Skip thisBetter read
AMP Standard to resell game serversEnterprise licence, or self-host Pterodactyl/Pelican
Pelican RC as the only panel for paying clientsHomelab first; keep a 1.15.2 fallback
Crafty for a twelve-game SteamCMD catalogEggs / AMP instances
Wings inside privileged LXC "because Docker works"KVM or bare metal for the node
Expecting any panel to bill customersSeparate billing or a marketplace

FAQ

Is Pelican a drop-in for Pterodactyl?

Close cousin with migration work. Eggs and API habits transfer with effort. Pin an RC, import one egg, write down what breaks, then decide.

Does AMP 3 change the resale rule?

Licencing posts for AMP 3 talk about feature gating across Standard/Pro/Advanced. Commercial reselling still points at Enterprise in CubeCoders' terms. Re-read the terms the week you buy.

Can I run Wings without Docker?

Not in the supported path. Docker is the isolation model Wings expects.

Where do stars sit relative to Supercraft's October table?

Supercraft on 4 Oct 2026 listed Pterodactyl 9,286, Pelican 2,339, Crafty 253. This writing day: GitHub Pterodactyl 9,470, Pelican 2,423, Crafty GitLab 256. Same order, slightly higher counts.