Zum Inhalt

Pterodactyl und Wisp (Egg)

Das Egg „Garry's Mod + Trinity Admin“ legt einen kompletten GMod-Server an: SteamCMD-Installation (App 4020), das Panel und das Admin-Addon laufen im selben Container.

Einmalig einrichten

1. Paket bauen und hochladen

Im Repository:

bash trinityadmin/egg/build.sh trinityadmin/egg/dist https://DEINE-ADRESSE/trinityadmin-package.tar.gz

Lade dist/trinityadmin-package.tar.gz irgendwo öffentlich hoch (eigene Webseite, GitHub-Release). Das Paket enthält nur Panel und Addon, keine Zugangsdaten. Die Adresse steht danach als Standard der Variable PACKAGE_URL in der Egg-Datei.

2. Egg importieren

Pterodactyl bzw. Wisp: Nests → Egg importieren → egg-gmod-trinityadmin.json.

3. Server anlegen

Du brauchst nur den Spielport (z. B. 27015). Das Panel läuft über dieselbe Portnummer per TCP, der Spielserver nutzt sie per UDP. Beides stört sich nicht, es genügt eine einzige Port-Zuweisung. Das Panel ist dann unter http://SERVER-IP:27015/ erreichbar (der Spielport muss TCP und UDP weiterleiten, bei Pterodactyl und Wisp ist das der Standard).

RCON

Der Spielserver öffnet die TCP-Seite seines Ports nur, wenn ein rcon_password gesetzt ist. Dann wollen Panel und RCON dieselbe TCP-Seite. Unter Linux gewinnt, wer zuerst bindet: das Panel startet zuerst, RCON ist dann nicht erreichbar, das Spiel läuft normal. Das Egg setzt kein RCON-Passwort, das Panel braucht keins. Brauchst du RCON, setze PANEL_PORT auf einen eigenen zweiten Port.

Getestet ist die Koexistenz von Panel (TCP) und Spielserver (UDP) auf einer Portnummer unter Windows. Ein echter Linux-srcds im Container mit gesetztem RCON-Passwort ist ungeprüft.

Variablen

Variable Bedeutung
SRCDS_MAP, GAMEMODE, MAX_PLAYERS, TICKRATE Karte, Spielmodus, Spielerzahl, Tickrate
STEAM_ACC Game-Server-Login-Token (optional)
WORKSHOP_ID, STEAM_WEB_API_KEY Workshop-Kollektion (optional)
LUA_REFRESH 1 = Lua-Dateien werden bei Änderung automatisch neu geladen
PANEL_PORT leer = Panel über den Spielport (TCP). Nur setzen, wenn das Panel einen eigenen Port bekommen soll
PANEL_URL öffentliche Adresse, z. B. https://admin.meinedomain.de (leer = http://SERVER-IP:Port)
PANEL_USER, PANEL_PASSWORD erstes Panel-Konto (leer = admin und ein erzeugtes Passwort)
OWNER_STEAMID SteamIDs (Komma getrennt), die im Admin-Addon bei jedem Start Besitzer werden
TA_UPDATE_ADDON 1 = Admin-Addon wird bei jedem Start auf den Stand des Pakets gebracht
PACKAGE_URL Download-Adresse des Pakets (nur bei der Installation)

Was beim Start passiert

trinityadmin/egg-start.sh startet das Panel im Hintergrund und danach srcds_run. Es schreibt außerdem den Agent und die Datei data/trinityadmin.json, aktualisiert das Admin-Addon und trägt OWNER_STEAMID als Besitzer ein.

Das Panel ist danach unter http://SERVER-IP:SPIELPORT/ erreichbar (oder dem PANEL_PORT, falls gesetzt). Benutzer und Startpasswort stehen in trinityadmin/panel.log, falls du sie nicht über PANEL_USER und PANEL_PASSWORD gesetzt hast.

Besonderheiten im Container

  • Start, Kill und Neuinstallation macht das Hosting-Panel, im Trinity-Panel sind sie gesperrt. Stopp und Neustart gehen weiterhin.
  • Das Panel kann die Variable LUA_REFRESH anzeigen, aber auf Wisp nicht ändern, weil Wisp keine API dafür anbietet. Ändere sie im Wisp-Panel unter Startup und starte neu.
  • Ohne PACKAGE_URL installiert das Egg nur den GMod-Server und gibt eine Warnung aus.

Getestet

Installation (ohne SteamCMD-Download) und Start wurden in einem Debian-Container geprüft. Den SteamCMD-Teil und den Import in Wisp prüfst du bei der ersten Nutzung.