Add Terraria player detection via log parsing
All checks were successful
Deploy GSM / deploy (push) Successful in 27s

- Add getTerrariaPlayers function in ssh.js for PM2 log parsing
- Support German and English join/leave messages
- Update rcon.js to use Terraria log parsing
- Add Terraria to player fetch conditions in servers.js
- Update autoshutdown.js and discordBot.js for Terraria support
- Update config path to tModLoader directory
- Add global error handlers in server.js
- Update CLAUDE.md with deployment rules and Terraria info

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-16 21:38:32 +01:00
parent c010065963
commit df390e63e4
7 changed files with 90 additions and 11 deletions

View File

@@ -17,7 +17,7 @@ The homelab consists of:
- **V Rising Server (192.168.2.52)**: Dedicated server (LXC)
- **Palworld Server (192.168.2.53)**: Dedicated server with systemd (LXC)
- **Project Zomboid Server (10.0.30.66)**: Dedicated server (external VM)
- **Terraria Server (10.0.30.202)**: Vanilla server mit PM2 (external VM, VPN)
- **Terraria Server (10.0.30.202)**: tModLoader mit Calamity Mod, PM2 (external VM, VPN)
- **Hytale Server (10.0.30.204)**: Dedicated server mit tmux (external VM, VPN)
## Key Technical Details
@@ -61,11 +61,21 @@ ssh root@192.168.2.30 'curl -X POST http://localhost:3000/api/servers/discord/in
**Server ohne RCON (Spielererkennung via Log-Parsing)**:
- Hytale: Spieler werden über Server-Logs erkannt (`[World|*] Player joined` / `[PlayerSystems] Removing player`)
- Terraria: Spieler werden über PM2-Logs erkannt (`ist beigetreten` / `hat das Spiel verlassen`)
- Bei neuen Servern ohne RCON: `server.type === 'serverid'` zu folgenden Dateien hinzufügen:
- `services/autoshutdown.js` (Zeile ~50)
- `services/discordBot.js` (fetchServerStatuses, Zeile ~379)
- `routes/servers.js` (zwei Stellen, suche nach `rconPassword || server.type`)
## Deployment
**WICHTIG: NIEMALS per SCP deployen!** Alle Änderungen am GSM-Code müssen:
1. Lokal committed werden
2. Auf GitHub gepusht werden
3. Das CI/CD-System deployt automatisch auf den Server
Kein manuelles Kopieren von Dateien per SCP, rsync oder ähnlichem!
## Language Note
Documentation is written in German.