30 Commits

Author SHA1 Message Date
99ca25c9e3 Replace ATM10 with Biohazard: Project Genesis modpack
All checks were successful
Deploy GSM / deploy (push) Successful in 31s
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>
2026-04-04 23:27:58 +02:00
Alexander Zielonka
fe188cdab1 Auto-detect SteamCMD path on servers
All checks were successful
Deploy GSM / deploy (push) Successful in 23s
- 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>
2026-01-23 11:53:50 +01:00
Alexander Zielonka
6771722cdd Add SteamCMD-based updates for V Rising, Palworld, Zomboid, Terraria
All checks were successful
Deploy GSM / deploy (push) Successful in 24s
- 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>
2026-01-23 11:50:19 +01:00
Alexander Zielonka
68de66b0fd Fix Docker status: treat 'created' as offline, not starting
All checks were successful
Deploy GSM / deploy (push) Successful in 23s
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>
2026-01-23 11:47:25 +01:00
Alexander Zielonka
d840faeda9 Add modular server update feature with Discord notifications
All checks were successful
Deploy GSM / deploy (push) Successful in 25s
- Add serverUpdates.js service with handler registry for extensibility
- Implement Factorio Docker image update (pull + container recreate)
- Add GET/POST /servers/:id/update routes for check/perform
- Add ServerUpdateButton component with auto-check and confirm dialog
- Integrate update card in ServerDetail overview tab
- Auto-send Discord notification on successful update

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 11:42:22 +01:00
Alexander Zielonka
ed60bc33c7 Use server logos as thumbnails in Discord update embeds
All checks were successful
Deploy GSM / deploy (push) Successful in 23s
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>
2026-01-19 12:30:39 +01:00
0b5e573d45 Fix Terraria log parsing for player leave detection
All checks were successful
Deploy GSM / deploy (push) Successful in 24s
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>
2026-01-17 09:59:36 +01:00
df390e63e4 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>
2026-01-16 21:38:32 +01:00
6b4fb7aa47 Add localhost-only internal Discord update route
All checks were successful
Deploy GSM / deploy (push) Successful in 28s
2026-01-15 14:34:06 +01:00
751991143a Add Hytale to Discord bot alerts and status
All checks were successful
Deploy GSM / deploy (push) Successful in 28s
- 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>
2026-01-15 14:32:11 +01:00
14b031bb93 Fix API routes to fetch Hytale players without RCON
All checks were successful
Deploy GSM / deploy (push) Successful in 25s
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>
2026-01-15 14:28:17 +01:00
4b74010ccb Remove debug logging from Hytale player detection
All checks were successful
Deploy GSM / deploy (push) Successful in 28s
2026-01-15 14:25:45 +01:00
df4200d425 Fix autoshutdown to check Hytale players without RCON
All checks were successful
Deploy GSM / deploy (push) Successful in 25s
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>
2026-01-15 14:24:05 +01:00
a518bb2b7f Add debug logging to Hytale player detection
All checks were successful
Deploy GSM / deploy (push) Successful in 30s
2026-01-15 14:22:29 +01:00
30a7f3edf0 Fix Hytale player detection with correct log patterns
All checks were successful
Deploy GSM / deploy (push) Successful in 26s
- 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>
2026-01-15 14:19:04 +01:00
9a732c819c Add Hytale player detection via log parsing
All checks were successful
Deploy GSM / deploy (push) Successful in 26s
- 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>
2026-01-15 14:14:38 +01:00
7aad85c5d4 Fix Hytale prometheus metrics and config editor syntax highlighting
All checks were successful
Deploy GSM / deploy (push) Successful in 27s
- 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>
2026-01-15 13:55:28 +01:00
8a3690d61f Add Hytale config editor and Prometheus integration
All checks were successful
Deploy GSM / deploy (push) Successful in 25s
- 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>
2026-01-15 13:50:45 +01:00
b2dde62476 Add Hytale server support with tmux runtime
All checks were successful
Deploy GSM / deploy (push) Successful in 29s
- 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>
2026-01-15 13:39:58 +01:00
8447484270 Add Discord update API route
All checks were successful
Deploy GSM / deploy (push) Successful in 26s
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>
2026-01-12 03:13:49 +01:00
51b95240f2 Logging für REST Abfragen aus dem Palworld Server etnfernt
All checks were successful
Deploy GSM / deploy (push) Successful in 24s
2026-01-12 03:07:23 +01:00
4bfb870fbb Add Palworld player count and list support via RCON
All checks were successful
Deploy GSM / deploy (push) Successful in 41s
- Add ShowPlayers RCON command handling for Palworld servers
- Update SSH access documentation with jump host instructions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 20:58:11 +01:00
b07ec607eb Remove SQLite databases from git tracking
All checks were successful
Deploy GSM / deploy (push) Successful in 24s
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>
2026-01-10 13:55:25 +01:00
3dc7e9e7e7 Restrict server detail access for guests
All checks were successful
Deploy GSM / deploy (push) Successful in 26s
- 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>
2026-01-09 20:57:34 +01:00
Alexander Zielonka
2d9a5910fa Cleanup repo, add Gitea CI/CD workflow, improve error handling
All checks were successful
Deploy GSM / deploy (push) Successful in 1m25s
- 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>
2026-01-09 12:15:32 +01:00
f2f9e02fb2 zustand auf server wiederhergestellt 2026-01-09 08:43:18 +01:00
Alexander Zielonka
4fcc111def Add multi-guild Discord bot support with auto-setup
- Bot creates category and channels automatically when joining a server
- Channel structure: info, status, alerts, updates, diskussion, requests (forum)
- Add guild_settings database table for per-server configuration
- Add Discord bot invite button to Dashboard
- Add display settings API functions
- Add comprehensive Discord bot documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 18:29:13 +01:00
Alexander Zielonka
ff3fa0752e palworld added 2026-01-07 12:35:23 +01:00
2bb4dd723c ja 2026-01-07 02:41:37 +01:00
4194f68968 xd 2026-01-06 21:22:10 +01:00