What is Pterodactyl and why we use it

The open-source panel behind your server: how it works, what Wings and eggs are, and what that means for you.

2 min readUpdated 2026-09-14Diese Anleitung auf Deutsch lesen →

The panel you use at panel.penguhost.com is Pterodactyl, an open-source game server management panel (MIT licence) used by many hosts and self-hosters. We chose it because it is battle-tested, free, and because customers who have used another Pterodactyl host feel at home immediately.

How it fits together

  • Panel: the web interface (PHP/Laravel) where you see console, files, backups, subusers. It runs on our management server.
  • Wings: the daemon on each game node (written in Go). It receives orders from the panel (start, stop, back up, upload a file) and executes them.
  • Docker: every game server runs in its own container with its own filesystem, RAM limit and CPU limit. Your server cannot see other customers' servers, and a crash in one does not touch the others.
  • Eggs: the recipes. An egg describes how a game is installed (the install script), how it starts (the startup command) and what variables it has (the ones you see under Startup). Paper, Forge, Fabric, NeoForge, Rust, ARK, Valheim ... each is an egg. We maintain our own copies and adjust them, e.g. the Hytale egg and the NeoForge one.

What we added

Pterodactyl does not know about billing, plans or days; that is our own website and dashboard. We also built the Plugins/Mods and Modpacks tabs in the panel, and Kowalski, the assistant that sits inside the panel and can read your console and files. Everything else (console, SFTP, backups, schedules, subusers, databases) is stock Pterodactyl, which is why guides you find elsewhere for it work here too.

What it means for you

  • You can take your data anywhere: it is plain files in a container, downloadable via SFTP or a backup.
  • Knowledge transfers: if you ever run your own VPS with Pterodactyl, the panel is identical.
  • Limits are enforced by the container, not by trust: an oversold "up to" RAM number is not possible with the way we allocate.