11 Commits
Author SHA1 Message Date
MrMahoandClaude Opus 5.5 6e2ef3b570 Server 2.10.5: far fewer save freezes
Saving makes the game of the asked player freeze for seconds. Joining now asks
for a fresh save only if the stored one is older than JoinSaveMaxAgeMinutes (15)
and something changed - otherwise the stored save plus the world state; regular
saves every 30 minutes (old untouched default 10 is migrated once) and marked
not urgent, so the game can wait for a calm moment (60 s deadline). 3 new tests (168).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 00:08:56 +02:00
MrMahoandClaude Opus 5.5 4cc71aa079 Server 2.10.4: HTTPS for the web panel and hostile client hardening
- Panel over HTTPS on the game port (TLS handshake detected like HTTP); self-signed
  certificate in data/panel_cert.pfx (fingerprint in the log) or an own PFX
  (PanelCertificatePath); remote HTTP is redirected to HTTPS (not locally / behind
  a proxy); cookie Secure over HTTPS; PanelHttps=false turns it off
- Panel login: also locked per user name (16 failures / 15 min), failure lists
  bounded, user names in the log without control characters
- panel_users.json, panel_sessions.json, server.json, certificate: owner-only on Linux
- Players: names/chat without control or direction characters (no fake log lines),
  no '<' '>' in names; '* ' system-style chat, msco.* messages (time/weather) and
  MSCO_INSTALL only from admins; NaN/absurd money changes dropped (could break the
  shared money for good)
- Extra headers: Permissions-Policy, Cross-Origin-Opener-Policy
- 11 new tests (165 pass)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 18:38:54 +02:00
MrMahoandClaude Opus 5.5 bb3efb8cc3 Server 2.10.1: remote management from the MSCO Launcher
- Polls the keymaster every 5 s for commands from the owner's launcher, runs only allowed
  commands (say, kick, ban, save, backup, restart, mods reload, status, players), sends results
  and the player list back
- RemoteManagement in server.json / web panel settings (on by default) to turn it off

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:11:14 +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 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 816c538705 Fewer hitches: regular save-game pull only when something changed since the last save (saving freezes the game briefly), default interval 10 min
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:36:07 +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
Nico MeisterandClaude Opus 5.5 7d090d10a8 README/comments: drop the txAdmin comparison
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 21:49:59 +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 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 0d289879f4 MSCO dedicated server 2.6: code, Docker, systemd, README
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:45:02 +02:00