53 lines
3.4 KiB
JSON
53 lines
3.4 KiB
JSON
{
|
|
"_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": "admin@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 \"type\": \"module\",\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"
|
|
}
|
|
]
|
|
}
|