This commit is contained in:
Alexander Zielonka
2026-01-07 08:03:19 +01:00
parent 5049e7791f
commit c74ac543aa
3 changed files with 58 additions and 29 deletions

File diff suppressed because one or more lines are too long

View File

@@ -109,6 +109,9 @@ Internet
- Minecraft Whitelist-Verwaltung mit serverseitigem Caching - Minecraft Whitelist-Verwaltung mit serverseitigem Caching
- Rollensystem: user, moderator, superadmin - Rollensystem: user, moderator, superadmin
**Todos:**
- Auto-Shutdown: Gameserver automatisch abschalten wenn zu lange kein Spieler online war
**Prometheus Targets:** **Prometheus Targets:**
- localhost:9100 (monitor) - localhost:9100 (monitor)
- 192.168.2.50:9100 (factorio) - 192.168.2.50:9100 (factorio)
@@ -156,6 +159,39 @@ Internet
--- ---
### Project Zomboid Server (pzuser@10.0.30.66) - Extern via WireGuard
| Eigenschaft | Wert |
|-------------|------|
| Runtime | screen |
| Screen Name | zomboid |
| RCON Port | 27015 |
| Pfad | /opt/pzserver |
| Log | /home/pzuser/Zomboid/server-console.txt |
| Netzwerk | Erreichbar via WireGuard-Tunnel "melih" |
---
## WireGuard VPN
Der Gameserver-Monitor (.30) nutzt einen WireGuard-Tunnel um externe Server (z.B. Zomboid auf 10.0.30.66) zu erreichen.
**Interface:** melih
**Lokale IP:** 10.0.200.201/32
### WireGuard Watchdog
Ein Cronjob prueft alle 2 Minuten ob der Tunnel aktiv ist und startet ihn bei Bedarf neu.
| Komponente | Wert |
|------------|------|
| Script | /usr/local/bin/wg-watchdog.sh |
| Cronjob | */2 * * * * |
| Timeout | 5 Minuten ohne Handshake |
| Log | /var/log/wg-watchdog.log |
---
## SSH-Zugang ## SSH-Zugang
Der Gameserver-Monitor (.30) hat SSH-Key-Zugang zu: Der Gameserver-Monitor (.30) hat SSH-Key-Zugang zu:
@@ -170,12 +206,19 @@ Key: /root/.ssh/id_ed25519
## Wartung ## Wartung
### Backend neu starten ### Backend (PM2)
``` ```bash
ssh root@192.168.2.30 "pkill -f 'node server.js'; cd /opt/gameserver-monitor/backend && node server.js &" # Status pruefen
ssh root@192.168.2.30 "pm2 status"
# Logs anschauen
ssh root@192.168.2.30 "pm2 logs gameserver-backend --lines 50"
# Neu starten
ssh root@192.168.2.30 "pm2 restart gameserver-backend"
``` ```
### Frontend neu bauen ### Frontend neu bauen
``` ```bash
ssh root@192.168.2.30 "cd /opt/gameserver-monitor/frontend && npm run build && nginx -s reload" ssh root@192.168.2.30 "cd /opt/gameserver-monitor/frontend && npm run build && nginx -s reload"
``` ```

24
todo.md
View File

@@ -2,15 +2,6 @@
## Prioritaet Hoch ## Prioritaet Hoch
- [ ] **Pentest fuer Server durchfuehren**
- [ ] Portscan aller Server (nmap)
- [ ] SSH-Konfiguration pruefen (fail2ban, Key-Only)
- [ ] RCON-Passwoerter auf Staerke pruefen
- [ ] Firewall-Regeln auditieren
- [ ] SSL/TLS-Konfiguration testen
- [ ] Nginx-Sicherheitsheader pruefen
- [ ] JWT-Secret Rotation implementieren
- [ ] **GSM Modularisierung & Wiederverwendbarkeit** - [ ] **GSM Modularisierung & Wiederverwendbarkeit**
- [ ] Server-Typen als Plugins auslagern (minecraft, factorio, vrising, ...) - [ ] Server-Typen als Plugins auslagern (minecraft, factorio, vrising, ...)
- [ ] Generisches Interface fuer neue Gameserver-Typen - [ ] Generisches Interface fuer neue Gameserver-Typen
@@ -44,18 +35,3 @@
- [ ] Player-Statistiken (Spielzeit, Join-History) - [ ] Player-Statistiken (Spielzeit, Join-History)
- [ ] Changelog/Audit-Log fuer Admin-Aktionen - [ ] Changelog/Audit-Log fuer Admin-Aktionen
## Erledigt
- [x] ~~Admin-Passwort im GSM aenderbar~~ (UI)
- [x] ~~JWT_SECRET sicher setzen~~
- [x] ~~Prometheus + Grafana installieren~~
- [x] ~~Grafana extern erreichbar~~
- [x] ~~Benutzer-Verwaltung (Rollensystem)~~
- [x] ~~Ressourcen-Graphen (CPU/RAM Historie)~~
- [x] ~~Oeffentliches Dashboard~~
- [x] ~~Whitelist-Caching serverseitig~~
- [x] ~~Gameserver-Uptime statt Host-Uptime~~
- [x] ~~Game-Logos in UI~~
- [x] ~~Navbar-Logo mit Hover-Effekt~~
- [x] ~~V Rising Server hinzugefuegt~~
- [x] ~~Factorio World Management (Save-Auswahl, Welt erstellen, Templates, Settings anzeigen)~~