Commit Graph
4 Commits
Author SHA1 Message Date
Robin MöllerandClaude Opus 5.5 dbb5cf8caa Park mods: fit to roles
- park-mod is a command a role can list: the admin role's "*" gives it, the
  default moderator role does not (spawning parks and changing the saved
  setup are the owner's call); command() checks the caller's role as for
  every other command, and custom votes still run it as the console
- The client's "/" menu shows the park-mod rows by role like the other
  server commands there, by the row's first word (resolved in the rebased
  client commit)
- README-roles.txt lists park-mod; README.txt says who may use it
- Tests: the admin role has park-mod and the moderator and player roles do
  not; in game a moderator is refused and a role listing park-mod is not

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2G4APEkhHgVs59RDL3XWD
2026-10-11 17:52:49 +00:00
Robin MöllerandClaude Opus 5.5 f8b01dc3d5 Park mods: reload and set up parks while the server runs
- park-mod reload <name> [<name>...] reads a spawned park's file again and
  swaps its objects in place, keeping its timer; all or none, within
  park_limits, and players are told the park was updated
- park-mod config add <name> | <mod folder> | <map> [| <key>] and
  park-mod config remove <name> change maps.park_mods without a restart,
  validated like the startup config and saved like the map pool; removing a
  spawned park's entry removes the park too
- The client's admin "/" menu lists reload, config add and config remove
- README.txt and help cover the new commands; server_park_mods tests reload
  (in place, timer kept, refused when not spawned or broken) and config
  add/remove (saved, refusals, by an admin)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2G4APEkhHgVs59RDL3XWD
2026-10-11 17:46:45 +00:00
Robin MöllerandClaude Opus 5.5 c3751b9714 Park mods: name the Mods folder, not the server's path
- A missing mod folder reads "The mod folder "x" is not in the Mods folder."
  instead of printing where the server is installed; the reason can reach chat
  through an admin's command or a vote
- server_park_mods checks the exact message

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2G4APEkhHgVs59RDL3XWD
2026-10-11 17:46:32 +00:00
Robin MöllerandClaude Opus 5.5 0193e4fadc Server tests: park mods
- server_config: park_mods and park_limits are new settings with defaults,
  round-trip (folders with spaces), and refuse bad names, folders, maps, keys
  and limits; a missing folder is not a config error
- server_park_mods: reads the fixture parks (a shortened copy of a player's
  street park, objects to skip, a missing key, broken files) and drives the host
  over a fake transport: a player's game takes the park from the server's own
  SteamID through routed_source and ObjectState, several parks at once, the
  limits (all or none), expiry with its warning, admin and vote spawns, late
  joiners, clear, and removal on a map change

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2G4APEkhHgVs59RDL3XWD
2026-10-11 17:46:05 +00:00