- 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
- 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
- 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
- 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