diff --git a/egg-gameserver-status-api.json b/egg-gameserver-status-api.json new file mode 100644 index 0000000..0d784c5 --- /dev/null +++ b/egg-gameserver-status-api.json @@ -0,0 +1,52 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "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 Verfuegung. Optionaler API-Key-Schutz. Konfiguration ueber config.json im Dateimanager.", + "features": null, + "docker_images": { + "Node.js 20": "ghcr.io/pterodactyl/yolks:nodejs_20" + }, + "file_denylist": [], + "startup": "sh /home/container/entrypoint.sh", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"GameDig Server Status API\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!/bin/bash\r\napt-get update -y\r\napt-get install -y curl\r\n\r\ncd /mnt/server\r\n\r\nGITEA_RAW=\"https://gitea.cap-net.ch/Cap/gameserver-status-api/raw/branch/main\"\r\n\r\necho \"[INFO] Lade Dateien von Gitea herunter...\"\r\n\r\ncurl -sSL \"${GITEA_RAW}/server.js\" -o server.js\r\nif [ $? -ne 0 ]; then\r\n echo \"[FEHLER] server.js konnte nicht geladen werden.\"\r\n exit 1\r\nfi\r\n\r\ncurl -sSL \"${GITEA_RAW}/entrypoint.sh\" -o entrypoint.sh\r\nif [ $? -ne 0 ]; then\r\n echo \"[FEHLER] entrypoint.sh konnte nicht geladen werden.\"\r\n exit 1\r\nfi\r\nchmod +x entrypoint.sh\r\n\r\necho \"[INFO] Erstelle package.json...\"\r\ncat > package.json << 'EOF'\r\n{\r\n \"name\": \"gameserver-status-api\",\r\n \"version\": \"1.0.0\",\r\n \"description\": \"GameDig Server Status API\",\r\n \"main\": \"server.js\",\r\n \"dependencies\": {\r\n \"gamedig\": \"^4.1.0\"\r\n }\r\n}\r\nEOF\r\n\r\necho \"[INFO] Installiere npm-Pakete...\"\r\nnpm install --omit=dev\r\n\r\nif [ ! -f \"config.json\" ]; then\r\n echo \"[INFO] Lege Beispiel-config.json an...\"\r\n curl -sSL \"${GITEA_RAW}/config.json\" -o config.json\r\n echo \"[WICHTIG] Bitte config.json im Dateimanager anpassen!\"\r\nfi\r\n\r\necho \"\"\r\necho \"[DONE] Installation abgeschlossen.\"\r\necho \"[INFO] Naechste Schritte:\"\r\necho \" 1. config.json im Dateimanager anpassen\"\r\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": "Schuetzt 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" + } + ] +}