mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Updated how the automatic timeout closes the session on the portal side. A lot cleaner now.
This commit is contained in:
parent
895f8504cd
commit
000f14c028
4 changed files with 4 additions and 17 deletions
|
|
@ -196,12 +196,11 @@ CMDLINE_HELP = \
|
|||
|
||||
VERSION_INFO = \
|
||||
"""
|
||||
{about}
|
||||
Evennia {version}
|
||||
OS: {os}
|
||||
Python: {python}
|
||||
Twisted: {twisted}
|
||||
Django: {django}
|
||||
Django: {django}{about}
|
||||
"""
|
||||
|
||||
ABOUT_INFO= \
|
||||
|
|
|
|||
|
|
@ -122,14 +122,9 @@ class PortalSessionHandler(SessionHandler):
|
|||
from the portal side.
|
||||
"""
|
||||
sessid = session.sessid
|
||||
if sessid in self.sessions:
|
||||
del self.sessions[sessid]
|
||||
del session
|
||||
# tell server to also delete this session
|
||||
self.portal.amp_protocol.call_remote_ServerAdmin(sessid,
|
||||
operation=PDISCONN)
|
||||
|
||||
|
||||
def server_connect(self, protocol_path="", config=dict()):
|
||||
"""
|
||||
Called by server to force the initialization of a new
|
||||
|
|
|
|||
|
|
@ -65,8 +65,8 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
|||
delay(2, callback=self.handshake_done, retval=True)
|
||||
|
||||
# set up a keep-alive
|
||||
self.keep_alive = LoopingCall(self._write, IAC + NOP, now=False)
|
||||
self.keep_alive.start(30)
|
||||
self.keep_alive = LoopingCall(self._write, IAC + NOP)
|
||||
self.keep_alive.start(30, now=False)
|
||||
|
||||
|
||||
def handshake_done(self, force=False):
|
||||
|
|
|
|||
|
|
@ -185,14 +185,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
session = self.sessions.get(sessid, None)
|
||||
if not session:
|
||||
return
|
||||
player = session.player
|
||||
if player:
|
||||
nsess = len(self.sessions_from_player(player)) - 1
|
||||
remaintext = nsess and "%i session%s remaining" % (nsess, nsess > 1 and "s" or "") or "no more sessions"
|
||||
session.log(_('Connection dropped: %s %s (%s)' % (session.player, session.address, remaintext)))
|
||||
session.at_disconnect()
|
||||
session.disconnect()
|
||||
del self.sessions[session.sessid]
|
||||
self.disconnect(session)
|
||||
|
||||
def portal_sessions_sync(self, portalsessions):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue