Add portal uptime to @time command.
This commit is contained in:
parent
1f3d8d1b96
commit
040cc2aa9f
6 changed files with 20 additions and 1 deletions
|
|
@ -710,6 +710,7 @@ class CmdTime(COMMAND_DEFAULT_CLASS):
|
||||||
"""Show server time data in a table."""
|
"""Show server time data in a table."""
|
||||||
table1 = EvTable("|wServer time", "", align="l", width=78)
|
table1 = EvTable("|wServer time", "", align="l", width=78)
|
||||||
table1.add_row("Current uptime", utils.time_format(gametime.uptime(), 3))
|
table1.add_row("Current uptime", utils.time_format(gametime.uptime(), 3))
|
||||||
|
table1.add_row("Portal uptime", utils.time_format(gametime.portal_uptime(), 3))
|
||||||
table1.add_row("Total runtime", utils.time_format(gametime.runtime(), 2))
|
table1.add_row("Total runtime", utils.time_format(gametime.runtime(), 2))
|
||||||
table1.add_row("First start", datetime.datetime.fromtimestamp(gametime.server_epoch()))
|
table1.add_row("First start", datetime.datetime.fromtimestamp(gametime.server_epoch()))
|
||||||
table1.add_row("Current time", datetime.datetime.now())
|
table1.add_row("Current time", datetime.datetime.now())
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,7 @@ class AMPServerClientProtocol(amp.AMPMultiConnectionProtocol):
|
||||||
server_restart_mode = kwargs.get("server_restart_mode", "shutdown")
|
server_restart_mode = kwargs.get("server_restart_mode", "shutdown")
|
||||||
self.factory.server.run_init_hooks(server_restart_mode)
|
self.factory.server.run_init_hooks(server_restart_mode)
|
||||||
server_sessionhandler.portal_sessions_sync(kwargs.get("sessiondata"))
|
server_sessionhandler.portal_sessions_sync(kwargs.get("sessiondata"))
|
||||||
|
server_sessionhandler.portal_start_time = kwargs.get("portal_start_time")
|
||||||
|
|
||||||
elif operation == amp.SRELOAD: # server reload
|
elif operation == amp.SRELOAD: # server reload
|
||||||
# shut down in reload mode
|
# shut down in reload mode
|
||||||
|
|
|
||||||
|
|
@ -428,7 +428,8 @@ class AMPServerProtocol(amp.AMPMultiConnectionProtocol):
|
||||||
self.send_AdminPortal2Server(amp.DUMMYSESSION,
|
self.send_AdminPortal2Server(amp.DUMMYSESSION,
|
||||||
amp.PSYNC,
|
amp.PSYNC,
|
||||||
server_restart_mode=server_restart_mode,
|
server_restart_mode=server_restart_mode,
|
||||||
sessiondata=sessdata)
|
sessiondata=sessdata,
|
||||||
|
portal_start_time=self.factory.portal.start_time)
|
||||||
self.factory.portal.sessions.at_server_connection()
|
self.factory.portal.sessions.at_server_connection()
|
||||||
|
|
||||||
if self.factory.server_connection:
|
if self.factory.server_connection:
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ from builtins import object
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
from os.path import dirname, abspath
|
from os.path import dirname, abspath
|
||||||
from twisted.application import internet, service
|
from twisted.application import internet, service
|
||||||
|
|
@ -114,6 +115,8 @@ class Portal(object):
|
||||||
self.server_restart_mode = "shutdown"
|
self.server_restart_mode = "shutdown"
|
||||||
self.server_info_dict = {}
|
self.server_info_dict = {}
|
||||||
|
|
||||||
|
self.start_time = time.time()
|
||||||
|
|
||||||
# in non-interactive portal mode, this gets overwritten by
|
# in non-interactive portal mode, this gets overwritten by
|
||||||
# cmdline sent by the evennia launcher
|
# cmdline sent by the evennia launcher
|
||||||
self.server_twistd_cmd = self._get_backup_server_twistd_cmd()
|
self.server_twistd_cmd = self._get_backup_server_twistd_cmd()
|
||||||
|
|
|
||||||
|
|
@ -280,6 +280,8 @@ class ServerSessionHandler(SessionHandler):
|
||||||
super(ServerSessionHandler, self).__init__(*args, **kwargs)
|
super(ServerSessionHandler, self).__init__(*args, **kwargs)
|
||||||
self.server = None # set at server initialization
|
self.server = None # set at server initialization
|
||||||
self.server_data = {"servername": _SERVERNAME}
|
self.server_data = {"servername": _SERVERNAME}
|
||||||
|
# will be set on psync
|
||||||
|
self.portal_start_time = 0.0
|
||||||
|
|
||||||
def _run_cmd_login(self, session):
|
def _run_cmd_login(self, session):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,17 @@ def uptime():
|
||||||
return time.time() - SERVER_START_TIME
|
return time.time() - SERVER_START_TIME
|
||||||
|
|
||||||
|
|
||||||
|
def portal_uptime():
|
||||||
|
"""
|
||||||
|
Get the current uptime of the portal.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
time (float): The uptime of the portal.
|
||||||
|
"""
|
||||||
|
from evennia.server.sessionhandler import SESSIONS
|
||||||
|
return time.time() - SESSIONS.portal_start_time
|
||||||
|
|
||||||
|
|
||||||
def game_epoch():
|
def game_epoch():
|
||||||
"""
|
"""
|
||||||
Get the game epoch.
|
Get the game epoch.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue