Eggs, Nests & Images
Eggs, Nests und Docker Images bilden das technische Fundament jedes Game-Servers in Pterodactyl. Sie definieren nicht nur, was gestartet wird, sondern wie, mit welchen Rechten und unter welchen Risiken.
Fehler in diesem Bereich sind eine der häufigsten Ursachen für:
- Sicherheitsvorfälle
- instabile Server
- unerklärliche Performance-Probleme
1. Begriffsklärung (präzise)
1.1 Nest
Ein Nest ist eine logische Gruppierung von Eggs. Es besitzt keine technische Funktion zur Laufzeit, sondern dient ausschließlich:
- der Organisation
- der Übersicht im Panel
- der Trennung nach Spieltypen
Beispiele:
- Minecraft
- Source Engine
- Voice Server
1.2 Egg
Ein Egg ist eine vollständige, deklarative Beschreibung, wie ein Game-Server ausgeführt wird.
Ein Egg definiert:
- Docker Image
- Startbefehl
- Environment-Variablen
- Port-Definitionen
- Dateistrukturen
Ein Egg ist funktional vergleichbar mit:
Dockerfile + Runtime-Konfiguration + Sicherheitskontext
1.3 Docker Image
Das Docker Image enthält die eigentliche Laufzeitumgebung:
- Betriebssystem-Basis
- Runtime (Java, Node.js, SteamCMD, etc.)
- Abhängigkeiten
Images sind:
- immutable
- versionierbar
- kritische Sicherheitskomponenten
2. Interner Ablauf beim Start eines Game-Servers
- Panel liest Egg-Definition
- Wings validiert Variablen & Limits
- Docker Image wird (falls nötig) gepullt
- Container wird mit exakt definiertem Startkommando erstellt
- Volumes werden eingebunden
- Ports werden gemappt
- Container wird gestartet
Wichtig: Kein einziger dieser Schritte ist „dynamisch geraten“, alles ist hart durch das Egg definiert.
3. Aufbau eines Eggs (technisch)
Ein Egg besteht intern aus einer JSON-Struktur mit:
- Startup Command
- Default Environment
- Install Script
- Variable Validation Rules
3.1 Startup Command
Der Startup Command wird direkt an Docker übergeben.
Typische Fehler:
- Shell-Expansion ohne Validierung
- Unsichere Parameterübergabe
- Unkontrollierte User-Eingaben
Ein fehlerhaftes Startup Command ist ein direkter Angriffsvektor.
3.2 Environment-Variablen
Environment-Variablen werden:
- im Panel definiert
- beim Containerstart injiziert
Gefahren:
- Command Injection
- Pfad-Manipulation
- Missbrauch von JVM-Flags
Jede Variable muss:
- validiert
- typisiert
- begrenzt
3.3 Install Scripts
Install Scripts laufen innerhalb des Containers mit weitreichenden Rechten.
Typische Risiken:
- Download fremder Skripte
- Ungeprüfte Curl | Bash Konstrukte
- Manipulation des Dateisystems
Install Scripts sind der größte Supply-Chain-Risikofaktor.
4. Community Eggs vs. Eigene Eggs
4.1 Community Eggs
Vorteile:
- Schnell einsetzbar
- Große Auswahl
Nachteile:
- Unbekannte Code-Qualität
- Unklare Wartung
- Teilweise massive Sicherheitsprobleme
Community Eggs dürfen niemals ungeprüft produktiv eingesetzt werden.
4.2 Eigene Eggs (empfohlen)
Eigene Eggs ermöglichen:
- vollständige Kontrolle
- saubere Versionierung
- angepasste Performance-Parameter
Im Hosting-Betrieb sind eigene Eggs faktisch Pflicht.
5. Image-Strategien (entscheidend)
5.1 Image-Versionierung
Best Practice:
- Explizite Versions-Tags
- Kein latest im Produktivbetrieb
Warum:
- Reproduzierbarkeit
- Rollback-Fähigkeit
- Stabile Updates
5.2 Eigene Images
Eigene Images erlauben:
- Reduzierte Angriffsfläche
- Gezielte Optimierungen
- Fixierte Runtime-Versionen
Images sollten:
- minimal sein
- regelmäßig neu gebaut werden
- keine unnötigen Tools enthalten
6. Sicherheitsrisiken aus der Praxis
- Eggs mit Root-Shell-Zugriff
- Unsichere JVM-Flags
- Ungefilterte Variablen
- Manipulierte Community Images
Diese Risiken umgehen Container-Isolation effektiv.
7. Performance-Fallen
- Debug-Flags im Startup
- Zu viele JVM-Parameter
- Unoptimierte Garbage Collection
- Falsche Thread-Konfiguration
Eggs beeinflussen Performance stärker als viele Administratoren vermuten.
8. Best Practices (Venasty Systems Standard)
- Eigene Eggs für alle produktiven Games
- Eigene Images mit festen Versionen
- Keine ungeprüften Community Eggs
- Strikte Variablenvalidierung
- Install Scripts minimal halten
9. Fazit
Eggs sind kein Konfigurationsdetail, sondern das sicherheits- und performancekritischste Element in Pterodactyl.
Wer Eggs beherrscht, beherrscht die Plattform.
Venasty Systems betrachtet Eggs und Images als Kernbestandteil seiner Plattform-Sicherheitsarchitektur und behandelt sie entsprechend streng.