]> git.lizzy.rs Git - minetest.git/commitdiff
Add get_server_max_lag() (#11671)
authorWuzzy <wuzzy2@mail.ru>
Tue, 5 Oct 2021 12:35:55 +0000 (12:35 +0000)
committerGitHub <noreply@github.com>
Tue, 5 Oct 2021 12:35:55 +0000 (15:35 +0300)
doc/lua_api.txt
src/script/lua_api/l_server.cpp
src/script/lua_api/l_server.h

index 9efe1afe7e22372c328e553802e8a533d01996f2..e6cabb68e2fb97cb7b799bcc4c166727127461a2 100644 (file)
@@ -5647,6 +5647,8 @@ Server
       a player joined.
     * This function may be overwritten by mods to customize the status message.
 * `minetest.get_server_uptime()`: returns the server uptime in seconds
+* `minetest.get_server_max_lag()`: returns the current maximum lag
+  of the server in seconds or nil if server is not fully loaded yet
 * `minetest.remove_player(name)`: remove player from database (if they are not
   connected).
     * As auth data is not removed, minetest.player_exists will continue to
index 473faaa14430d7ea2484e12c7253e3311001bbd8..6438fa6fded711e2857dc3c6a79f51d3757fd98f 100644 (file)
@@ -57,6 +57,17 @@ int ModApiServer::l_get_server_uptime(lua_State *L)
        return 1;
 }
 
+// get_server_max_lag()
+int ModApiServer::l_get_server_max_lag(lua_State *L)
+{
+       NO_MAP_LOCK_REQUIRED;
+       ServerEnvironment *s_env = dynamic_cast<ServerEnvironment *>(getEnv(L));
+       if (!s_env)
+               lua_pushnil(L);
+       else
+               lua_pushnumber(L, s_env->getMaxLagEstimate());
+       return 1;
+}
 
 // print(text)
 int ModApiServer::l_print(lua_State *L)
@@ -512,6 +523,7 @@ void ModApiServer::Initialize(lua_State *L, int top)
        API_FCT(request_shutdown);
        API_FCT(get_server_status);
        API_FCT(get_server_uptime);
+       API_FCT(get_server_max_lag);
        API_FCT(get_worldpath);
        API_FCT(is_singleplayer);
 
index c688e494b9be0393c7765711bd5ebac18f4d7cbb..a6f7097870cc281a2af90041179e4ba90927b5a2 100644 (file)
@@ -33,6 +33,9 @@ class ModApiServer : public ModApiBase
        // get_server_uptime()
        static int l_get_server_uptime(lua_State *L);
 
+       // get_server_max_lag()
+       static int l_get_server_max_lag(lua_State *L);
+
        // get_worldpath()
        static int l_get_worldpath(lua_State *L);