Skip to content

Pterodactyl eggs

Games → Import: paste or upload a Pterodactyl or Pelican egg (JSON), or a template (YAML). The egg becomes a template:

Egg Template
docker_images images (in order; the first is the default)
startup, config.stop, config.startup.done startup, stop, readyPattern
variables variables; *_PASS, *PASSWORD and *TOKEN become write-only secrets
port variables (QUERY_PORT, RCON_PORT…) ports with roles, allocated by the panel
config.files (properties, ini, json, yaml, file) configFiles, applied before every start
scripts.installation install
the eula feature a console prompt

Tick Replace an existing game with the same id to import a new version of a game.

  • Open the game in the editor and check the ports: an egg names them only through variables, so check each role’s protocol.
  • For games that need a Steam login, move the download from the install script to the steam section, so the panel’s Steam accounts and Steam Guard handling are used.
  • Eggs use Pterodactyl’s images. They work, as the panel gives containers the same environment (SERVER_PORT, SERVER_MEMORY, STARTUP…).
  1. In Pterodactyl, create a backup of the server and download it (a .tar.gz of its folder).
  2. Import the server’s egg here (above) or pick a game from the catalogue.
  3. Servers → New server, under Files:
    • Install, then add files from a backup: a fresh install, then the archive’s files on top. Best when the game here differs from the egg (another version, other startup files): worlds, configs and plugins come over.
    • Only the backup’s files: the archive is the whole server, nothing is installed.
  4. Choose Upload a .tar.gz archive and the downloaded file. It uploads after the server is created and is restored as soon as the install is done; it stays in the server’s backups.
  5. Copy the variables you changed in Pterodactyl (e.g. the server name, passwords) to the server’s Startup tab.

Files keep their permissions, so game binaries stay executable.