From bab89b191b7624c2eb4bb6ee4867f93907e21ce9 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 1 Oct 2011 12:44:30 +0200 Subject: [PATCH] Resolves issue 195. A typo in the sessionhandler that lead to big consequences. --- src/server/amp.py | 11 +++++------ src/server/serversession.py | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/server/amp.py b/src/server/amp.py index e82668aa10..7a740dd29e 100644 --- a/src/server/amp.py +++ b/src/server/amp.py @@ -194,6 +194,7 @@ class AMPProtocol(amp.AMP): """ if hasattr(self.factory, "portal"): sessdata = self.factory.portal.sessions.get_all_sync_data() + print sessdata self.call_remote_ServerAdmin(0, "PSYNC", data=sessdata) @@ -266,7 +267,7 @@ class AMPProtocol(amp.AMP): data = pickle.loads(utils.to_str(data)) #print "serveradmin (server side):", sessid, operation, data - + if operation == 'PCONN': #portal_session_connect # create a new session and sync it sess = ServerSession() @@ -278,7 +279,7 @@ class AMPProtocol(amp.AMP): sess.at_sync() # this runs initialization without acr self.factory.server.sessions.portal_connect(sessid, sess) - + elif operation == 'PDISCONN': #'portal_session_disconnect' # session closed from portal side self.factory.server.sessions.portal_disconnect(sessid) @@ -295,10 +296,9 @@ class AMPProtocol(amp.AMP): sess.load_sync_data(sessdict) if sess.uid: sess.player = PlayerDB.objects.get_player_from_uid(sess.uid) - sesslist.append(sess) + sesslist.append(sess) # replace sessions on server server_sessionhandler.portal_session_sync(sesslist) - # after sync is complete we force-validate all scripts (this starts everthing) init_mode = ServerConfig.objects.conf("server_restart_mode", default=None) ScriptDB.objects.validate(init_mode=init_mode) @@ -306,8 +306,7 @@ class AMPProtocol(amp.AMP): else: raise Exception(_("operation %(op)s not recognized.") % {'op': operation}) - - + return {} ServerAdmin.responder(amp_server_admin) diff --git a/src/server/serversession.py b/src/server/serversession.py index 0d94440d43..1be24a401c 100644 --- a/src/server/serversession.py +++ b/src/server/serversession.py @@ -50,7 +50,7 @@ class ServerSession(Session): if not self.logged_in: return - player = self.get_player(1) + player = self.get_player() character = self.get_character() if player: #print "sync: at_init() - player"