Repository navigation
Client Mods on Servers
Your own mods (Installing Mods) come with you to a server. The server decides what they may do
there, in its server.toml:
[mods]
client_mods = "presentation" # presentation | any | none
client_scripts = true # whether players' own mods run their scripts hereclient_mods |
Your mods on that server |
|---|---|
presentation (the default) |
they change how the game looks and sounds; their changes to the ride are switched off for the session |
any |
they stay as they are, their changes to the ride too: they change your own ride, and the server still checks every rider |
none |
all of them are switched off for the session |
The browser shows each server's choice in its details: "client mods: their looks only", "all" or "none", and "their scripts: on" or "off".
These kinds change how the game plays, so presentation switches them off: tuning, scoring, event, drop,
lighting, object, model, character, gear, board, anim and trick. Everything else (textures, sounds,
music, skies, post-FX, particles, menus, strings, fonts, markers …) stays. See
Content IDs and Kinds.
Once the level shows the chat, a notice names the mods the server switched off (at most three names, then "N more").
With a mod mydata that patches the tuning, the scoring and an event, on a presentation server:
This server switches your mods' simulation changes off: mydata
Under none it reads "This server switches your mods off: …".
The notice comes again after the server's resources change during your session. When you leave, your mods are back as they were.
Before you join, the game works out every level the server runs with the server's resources, your mods' changes to
the ride left aside (under every choice: under any they still change your own ride once you are in), and compares
them with the server's. Your mods cause no refusal here. What does is another copy of the game whose files differ from
the server's, or the server's resources changing while you join. The join is then refused with the levels and where
each difference comes from (at most eight, then "and N more"), for example:
could not join <server>: content differs from the server's: <level>: the disc files differ from the server's
could not join <server>: content differs from the server's: <level>: "<id>" differs (yours from the game's disc, patched by the server's resource <name>)
Join again once the server's resources have settled; a copy of the game other than the server's cannot join it.
-
client_scripts = truelets your own mods' client scripts run on the server, as they do alone.falsestops them for the session. - While you join, your mods' scripts wait for the server's choice (the game's log: "the client mods' scripts wait for the server's client_scripts policy"), then start again or stay stopped with the server's reason. A server that sends no resource list states no choice: they stay stopped for that session.
- The server's own client scripts (its resources') run in your game only if you allow them: Options → Multiplayer → Servers' Scripts.
- Either way scripts stay in their sandbox: they see only what the API gives and cannot change the ride (Scripting Overview).
-
presentationlets players keep their textures, boards' looks and sounds while everyone rides by the same rules. -
anylets players ride with their own changes to the ride (fun servers): each player's mods change only that player's ride, and the server's checks of riders still apply. -
nonemakes everyone see the game as the server's resources make it. - What a server checks of riders does not depend on this setting: a modified game is still held to the server's checks.
Servers
- Hosting a Server
- Server Configuration
- Ports and Firewalls
- Server Console
- Operators and Remote Console
- Access Control List
- Bans and Mutes
- The Server List
- Query and LAN Discovery
- Server Resources
- Blocklists
- Maps and Gamemodes
- Logs and Metrics
- Running as a Service
- Running in Docker
- Joining a Server
Scripting
- Resource Packages
- Content IDs and Kinds
- Scripting Overview
- Server Script API
- Client Script API
- Events and Messages
- Script Permissions
- Script Examples
Modding