mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-29 03:46:50 +01:00
Dedicated servers run at 20 TPS; still players at the low rate; message commands in the "/" menu
Server - Dedicated servers run at 20 network updates a second, fixed for now: whatever tps says in ReSkateServer.json is read as 20, and the tps command no longer changes it. A busy server's traffic, in and out, is its players' poses, and 20 a second is a third less than 30. Lobbies keep their own choice - A player who has not moved or turned for three seconds is sent on at five poses a second; the full rate is back with their first movement - "net" shows what a pose costs as sent, and what it would cost against a reference renewed every second, every quarter second, and against the pose before, measured on every fourth pose that arrives. It only measures: a nearer reference packs smaller, and this says by how much before the server is made to send them that way Game - The "/" menu on a dedicated server lists /w for everyone, and /msg, /msg-party and /msg-admins for admins. The server already answered them; the menu is the game's own list and never had them
This commit is contained in:
1 parent
737c1611af
commit
d540b88640
7 files changed
+85
-13
No files matched your search
@@ -163,7 +163,7 @@ ServerConfig load_config(const std::filesystem::path &file, std::vector<std::str
|
||||
};
|
||||
c.port = read_port("port", c.port);
|
||||
c.query_port = read_port("query_port", c.query_port);
|
||||
c.tps = root.value("tps", c.tps);
|
||||
c.tps = dedicated_tps; // not the file's (see ServerConfig::tps)
|
||||
c.voice_chat = root.value("voice_chat", c.voice_chat);
|
||||
c.voice_range = root.value("voice_range", c.voice_range);
|
||||
if (root.contains("distances")) {
|
||||
@@ -274,7 +274,7 @@ std::string config_error(const ServerConfig &c) {
|
||||
return "max_players must be 1 to " + std::to_string(max_players - 1) + ".";
|
||||
if (c.password.size() > 64) return "password must be at most 64 characters.";
|
||||
if (!c.welcome.empty() && !valid_chat_text(c.welcome)) return "welcome must be one chat line (at most 200 bytes).";
|
||||
if (!valid_multiplayer_tps(c.tps)) return "tps must be 20, 30, 60 or 120.";
|
||||
if (c.tps != dedicated_tps) return "tps is " + std::to_string(dedicated_tps) + " on dedicated servers.";
|
||||
if (!valid_voice_range(c.voice_range)) return "voice_range must be 50 to 1000.";
|
||||
if (!valid_object_limit(c.object_limit)) return "object_limit must be 0 (no limit) to " + std::to_string(max_object_limit) + ".";
|
||||
if (!c.distances.valid()) return "distances must be ordered: full_rate_return < half_rate_start <= half_rate_return < low_rate_start <= 10000.";
|
||||
|
||||
Reference in new issue
Block a user