Objects: other players' objects are ghosts by default, and their card is a visitor's

Objects other players place are spawned locally, so the game took every one
for the local player's own: all were solid, and their card offered the
owner's buttons and named the wrong player.
- Other players' objects are ghosts the skater passes through, as in the
  game's own sessions. Each player's row in the session menu has an
  "Objects: solid / ghost" switch, remembered by Steam ID; a dedicated
  server's own objects (its parks) are solid unless switched off.
  `mp objects-solid <SteamID64|server> on|off` does the same.
- The card's own Disable and Enable on one object stand over that player's
  setting until the setting is changed.
- The card on an object someone else placed no longer offers Edit or
  Delete: the game's "is this mine" and "may this be edited" checks answer
  for who really placed it. It offers Disable instead.
- The card names the owner of the object it is for, read from the card's
  own script, instead of the owner of the object nearest the skater.
- A dedicated server has a player card of its own, "Server", shown on what
  it placed.
Server: the Mods folder is kept when the configuration is reloaded. A park
mod was reported as not being in the Mods folder after a reload.
This commit is contained in:
AyeZeeBB committed 2026-10-13 03:37:45 -05:00
1 parent 30a320ff62
commit 28118efc27
20 files changed
+475 -78

No files matched your search

+3
View File
@@ -245,6 +245,9 @@ void ServerEngine::run_startup() {
try {
config_ = load_config(config_file_);
} catch (...) {}
// Not part of the file, so a reload leaves it empty: park mods were then looked for
// beside the server instead of in Mods ("is not in the Mods folder").
config_.mods = folder_ / "Mods";
// If auto-update is configured and updates are enabled, check and apply update before opening ports
if (config_.auto_update && updates_enabled()) {