From 8405999a665f7d29ea6bd1524a552125ced924d3 Mon Sep 17 00:00:00 2001 From: polaris Date: Mon, 19 May 2014 18:21:43 -0400 Subject: [PATCH] natneg: Try local port if it's available natneg needs to be rewritten to be more stable based on the official documentation. --- gamespy_natneg_server.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gamespy_natneg_server.py b/gamespy_natneg_server.py index f1eacd7..a8c046b 100644 --- a/gamespy_natneg_server.py +++ b/gamespy_natneg_server.py @@ -100,6 +100,9 @@ class GameSpyNatNegServer(object): logger.log(logging.DEBUG, "Found server from local ip/port: %s" % serveraddr) publicport = self.session_list[gameid][session_id][client]['addr'][1] + if self.session_list[gameid][session_id][client]['localaddr'][1] != 0: + publicport = self.session_list[gameid][session_id][client]['localaddr'][1] + if self.session_list[gameid][session_id][client]['serveraddr'] != None: publicport = int(self.session_list[gameid][session_id][client]['serveraddr']['publicport']) @@ -123,6 +126,9 @@ class GameSpyNatNegServer(object): logger.log(logging.DEBUG, "Found server 2 from local ip/port: %s" % serveraddr) publicport = self.session_list[gameid][session_id][client_id]['addr'][1] + if self.session_list[gameid][session_id][client_id]['localaddr'][1] != 0: + publicport = self.session_list[gameid][session_id][client_id]['localaddr'][1] + if self.session_list[gameid][session_id][client_id]['serveraddr'] != None: publicport = int(self.session_list[gameid][session_id][client_id]['serveraddr']['publicport'])