From 4f7911ef952bdcbfe4fa14880261b5607525a5ef Mon Sep 17 00:00:00 2001 From: polaris Date: Tue, 27 May 2014 20:38:03 -0400 Subject: [PATCH] Wait before deleting the QR session --- gamespy_qr_server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gamespy_qr_server.py b/gamespy_qr_server.py index e0efdef..1df349b 100644 --- a/gamespy_qr_server.py +++ b/gamespy_qr_server.py @@ -195,6 +195,10 @@ class GameSpyQRServer(object): self.sessions[session_id] = self.Session(address) self.sessions[session_id].session = session_id self.sessions[session_id].keepalive = int(time.time()) + self.sessions[session_id].disconnected = False + + if session_id in self.sessions and self.sessions[session_id].disconnected == True: + return # Handle commands if recv_data[0] == '\x00': # Query @@ -279,7 +283,8 @@ class GameSpyQRServer(object): self.server_manager.delete_server(k['gamename'] , session_id) if session_id in self.sessions: - self.sessions.pop(session_id) + self.sessions[session_id].disconnected = True + else: #if k['statechanged'] == "1": # Create server #if k['publicport'] != "0" and k['publicip'] != "0": # dwc_mtype controls what kind of server query we're looking for.