Commit Graph
21 Commits
Author SHA1 Message Date
MrMahoandClaude Opus 5.5 06a58e08d5 Store job/shop values and vehicle switch states for late joiners (2.9.2)
WorldVars and VehicleControls were only relayed; players joining later only
got them with the next save pull. They are now stored in world.json (cleared
with a new save) and appended to the world snapshot (old clients ignore it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 14:11:05 +02:00
MrMahoandClaude Opus 5.5 e523e5e17b Own server tags in the web panel (Settings) and server.json
Tags (max. 6, normalized like the keymaster) are sent with the heartbeat;
official and featured are only given by the MSCO admins and are refused with
a note. MSCO_TAGS environment variable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 21:20:06 +02:00
MrMahoandClaude Opus 5.5 1ab9a01efb Server updates from the web panel with progress screen
- Updater checks git.mbm.wtf every 6 h (and on demand) for a newer <Version>
  on main, shows the new commits and the required mod version
- Install: download the source, build it with dotnet publish into
  data/app/current, warn players and restart (exit code 75 for Docker/systemd,
  self-relaunch on Windows). At startup a newer installed update is loaded in
  its own AssemblyLoadContext; after 3 failed starts the built-in version runs
- Panel: Update page, sidebar badge, full-screen progress overlay (download,
  build, install, restart) that survives the restart and reloads the panel
- Panel sessions survive restarts (hashed tokens in data/panel_sessions.json)
- Docker image is based on the .NET SDK so it can build updates
- Version 2.9.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 21:07:09 +02:00
MrMahoandClaude Opus 5.5 1a2431db3a License: running server keeps running until the next restart
The configurable LicenseGraceHours setting is gone. If the master is down or
rejects the key, a running server now only warns and keeps running until the
next restart; a (re)start still works up to 72 h after the last confirmation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:45:38 +02:00
MrMahoandClaude Opus 5.5 14db3ef4f4 License grace period: keep running when the master is down or rejects the key (LicenseGraceHours, default 72 h), start with the last confirmed license, auto-retry; panel restart button (port/panel settings without program restart, login kept); tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:02:05 +02:00
MrMahoandClaude Opus 5.5 8df6cbcafc Panel: German/English, redesigned sidebar, in-game admins page, Steam Web API key link, RAR/7z save upload (SharpCompress), responsive cards; upload errors return 400; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:40:46 +02:00
MrMahoandClaude Opus 5.5 c74c48dfc8 Panel independent of the game server: ServerHost owns port + panel and starts/stops the game server; panel works while stopped/crashed/unconfigured (settings, save ZIP upload, backups, bans offline); crash auto-restart; players told 'offline'; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:02:08 +02:00
MrMahoandClaude Opus 5.5 f8aad82d18 Web panel (like txAdmin) on the game port: login/roles/users, players, kick/ban/op, bans, live console, world reset/backups/restore, settings editor, save ZIP upload/download, start/stop/restart; in-process restart loop; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:18:58 +02:00
MrMahoandClaude Opus 5.5 f23671704d reset-world restores the original save (reset point in data/save_original), set-reset-point; per-player needs stored and returned; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:48:28 +02:00
MrMahoandClaude Opus 5.5 53cda0cbc2 Relay vehicle controls; on shutdown tell players to reconnect (restart) instead of a final disconnect
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:51:48 +02:00
MrMahoandClaude Opus 5.5 0f62c17c90 Admin world actions (reset, backup, restore) over AdminAction; backup list in admin list; 'backup' command; safer restore via staging; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:43:48 +02:00
MrMahoandClaude Opus 5.5 9444ffa109 Cap consumed-item reports per player (max 20/min); test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:31:54 +02:00
MrMahoandClaude Opus 5.5 eac0ac046b Relay car door angles (HingeStates); test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 15:13:13 +02:00
MrMahoandClaude Opus 5.5 6f8474d66b 2.8: relay bought/consumed items (stored for joiners), crash damage, job values, traffic (world authority only); tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:58:47 +02:00
MrMahoandClaude Opus 5.5 2deb6d2d1e Server gets the current save game from a player in the game (on join and every few minutes) instead of replaying actions; vehicle fire/smoke synced, also for parked cars
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 11:15:45 +02:00
MrMahoandClaude Opus 5.5 57e1d3d3a8 Server closes connections gracefully so kick/ban/reset/shutdown messages arrive; status dot and HUD yellow until really connected (also while reconnecting)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 11:00:06 +02:00
MrMahoandClaude Opus 5.5 08844b18ac Show why you were disconnected in the main menu; reset-world / reload-save make all players reconnect automatically
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:46:45 +02:00
MrMahoandClaude Opus 5.5 85fbb8a3ce Admin: spawn items (saved on the server), unban (menu tab + console), tabbed admin menu; dashboard needles and steering wheel synced; server browser row opens the profile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:15:35 +02:00
MrMahoandClaude Opus 5.5 ba396146f2 Passenger: player colliders off while riding (they pushed seats/parts out, physics crashed); last position: not overwritten by the save's start point, invalid positions ignored, saved when a player leaves
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 09:51:37 +02:00
MrMahoandClaude Opus 5.5 d784c88841 Version 2.7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 23:58:11 +02:00
MrMahoandClaude Opus 5.5 c70b284e17 Security: admin rights only for Steam-verified SteamIDs; protocol test suite (Tests/)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 23:51:18 +02:00