Pterodactyl Eggs Guide 2026: Install, Create and Use Custom Eggs
A Pterodactyl egg is a JSON file that tells the panel how to install, configure, and start a game server. When you create a new server on a Pterodactyl panel, you pick an egg - it handles the installation automatically.
What Are Pterodactyl Eggs?
Each egg is a template for a specific server type. The default Pterodactyl installation ships with eggs for Minecraft Java (Paper, Forge, Fabric), Minecraft Bedrock, Counter-Strike, Rust, Valheim, ARK, FiveM, and Discord bots. Community-maintained eggs extend this to hundreds more games.
Where to Find Community Pterodactyl Eggs
The most popular source is the Pterodactyl Community Eggs GitHub repository:
https://github.com/pterodactyl-community/community-eggs
This includes eggs for Palworld, Stardew Valley, DayZ, 7 Days to Die, Terraria, Factorio, and hundreds more. Each egg is a .json file you import directly into the admin panel.
How to Install a Community Egg
- Download the
.jsonfile from the community eggs repo - Open your Pterodactyl admin panel and go to Nests
- Select an existing nest or create a new one
- Click Import Egg and upload the
.jsonfile - The egg is now available when creating new servers
Egg Structure Explained
A Pterodactyl egg contains these main sections:
{
"name": "Minecraft Paper",
"docker_images": {
"Java 21": "ghcr.io/pterodactyl/yolks:java_21"
},
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}",
"scripts": {
"installation": {
"script": "#!/bin/bash\n...",
"container": "ghcr.io/pterodactyl/installers:alpine"
}
},
"variables": [
{
"name": "Server Jar File",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true
}
]
}
Key fields:
startup- the command to start the servervariables- environment variables users can configure in the Startup tabscripts.installation- bash script that runs when a server is first createddocker_images- Docker container image(s) available for this egg
Creating a Custom Egg
- Plan the startup command - what command runs your application?
- Write an install script - bash script that downloads/compiles your app
- Define environment variables - for ports, passwords, game settings
- Choose a Docker image from Pterodactyl Yolks:
java_21,nodejs_20,python_3.11,alpine - Export and test - create a test server with the new egg
Common Egg Problems and Fixes
Install fails with "download failed" The install script URL is broken. Edit the egg to point to the current download URL.
Server starts then immediately exits The startup command or jar path is wrong. Check the Console tab for the error.
Wrong Java version Change the Docker image in the egg. ATM10 needs Java 21, older packs may need Java 17.
Environment variables not visible
Set user_viewable: true in the variable definition within the egg JSON.
Eggs vs Nests
Nests are categories that contain multiple eggs. Default nests include Minecraft, Source Engine Games, Rust, and Voice Servers. You can create custom nests - for example, a "Discord Bots" nest with separate Python and Node.js eggs.
Egg Availability by Game
| Game | Where to Find Egg |
|---|---|
| Minecraft Paper/Forge | Built into Pterodactyl |
| FiveM | Community eggs repo |
| Palworld | Community eggs repo |
| Rust | Built into Pterodactyl |
| Stardew Valley co-op | Community eggs repo |
| Discord bots | Community eggs repo |