diff --git a/README.md b/README.md index af3a0f8..8f03c87 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ auf nichts mehr: keine Posts, keine Hintergrund-Prüfungen. | Funktion | Was sie macht | |---|---| | 🎮 **Game-Server-Monitor** | DiscordGSM-Stil: pro Server ein Live-Embed (🟢/🔴, Name im Spiel, 🔒 bei Passwort oder Whitelist, Spieler-Balken, Map, Version, Mod-Anzahl, Spieler-Liste, Knöpfe für Verbinden, Mod-Download und frei eintragbare Links wie Regeln oder TeamSpeak, Ping); **alle Spiele, die gamedig kennt** — die Auswahl im Panel kommt aus der Bibliothek selbst, inklusive Standard-Port und Hinweis auf nötige Zugangs-Codes (Farming Simulator, Terraria) — plus FiveM + HTTP-Check; Down/Up-Alerts mit Ausfalldauer | -| 🖥️ **Panel-Anbindung** *(optional)* | Trägt der Betreiber unter „Server" die Adresse des [d4rk_gameserver](https://git.d4rkst3r.de/D4rkst3r/d4rk_media)-Panels und ein Lese-Zeichen ein, weiß der Monitor mehr als eine Abfrage hergibt. gamedig **fragt** einen Server — ein startendes Modpack antwortet nicht und sieht dadurch aus wie ein Ausfall (am ATM10 gemessen: 306 Sekunden bis zum ersten Spieler). Das Panel **sieht** den Container: 🟡 „Startet gerade" statt 🔴 „Offline", kein Fehlalarm während des Hochfahrens, kein Alarm für einen im Panel gestoppten Server — aber sehr wohl einer für Absturz, OOM-Kill oder fehlenden Container. Dazu RAM und CPU im Embed. Ohne Eintrag ändert sich nichts, und antwortet das Panel nicht, ebenfalls nicht | +| 🖥️ **Panel-Anbindung** *(optional)* | Trägt der Betreiber unter **Config → Game-Server** die Adresse des [d4rk_gameserver](https://git.d4rkst3r.de/D4rkst3r/d4rk_media)-Panels und ein Lese-Zeichen ein, weiß der Monitor mehr als eine Abfrage hergibt. gamedig **fragt** einen Server — ein startendes Modpack antwortet nicht und sieht dadurch aus wie ein Ausfall (am ATM10 gemessen: 306 Sekunden bis zum ersten Spieler). Das Panel **sieht** den Container: 🟡 „Startet gerade" statt 🔴 „Offline", kein Fehlalarm während des Hochfahrens, kein Alarm für einen im Panel gestoppten Server — aber sehr wohl einer für Absturz, OOM-Kill oder fehlenden Container. Dazu RAM und CPU im Embed. Ohne Eintrag ändert sich nichts, und antwortet das Panel nicht, ebenfalls nicht | | 🚜 **LS — Höfe & Preise** | Für Farming-Simulator-Server: Besitzkarte auf dem Luftbild des Servers (Parzellen nach Hof eingefärbt, Fläche = Hektar, Fahrzeuge und Spieler live), die Preiskurven übers Jahr mit „jetzt verkaufen oder warten", dazu **je Hof ein Embed**, das sich selbst aktualisiert: Land, Fuhrpark mit Wert und Betriebsstunden, was in die Werkstatt muss, was gewaschen gehört und was geladen ist. Dazu die **Modliste**: der Bot meldet, was neu, aktualisiert oder entfernt wurde, und auf `/mods/` steht jeder Mod einzeln zum Laden — durch den Bot hindurch, damit der Zugangs-Code des Spielservers nicht in einem Link landet. **Nicht möglich:** welche Frucht auf welchem Feld steht, und Tierställe — beides gibt der Feed nicht her (siehe [docs/ls-feed.md](docs/ls-feed.md)) | ### Server & Technik diff --git a/frontend/src/pages/Settings.jsx b/frontend/src/pages/Settings.jsx index 7ddb4ea..66a35df 100644 --- a/frontend/src/pages/Settings.jsx +++ b/frontend/src/pages/Settings.jsx @@ -3337,6 +3337,56 @@ export default function Settings({ me }) { + {/* Die Panel-Anbindung steht HIER und nicht nur auf der + Modul-Seite. Wer sie einrichten will, sucht sie bei den + Game-Servern -- dort, wo auch die Kanäle stehen. */} +
+ +

+ Der Monitor fragt einen Server ab. Ein startendes Modpack antwortet + nicht und sieht dadurch aus wie ein Ausfall — am ATM10 sind das 306 Sekunden + Fehlalarm bei jedem Neustart. Trägst du hier dein{' '} + d4rk_gameserver-Panel ein, sieht der Bot den Container: 🟡 + „Startet gerade" statt 🔴 „Offline", kein Alarm während des Hochfahrens und + keiner für einen im Panel gestoppten Server — aber sehr wohl einer für + Absturz, vollen Speicher oder fehlenden Container. Dazu RAM und CPU im + Embed. Leer lassen heißt: alles bleibt wie bisher. +

+
+
+ + setForm({ ...form, panel_url: e.target.value })} + /> +
+
+ + setForm({ ...form, panel_zeichen: e.target.value })} + /> +
+
+
+
+ +
+ {servers.length > 0 && (
{servers.map((s) => ( diff --git a/frontend/src/setting-index.js b/frontend/src/setting-index.js index 925845c..2114212 100644 --- a/frontend/src/setting-index.js +++ b/frontend/src/setting-index.js @@ -33,6 +33,11 @@ export const SETTING_INDEX = [ { id: 'backup_channel_id', tab: 'system', label: 'Backup-Kanal', find: 'sicherung upload' }, { id: 'status_channel_id', tab: 'server', label: 'Server-Status-Kanal', find: 'monitor game embed' }, { id: 'server_alert_channel_id', target: 'status_channel_id', tab: 'server', label: 'Alarm-Kanal', find: 'down ausfall alert' }, + // Ohne diese zwei Zeilen findet die Suche das Feld nicht, und dann sucht + // man es im Reiter "Game-Server" mit den Augen -- genau so ist es dem + // Betreiber ergangen. + { id: 'panel_url', tab: 'server', label: 'Panel-Adresse', find: 'gameserver panel d4rk_gameserver startet gerade container docker' }, + { id: 'panel_zeichen', tab: 'server', label: 'Panel-Zeichen', find: 'panel token bearer zugang programme schluessel' }, /* ── Rollen ─────────────────────────────────────── */ { id: 'devlog_ping_role_id', tab: 'feeds', label: 'Devlog-Ping-Rolle', find: 'benachrichtigung abo erwähnen' },