Documentation
Nests and eggs
Eggs describe how to install and start a game. Nests group eggs. Flutter is not a Pterodactyl fork, but it can import their egg JSON.
Nests vs eggs
- Nest — a folder, such as Minecraft or Source. Admin → Nests.
- Egg — Docker image, startup command, stop command, install script, and variables. Lives inside a nest.
When you create a server you pick one egg. The daemon pulls the image, runs the install script once, then starts the process with that egg’s startup command and variables.
Seeded eggs
A new panel inserts these if they are missing (idempotent):
| Nest | Egg | Image | Use |
|---|---|---|---|
| Generic | Sleep | busybox:1.36 | Prove install and power without a game JAR |
| Minecraft | Vanilla | itzg/minecraft-server:java21 | Java Edition. EULA / TYPE / VERSION / MEMORY variables |
Import Pterodactyl / Pelican
Admin → Nests → Eggs → Import. Paste a single egg JSON object (not an array). Flutter unwraps common wrappers (egg, attributes, exported panel payloads) and reads:
- Name
- Docker image (
docker_image,image, or the first entry indocker_images) - Startup command, stop command, install script / image
- Variables
Write your own
Admin → Nests → [nest] → New egg. You need a Docker image the node can pull, a startup command that keeps the process in the foreground, and a stop command the game understands (often stop). Install scripts run in a separate image with the server files mounted at /mnt/server.