{ "$schema": "https://schema.pterodactyl.io/egg.v1.json", "meta": { "version": "PTDL_v2", "update_url": null }, "exported_at": "2026-02-26T12:00:00+00:00", "name": "GameDig Server Status API", "author": "cap@cap-net.ch", "description": "Fragt Gameserver (DayZ, CS2, Rust, ARK u.v.m.) per GameDig ab und stellt die Ergebnisse als JSON-REST-API zur Verfügung. Optionaler API-Key-Schutz. Konfiguration über config.json im Dateimanager.", "features": null, "docker_images": { "Node.js 20": "ghcr.io/pterodactyl/yolks:nodejs_20" }, "file_denylist": [], "startup": "bash /home/container/entrypoint.sh", "config": { "files": "{}", "startup": { "done": "GameDig Server Status API" }, "logs": "{}", "stop": "^C" }, "scripts": { "installation": { "script": "#!/bin/bash\napt-get update -y && apt-get install -y curl\n\ncd /mnt/server\n\nGITEA_RAW=\"https://gitea.cap-net.ch/Cap/gameserver-status-api/raw/branch/main\"\n\necho \"[INFO] Lade Dateien von Gitea herunter...\"\ncurl -sSL \"${GITEA_RAW}/server.js\" -o server.js || { echo '[FEHLER] server.js konnte nicht geladen werden.'; exit 1; }\ncurl -sSL \"${GITEA_RAW}/entrypoint.sh\" -o entrypoint.sh || { echo '[FEHLER] entrypoint.sh konnte nicht geladen werden.'; exit 1; }\nchmod +x entrypoint.sh\n\necho \"[INFO] Erstelle package.json...\"\ncat > package.json << 'EOF'\n{\n \"name\": \"gameserver-status-api\",\n \"version\": \"1.0.0\",\n \"description\": \"GameDig Server Status API\",\n \"main\": \"server.js\",\n \"dependencies\": {\n \"gamedig\": \"^4.1.0\"\n }\n}\nEOF\n\necho \"[INFO] Installiere npm-Pakete...\"\nnpm install --omit=dev\n\nif [ ! -f 'config.json' ]; then\n echo \"[INFO] Lege Beispiel-config.json an...\"\n curl -sSL \"${GITEA_RAW}/config.json\" -o config.json\n echo \"[WICHTIG] Bitte config.json im Dateimanager mit deinen Serveradressen anpassen!\"\nfi\n\necho \"\"\necho \"[DONE] Installation abgeschlossen.\"\necho \"[INFO] Nächste Schritte:\"\necho \" 1. config.json im Dateimanager mit deinen Serveradressen anpassen\"\necho \" 2. Server starten\"", "container": "ghcr.io/pterodactyl/installers:debian", "entrypoint": "bash" } }, "variables": [ { "name": "Query-Intervall (Sekunden)", "description": "Wie oft sollen die Gameserver abgefragt werden? Empfohlen: 60. Minimum: 10.", "env_variable": "QUERY_INTERVAL", "default_value": "60", "user_viewable": true, "user_editable": true, "rules": "required|numeric|min:10", "field_type": "text" }, { "name": "API Key (optional)", "description": "Schützt die API mit einem Key. Abfrage via Header 'X-API-Key' oder URL-Parameter '?key='. Leer lassen = kein Schutz.", "env_variable": "API_KEY", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string|max:128", "field_type": "text" } ] }