aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/script/lua_api/l_server.cpp10
-rw-r--r--src/script/lua_api/l_server.h3
-rw-r--r--src/server.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp
index 95e5da07f..b6d44e0ff 100644
--- a/src/script/lua_api/l_server.cpp
+++ b/src/script/lua_api/l_server.cpp
@@ -45,6 +45,15 @@ int ModApiServer::l_get_server_status(lua_State *L)
return 1;
}
+// get_server_uptime()
+int ModApiServer::l_get_server_uptime(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ lua_pushnumber(L, getServer(L)->getUptime());
+ return 1;
+}
+
+
// print(text)
int ModApiServer::l_print(lua_State *L)
{
@@ -507,6 +516,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_worldpath);
API_FCT(is_singleplayer);
diff --git a/src/script/lua_api/l_server.h b/src/script/lua_api/l_server.h
index 06a5ddc24..1ad46d440 100644
--- a/src/script/lua_api/l_server.h
+++ b/src/script/lua_api/l_server.h
@@ -30,6 +30,9 @@ private:
// get_server_status()
static int l_get_server_status(lua_State *L);
+ // get_server_uptime()
+ static int l_get_server_uptime(lua_State *L);
+
// get_worldpath()
static int l_get_worldpath(lua_State *L);
diff --git a/src/server.h b/src/server.h
index 5fc2a9133..f8b3ec106 100644
--- a/src/server.h
+++ b/src/server.h
@@ -216,6 +216,7 @@ public:
// Connection must be locked when called
std::wstring getStatusString();
+ inline double getUptime() const { return m_uptime.m_value; }
// read shutdown state
inline bool getShutdownRequested() const { return m_shutdown_requested; }