Switched Minecraft server from All the Mods 10 to Biohazard: Project Genesis
(Beta 0.4.5, MC 1.20.1 + Forge 47.4.0). Updated server name, Discord bot
display, frontend modpack link, and documentation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add findSteamCmd() helper that searches common locations
- Provide path hints per server type as fallback
- Remove hardcoded paths, more robust for different setups
- Check /usr/games/steamcmd, ~/steamcmd/, ~/Steam/ etc.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create generic SteamCMD handler factory for reusable update logic
- Check build IDs via appmanifest files and Steam API
- Support V Rising (1829350), Palworld (2394010), Zomboid (380870), tModLoader (1281930)
- Show update button for all supported server types in UI
- Minecraft, OpenTTD, Hytale marked as manual-update-only
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Container status 'created' means it was never started yet (e.g. after
docker create during update), so it should show as offline.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replaced emoji icons with actual server logos from gsm.zeasy.dev
as embed thumbnails for a more professional look.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>