Eigene Kategorie Gaming fuer Game-Server und LS
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled

Der Game-Server-Monitor stand unter "Server & Technik" zwischen DB-Sicherung,
Repo-Sicherung und Member-Gate. Technisch nicht falsch — dort laeuft alles,
was der Bot an Infrastruktur anfasst. Nur sucht niemand seinen LS-Server neben
dem Datenbank-Backup. Mit dem LS-Modul waren es zwei Eintraege in der falschen
Schublade, und das reicht fuer eine eigene.

Getrennt wird nach dem, worum es geht: "Server & Technik" ist der Bot selbst,
"Gaming" sind die Spiele-Server drumherum. Beide Ebenen ziehen mit — die
Modul-Kacheln ueber MODULE_GROUPS, die Seitenleiste ueber TAB_SECTIONS —, und
der Tab heisst jetzt "Game-Server" statt "Server", weil "Server" im selben
Panel schon zweierlei bedeutete.

Nebenbei: das Modul hiess "Server-Monitor" und ueberwacht Game-Server; jetzt
steht das auch dran. Die Suche im Panel findet den Tab zusaetzlich ueber "ls",
"landwirtschaft", "farming", "hof", "karte" und "preise".

Geprueft: kein Modul ohne Gruppe, keine leere Gruppe, Seitenleiste und
Modul-Kacheln im laufenden Panel angesehen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-09 08:24:34 +02:00
co-authored by Claude Opus 5
parent 1075b91121
commit 9f929fe0e4
3 changed files with 21 additions and 8 deletions
+8 -3
View File
@@ -13,7 +13,7 @@ SQLite (better-sqlite3, FTS5) · Docker Multi-Stage, deploybar als Portainer-Sta
## Inhalt ## Inhalt
* [Zwei Seiten, ein Bot](#zwei-seiten-ein-bot) * [Zwei Seiten, ein Bot](#zwei-seiten-ein-bot)
* [Funktionen](#funktionen) — [Inhalte](#inhalte--feeds) · [Community](#community) · [Moderation](#moderation--support) · [Server](#server--technik) · [Plattform](#plattform) * [Funktionen](#funktionen) — [Inhalte](#inhalte--feeds) · [Community](#community) · [Moderation](#moderation--support) · [Gaming](#gaming) · [Server](#server--technik) · [Plattform](#plattform)
* [Webinterface](#webinterface) * [Webinterface](#webinterface)
* [Config-Seite](#config-seite-settings) * [Config-Seite](#config-seite-settings)
* [Ersteinrichtung](#ersteinrichtung) * [Ersteinrichtung](#ersteinrichtung)
@@ -96,12 +96,17 @@ auf nichts mehr: keine Posts, keine Hintergrund-Prüfungen.
| 🪪 **Auto- & Sticky-Roles** | Start-Rolle für neue Member; Rollen werden bei Leave gesichert und bei Rejoin wiederhergestellt | | 🪪 **Auto- & Sticky-Roles** | Start-Rolle für neue Member; Rollen werden bei Leave gesichert und bei Rejoin wiederhergestellt |
| 🐛 **`/bug`** | Eingabefenster (was ist passiert, was war erwartet, wie nachstellen) → Gitea-Issue inkl. Screenshot-Upload; Issue geschlossen → DM an den Reporter | | 🐛 **`/bug`** | Eingabefenster (was ist passiert, was war erwartet, wie nachstellen) → Gitea-Issue inkl. Screenshot-Upload; Issue geschlossen → DM an den Reporter |
### Gaming
| Funktion | Was sie macht |
|---|---|
| 🎮 **Game-Server-Monitor** | DiscordGSM-Stil: pro Server ein Live-Embed (🟢/🔴, Spieler-Balken, Map, Version, Mod-Anzahl, Spieler-Liste, Knöpfe für Verbinden und Mod-Download, 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 |
| 🚜 **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), Hof-Übersicht mit Hektar und Wert, Meldung bei Landkauf, dazu die Preiskurven übers Jahr mit „jetzt verkaufen oder warten". **Nicht möglich:** welche Frucht auf welchem Feld steht — das gibt der Feed nicht her (siehe [docs/ls-feed.md](docs/ls-feed.md)) |
### Server & Technik ### Server & Technik
| Funktion | Beschreibung | | Funktion | Beschreibung |
|---|---| |---|---|
| 🎮 **Game-Server-Monitor** | DiscordGSM-Stil: pro Server ein Live-Embed (🟢/🔴, Spieler-Balken, Map, Version, Mod-Anzahl, Spieler-Liste, Knöpfe für Verbinden und Mod-Download, 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 |
| 🚜 **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), Hof-Übersicht mit Hektar und Wert, Meldung bei Landkauf, dazu die Preiskurven übers Jahr mit „jetzt verkaufen oder warten". **Nicht möglich:** welche Frucht auf welchem Feld steht — das gibt der Feed nicht her (siehe [docs/ls-feed.md](docs/ls-feed.md)) |
| 🚨 **Wächter** | Prüft eigene Dienste in einstellbarem Takt, DM-Alarm bei Ausfall + Entwarnung; speist die öffentliche Statusseite | | 🚨 **Wächter** | Prüft eigene Dienste in einstellbarem Takt, DM-Alarm bei Ausfall + Entwarnung; speist die öffentliche Statusseite |
| 💓 **Herzschlag** | Der Bot zeichnet sich selbst auf — im Dashboard steht neben der Laufzeit ein Erreichbarkeits-Balken über 7 Tage. Fehlende Stunden sind rot: dass nichts dasteht, *ist* die Aussage | | 💓 **Herzschlag** | Der Bot zeichnet sich selbst auf — im Dashboard steht neben der Laufzeit ein Erreichbarkeits-Balken über 7 Tage. Fehlende Stunden sind rot: dass nichts dasteht, *ist* die Aussage |
| 🔊 **Temp-Voice** | „Join to Create": Hub-Kanal betreten → eigener Voice-Kanal mit Control-Panel (Umbenennen, Sperren, Limit, Löschen — nur für den Besitzer), löscht sich wenn leer | | 🔊 **Temp-Voice** | „Join to Create": Hub-Kanal betreten → eigener Voice-Kanal mit Control-Panel (Umbenennen, Sperren, Limit, Löschen — nur für den Besitzer), löscht sich wenn leer |
+6 -2
View File
@@ -29,6 +29,10 @@ const TAB_SECTIONS = [
{ id: 'auftritt', label: 'Auftritt' }, { id: 'auftritt', label: 'Auftritt' },
{ id: 'inhalte', label: 'Inhalte' }, { id: 'inhalte', label: 'Inhalte' },
{ id: 'community', label: 'Community' }, { id: 'community', label: 'Community' },
// Getrennt von „Technik": dort geht es um den Bot selbst, hier um die
// Spiele-Server drumherum. Wer seinen LS-Server einträgt, sucht ihn nicht
// neben der Datenbank-Sicherung.
{ id: 'gaming', label: 'Gaming' },
{ id: 'technik', label: 'Technik' }, { id: 'technik', label: 'Technik' },
{ id: 'zugang', label: 'Zugang' }, { id: 'zugang', label: 'Zugang' },
]; ];
@@ -66,8 +70,8 @@ const TABS = [
{ id: 'bewerbungen', Icon: IconApplications, label: 'Bewerbungen', section: 'community', { id: 'bewerbungen', Icon: IconApplications, label: 'Bewerbungen', section: 'community',
find: 'formular fragen bewerbung prüfen annehmen ablehnen' }, find: 'formular fragen bewerbung prüfen annehmen ablehnen' },
{ id: 'server', Icon: IconServer, label: 'Server', section: 'technik', { id: 'server', Icon: IconGame, label: 'Game-Server', section: 'gaming',
find: 'game server monitor fivem minecraft status spieler gamedig' }, find: 'game server monitor fivem minecraft ls landwirtschaft farming status spieler gamedig hof karte preise' },
{ id: 'system', Icon: IconSystem, label: 'System', section: 'technik', { id: 'system', Icon: IconSystem, label: 'System', section: 'technik',
find: 'backup gitea watchdog twitch youtube events sprachkanäle impressum datenschutz' }, find: 'backup gitea watchdog twitch youtube events sprachkanäle impressum datenschutz' },
+7 -3
View File
@@ -15,6 +15,10 @@ export const MODULE_GROUPS = [
{ id: 'inhalte', label: 'Inhalte & Feeds' }, { id: 'inhalte', label: 'Inhalte & Feeds' },
{ id: 'community', label: 'Community' }, { id: 'community', label: 'Community' },
{ id: 'moderation', label: 'Moderation & Support' }, { id: 'moderation', label: 'Moderation & Support' },
// Alles, was an einem Spiel hängt. Vorher stand der Game-Server-Monitor
// zwischen DB-Sicherung und Member-Gate — technisch verwandt, aber wer
// seinen Server einträgt, sucht ihn nicht unter „Technik".
{ id: 'gaming', label: 'Gaming' },
{ id: 'server', label: 'Server & Technik' }, { id: 'server', label: 'Server & Technik' },
]; ];
@@ -231,9 +235,9 @@ export const MODULES = [
], ],
}, },
/* ── Server & Technik ─────────────────────────── */ /* ── Gaming ──────────────────────────────────── */
{ {
id: 'server_monitor', group: 'server', name: 'Server-Monitor', id: 'server_monitor', group: 'gaming', name: 'Game-Server-Monitor',
desc: 'Live-Status der Game-Server mit Verlauf und Ausfall-Alarm.', desc: 'Live-Status der Game-Server mit Verlauf und Ausfall-Alarm.',
tab: 'server', default: true, tab: 'server', default: true,
fields: [ fields: [
@@ -243,7 +247,7 @@ export const MODULES = [
tool: { tab: 'server', label: 'Game-Server verwalten' }, tool: { tab: 'server', label: 'Game-Server verwalten' },
}, },
{ {
id: 'ls_farm', group: 'server', name: 'LS — Höfe & Preise', id: 'ls_farm', group: 'gaming', name: 'LS — Höfe & Preise',
desc: 'Landwirtschafts-Simulator: Besitzkarte mit Höfen, Fahrzeugen und Spielern, ' desc: 'Landwirtschafts-Simulator: Besitzkarte mit Höfen, Fahrzeugen und Spielern, '
+ 'dazu die Preiskurven übers Jahr. Braucht einen LS-Server mit Zugangs-Code unter „Game-Server".', + 'dazu die Preiskurven übers Jahr. Braucht einen LS-Server mit Zugangs-Code unter „Game-Server".',
tab: 'server', setting: 'ls_farm_enabled', tab: 'server', setting: 'ls_farm_enabled',