3.4 KiB
3.4 KiB
GameDig Server Status API
Pterodactyl Egg das Gameserver per GameDig abfragt und die Ergebnisse als JSON-REST-API bereitstellt.
Unterstützte Spiele (Auswahl)
| Spiel | type in config.json |
|---|---|
| DayZ | dayz |
| Counter-Strike 2 | cs2 |
| Rust | rust |
| ARK: Survival Evolved | arkse |
| + 320 weitere | GameDig Games-Liste |
Installation
egg.jsonim Pterodactyl-Panel importieren (Admin → Nests → Import Egg)- Neuen Server anlegen und einen Port zuweisen
- Server starten → Installationsscript lädt automatisch alle Dateien von diesem Repo
config.jsonim Dateimanager mit deinen Serveradressen anpassen- Server neu starten
Konfiguration
config.json (im Pterodactyl-Dateimanager bearbeiten)
{
"servers": [
{
"label": "DayZ Main Server",
"type": "dayz",
"host": "1.2.3.4",
"port": 2302,
"image": "https://example.com/images/dayz.jpg"
},
{
"label": "CS2 Server",
"type": "cs2",
"host": "1.2.3.4",
"port": 27015,
"image": "https://example.com/images/cs2.jpg"
}
]
}
Egg-Variablen (im Pterodactyl-Panel konfigurierbar)
| Variable | Standard | Beschreibung |
|---|---|---|
QUERY_INTERVAL |
60 |
Abfrageintervall in Sekunden (min. 10) |
API_KEY |
(leer) | Optionaler API-Schlüssel – leer = offen |
API-Endpunkte
GET /api/servers
Ohne API-Key:
GET http://dein-server:PORT/api/servers
Mit API-Key via Header:
GET http://dein-server:PORT/api/servers
X-API-Key: dein-key
Mit API-Key via URL-Parameter:
GET http://dein-server:PORT/api/servers?key=dein-key
Beispiel-Antwort:
{
"updated": "2026-02-26T14:32:00.000Z",
"interval_seconds": 60,
"servers": [
{
"label": "DayZ Main Server",
"type": "dayz",
"address": "1.2.3.4:2302",
"image": "https://example.com/images/dayz.jpg",
"status": "online",
"players": 12,
"maxPlayers": 60,
"map": "ChernarusPlus",
"name": "My DayZ Server",
"ping": 42,
"connect": "1.2.3.4:2302"
},
{
"label": "CS2 Server",
"type": "cs2",
"address": "1.2.3.4:27015",
"status": "offline",
"error": "Connection timed out"
}
]
}
GET /health
Kein API-Key erforderlich. Geeignet für Uptime-Monitoring.
{ "status": "ok", "updated": "2026-02-26T14:32:00.000Z" }
DayZ Besonderheit
DayZ nutzt einen separaten Query-Port (Game-Port + 24714).
Falls die Abfrage fehlschlägt, den Query-Port direkt angeben:
{ "type": "dayz", "host": "1.2.3.4", "port": 27016 }
Dateien im Container
/home/container/
├── server.js ← Hauptscript (API + Query-Loop)
├── entrypoint.sh ← Startscript
├── config.json ← Serverkonfiguration (selbst bearbeiten)
├── package.json ← npm-Konfiguration
└── node_modules/ ← Abhängigkeiten (automatisch installiert)
Update
Um server.js oder entrypoint.sh zu aktualisieren, einfach die Dateien in
diesem Repo anpassen und den Server im Pterodactyl-Panel neu installieren
(Server → Settings → Reinstall Server).