diff --git a/Server/README.txt b/Server/README.txt index 69277deb..1ea22487 100644 --- a/Server/README.txt +++ b/Server/README.txt @@ -42,93 +42,18 @@ straight away (players are told to rejoin). Turn this off with ReSkateServer.json ------------------ +The settings are in sections; each setting below is listed under the section it is in, +like "server": {"name": "My server"}. A file from an older version, with every setting at +the top and some under older names, is read as it is and written back this way the first +time the server starts. + +"server" - The server itself: its name, who it lets in by password, and its ports. name Shown in the browser: 1-64 letters, numbers, spaces and - _ / [ ] ( ). -map The map everyone skates, named like the game's load command: - "San Vansterdam", "Isle of Grom", "Super Ultra Mega Resort", - "Stadium 1", or a custom map such as "bbcity" (see Custom maps). -map_pool The maps players may vote for and the rotation goes through, - in order, e.g. ["San Vansterdam", "Isle of Grom", "bbcity"]. - Empty (the default) allows every map the server knows. - Admins can still change to any map. -map_rotation_minutes Minutes on each map before the server moves to the next - one in map_pool (default 0: off). Players get a minute's - warning; the clock waits while nobody is on, and starts - over whenever the map changes (by a vote or an admin too). -max_players 1-249. -send_rate The most the server sends one player, in KB/s (default 900, - 128-16384). About 1100 is what reaches a player through - Steam's relays: set higher, what is lost is resent until the - connection is full of resends and half of everything is - lost. Console: rate , also for the players already on. -finger_distance Past this many metres (default 25) a player's fingers are not - sent moving: they stay as they were, and move again when the - player is nearer. Fingers are nearly half of every position - update and cannot be made out at that distance. 0 always - sends them. -pack_ms How long a message to a player may wait to go in the same - packet as the next ones, in milliseconds (default 10, 0 to - 50). A full server sends each player hundreds of small - messages a second, each in a packet of its own with its own - headers; packed, the same updates take fewer packets, less - bandwidth and less CPU. It adds up to that long to when an - update arrives. Voice is never held back. 0 sends every - message at once, as before. Takes effect on restart. -connection How players reach the server: "relay" (default) or "direct". - relay Through Steam's relay network. Nothing to open, and - the server never sees a player's address. The route - is Steam's choice and can be a long way round. - direct Straight to this server's "port" over UDP, which - must be open to the internet. The shortest route, - so the lowest ping. The server sees the addresses - of the players who connect this way, as any - dedicated server does; players never see each - other's. - A direct server still answers through the relays: a game - tries the port first and uses the relays if it gets no - answer in a few seconds, and a player can turn direct - connections off in their own settings. So "direct" never - keeps anyone out. Steam vouches for who each player is - either way. "net" shows who is direct, and the log has a - [direct] line for each player who asks to connect that way. -direct_address For "direct": the address players connect to, like - 203.0.113.7, when it is not the one the server's start-up - line calls its public IP. Some hosts send from one address - and take connections on another; use the one your panel - shows for the server. Empty (default): the public IP. -steam_debug true logs what Steam's own networking says it is doing: each - connection asked for, and what it refused or ignored and - why. For finding out why players cannot connect; it is a - lot of text, so turn it off again afterwards. -relay_everything true sends poses through the server even between players - whose games have linked to each other. For testing with a - few players; leave it false otherwise. -direct_port For "direct": the UDP port to listen on when it is not - "port" (default 0: "port"). Must differ from query_port. -bone_scale_limit How far a mod may resize part of a skater for the other - players (a "big head" mod and the like): the most a bone may - be scaled, 1 to 8. 1 (default) shows every skater at the - game's own proportions; 0 is no limit. The player with the - mod still sees it on their own screen. Console: - bone-scale <1-8>|off. -crowd_budget The most position updates a second one player is sent - (default 600, 0 for no limit). Players near each other are - sent at the full rate (tps); this only matters once more are - in one place than budget / tps, about 30 at 20 TPS. Then the - nearest stay at the full rate and the farthest of the crowd - drop to 10 and 5 a second, instead of everyone's connection - filling up. About 1000 is what reaches a player through - Steam's relays; more than that was seen to lose half. - Console: crowd |off. -reserved_slots How many of those are kept for the players in "reserved" and - the admins (default 0). With 64 players and 4 reserved slots, - anyone can join until 60 are on; the last 4 only they can - take. The browser still shows 64, and everyone else is told - the remaining slots are reserved. -reserved SteamID64s of the players with a reserved slot, e.g. - ["76561198000000000"]. Admins always have one. password Empty for anyone; otherwise players type it to join. -welcome A chat line sent to each player as they join. +welcome_message A chat line sent to each player as they join. listed false hides the server; players then need the code. +max_players 1-249. +port, query_port Steam game server ports (default 27015, 27016). steam_token A Steam game server login token, or empty (default). Without one the server signs in anonymously and gets a new Steam ID every start. With one it keeps the same Steam ID, printed at startup. @@ -139,36 +64,70 @@ steam_token A Steam game server login token, or empty (default). Without only servers that have one; the server says so in its log when that hides it. Players can always join with the code. auto_update Install new ReSkate releases when nobody is on (default true). -global_bans Turn away players the ReSkate team has banned from multiplayer +activity_log Log what players do (default true): throwdown drops placed, + joins, starts, turns and results; objects placed or removed; + how long players take to load. + +"access" - Who runs the server and who always has a place on it. +admins SteamID64s (as strings) who may change settings in-game. +reserved_players_slots + SteamID64s of the players with a reserved slot, e.g. + ["76561198000000000"] (default none). A slot is kept free + for each of them who is not on: with 64 players and 4 + listed, none of them on, anyone can join until 60 are on + and only they can take the last 4. One who is on has taken + theirs. The browser still shows 64, and everyone else is + told the remaining slots are reserved. Admins may take a + kept slot too, but none is kept for them. Must list fewer + players than max_players. +use_global_bans Turn away players the ReSkate team has banned from multiplayer (default true). The list is read from api.reskate.dev at startup and every ten minutes. false lets them in; the server's own - "bans" apply either way. -votes Player votes, each off until turned on: - "map": {"enabled": true, "percent": 60} /vote map - (a map in map_pool) - "kick": {"enabled": true, "percent": 60} /vote kick - "time_of_day": {"enabled": true, "percent": 50} /vote tod