Changed detection pattern from "hat das Spiel verlassen" to "ist weg"
to match actual Terraria server log format.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 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>
- Add hytale to serverDisplay config with icon 🏰 and color
- Fix fetchServerStatuses to get players for Hytale (no RCON)
- Enables player join/leave alerts for Hytale
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add server.type === 'hytale' check to player count API routes,
matching the fix in autoshutdown.js.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Hytale uses log parsing instead of RCON, so add explicit check for
server.type === 'hytale' to enable player count checking.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Join: [World|*] Player 'Name' joined world ... (UUID)
- Leave: [PlayerSystems] Removing player 'Name (Name)' from world ... (UUID)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add getHytalePlayers function to ssh.js that parses server logs
- Track player joins via [Universe|P] Adding player pattern
- Track disconnects via Removing player pattern
- Integrate with rcon.js getPlayers and getPlayerList functions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add missing "hytale" entry to SERVER_JOBS in prometheus.js
- Fix config editor regex bug that was corrupting CSS class names (e.g. text-cyan-400 becoming text-cyan-<span>400</span>)
- Use placeholder tokens to prevent numbers regex from matching inside already-replaced spans
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Node Exporter target for Hytale server (10.0.30.204:9100)
- Add Hytale config read/write functions to ssh.js
- Add GET/PUT /hytale/config API routes
- Create HytaleConfigEditor.jsx with JSON syntax highlighting
- Add Hytale config tab to ServerDetail.jsx
- Add stopCmd and port to Hytale server config
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add tmux runtime support to ssh.js (status, start, stop, logs, uptime)
- Add Hytale server configuration to config.json
- Add Hytale server info and logo to frontend (ServerCard, ServerDetail)
- Add Hytale emoji to Discord notification mapping
- Update documentation with Hytale server details
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds POST /api/servers/discord/send-update endpoint that allows
superadmins to send announcements to all Discord guild update channels.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Database files should not be in version control as they contain
production data that gets overwritten on each deployment.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add isGuest flag to UserContext
- Block guests from navigating to /server/:id route
- Make ServerCards non-clickable for guests
- Add rejectGuest middleware to backend
- Protect server detail endpoints (/:id, /metrics/history, /whitelist)
Guests can now only view the dashboard overview without accessing
individual server details.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove temp files and reorganize docs
- Add .gitea/workflows/deploy.yml for automated deployment
- Add unreachable host checks to server routes (/:id, logs, start/stop/restart)
- Add unreachable checks to config routes (zomboid, terraria, openttd)
- Return HTTP 503 with unreachable flag instead of crashing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>