Herní servery

Eggy a nests v Pterodactylu – import, úprava a vlastní egg

Co jsou nests a eggy v Pterodactylu, jak importovat komunitní egg, upravit startovní příkaz a proměnné a jak napsat jednoduchý vlastní egg.

12. 10. 2026 · 4 min čtení

V Pterodactylu nevytváříte „Minecraft server“ ani „Rust server“ napřímo. Vytváříte server z eggu – šablony, která říká, jaký Docker image použít, jak hru nainstalovat a jak ji spustit. Eggy jsou seskupené do nests (hnízd), například nest Minecraft obsahuje eggy Vanilla, Paper, Forge, Sponge a BungeeCord.

Z čeho se egg skládá

Část K čemu slouží
Docker images Image(y), ve kterých server běží – např. různé verze Javy
Startup command Příkaz pro spuštění, s proměnnými ve složených závorkách
Configuration Úpravy konfiguračních souborů hry před startem, text „server je online“, stop příkaz
Variables Proměnné prostředí, které může admin nebo uživatel měnit
Install script Skript, který při instalaci stáhne hru do /mnt/server

Typický startovní příkaz Minecraft eggu:

java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}

SERVER_MEMORY, SERVER_PORT a SERVER_IP dosazuje Panel sám podle limitů a alokace. SERVER_JARFILE je proměnná definovaná v eggu.

Import komunitního eggu

Výchozí instalace obsahuje jen pár eggů. Další najdete v komunitních repozitářích na GitHubu – největší je dnes organizace pelican-eggs (dříve repozitář parkervcp/eggs). Egg je jeden JSON soubor.

  1. Stáhněte JSON eggu (u souboru na GitHubu tlačítko „Raw“ → uložit).
  2. V administraci Nests klikněte na Import Egg.
  3. Vyberte soubor a cílový nest (nebo nejdřív vytvořte nový, např. „Steam hry“).

Po importu zkontrolujte záložku Variables a vyzkoušejte instalaci na testovacím serveru. Komunitní eggy se liší kvalitou a některé předpokládají konkrétní verzi Panelu.

Úprava existujícího eggu

Typické úpravy:

  • Přidání Docker image – např. novější Java pro Minecraft 1.20.5+, který vyžaduje Javu 21. V záložce eggu přidejte řádek do „Docker Images“ ve formátu Java 21|ghcr.io/pterodactyl/yolks:java_21. Uživatel si pak image vybere v Settings serveru (pokud to egg dovolí).
  • Úprava startovního příkazu – třeba přidání Aikarových flagů (viz Aikar flags).
  • Nová proměnná – například volba verze hry pro instalační skript.

Změna startovního příkazu v eggu se projeví jen u serverů, které výchozí příkaz nepřepsaly. Existující servery mají příkaz uložený i u sebe – zkontrolujte záložku Startup u serveru v administraci.

Proměnné a validace

Každá proměnná má:

  • Environment Variable – název, pod kterým je dostupná v kontejneru i jako {{NAZEV}},
  • Default Value,
  • Users Can View / Users Can Edit – zda ji vidí a mění zákazník,
  • Input Rules – validační pravidla ve stylu Laravelu.

Příklady pravidel:

required|string|max:20
required|regex:/^([\w\d._-]+)(\.jar)$/
nullable|in:true,false
required|integer|between:1,100

Proměnnou, kterou uživatel nesmí měnit (např. URL ke stažení), nastavte jako needitovatelnou.

Jednoduchý vlastní egg

Minimální egg pro Node.js aplikaci, která se stahuje z Git repozitáře:

Docker image: ghcr.io/parkervcp/yolks:nodejs_20

Startup:

if [ -f package.json ]; then npm install --omit=dev; fi; node {{MAIN_FILE}}

Install script (kontejner node:20-bookworm-slim, entrypoint bash):

#!/bin/bash
apt-get update && apt-get install -y git ca-certificates
cd /mnt/server
if [ -n "${GIT_REPO}" ]; then
  git clone --depth 1 "${GIT_REPO}" . || echo "Klonování selhalo"
fi
echo "Instalace dokončena"

Proměnné: GIT_REPO (nullable|string) a MAIN_FILE (required|string|max:64, výchozí index.js).

Configuration → Start: text, podle kterého Panel pozná, že server naběhl. Pro aplikace bez jasné hlášky lze použít JSON:

{
    "done": "Listening"
}

Stop command: pro Node.js stačí ^C (pošle signál SIGINT).

Instalační skript běží v samostatném kontejneru, který má soubory serveru připojené v /mnt/server. Za běhu je pak server ve svém kontejneru vidí v /home/container.

Export a záloha eggů

Upravený egg si exportujte (tlačítko Export v detailu eggu) a uložte do gitu. Při aktualizaci Panelu se výchozí eggy mohou přepsat seedem, vlastní úpravy výchozích eggů tak můžete ztratit. Bezpečnější je upravovat kopii eggu (import pod jiným názvem) než originál.

Tipy

  • Testujte vždy na novém serveru – reinstalace existujícího serveru může smazat soubory, které instalační skript přepisuje.
  • Chyby instalace najdete v logu na nodu: /var/log/pterodactyl/install/<uuid>.log.
  • Pokud server po startu zůstává ve stavu „Starting“, nesedí text v done s výstupem hry.

Psaní install skriptů je klasická úloha, se kterou pomůže ColdHost AI v režimu Programování – popište hru a zdroj souborů a nechte si navrhnout skript i JSON konfiguraci.