Skip to content

Templates

Templates define installable games: container image, install script, startup command, variables, and defaults. Users pick a template when creating a server; everything else flows from it. Manage them under Admin → Templates.

  • The template.create permission, or full administrator access.
  • A node if you want to install-test the template before publishing it.

From Admin → Templates:

  1. Select New Template. One dialog holds every field, in numbered sections: 1 — Nest (the nest that groups the template, or Skip — no nest, plus Name, Author, Version, Icon URL, and Description), 2 — Runtime images, 3 — Commands & config (startup command, stop command or signal, the optional Install script, config file paths, and Resources & ports: Ports, Allocated memory (MB), Allocated CPU cores), 4 — Variables, and 5 — Advanced features.
  2. Select Create template. Until the required fields are filled the footer lists what is missing and the button stays disabled. The template is then available immediately and users can create servers from it.

To bring in an existing game definition instead, select Import on the same page (importing eggs walks through the whole flow):

  • From URL — paste a direct link to a Pterodactyl egg (.json/.yaml).
  • From Local File — Choose file on your computer.
  • Import All Pterodactyl Eggs — imports the full pterodactyl/game-eggs collection and creates nests from the egg categories. This takes a minute or two.

Imported templates carry a primary port derived from the egg itself (its ports array, a literal port in the egg’s config-file bindings, or a variable pinned to one value) rather than assuming 25565. Eggs that only bind {{server.build.default.port}} pin nothing, because the panel allocates the real port per server — check Ports before publishing those.

A template you have not installed from scratch is untested. Create a real server from it, install, start, join, stop, back up, and restore. Only then offer it to users.

  • Edit on a template card opens the same form; Save changes applies immediately to future servers.
  • Pin versions in install scripts where stability matters; latest moves under you on the worst possible day.
  • Keep variables minimal. Every variable is support surface — expose what users actually change, hide the rest in sane defaults.
  • Note behavioural changes. Existing servers usually keep their old effective config until they are reinstalled, so say whether users must act.
  • Retire broken templates. Select them and use the bulk delete action; a template in use by an existing server cannot be deleted.

Nests group templates (Minecraft, Source, and so on). Keep the nest list short and obvious — it is the first choice users make, and twenty near-identical entries help nobody.

Select Nests on the Templates page to open Manage nests, then New nest; give it a Name, optional Description, and optional Icon URL. Deleting a nest leaves its templates ungrouped rather than deleting them.