def start(self): manager_address = ("127.0.0.1", 27500) manager_password = "" self.server_manager = GameSpyServerDatabase(address = manager_address, authkey= manager_password) self.server_manager.connect() # Start QR server address = ('0.0.0.0', 27900) # accessible to outside connections (use this if you don't know what you're doing) self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.socket.bind(address) logger.log(logging.INFO, "Server is now listening on %s:%s..." % (address[0], address[1])) # Dependencies! I don't really like this solution but it's easier than trying to manage it another way. server_browser_server = GameSpyServerBrowserServer(self) server_browser_server_thread = threading.Thread(target=server_browser_server.start()) server_browser_server_thread.start() threading.Timer(1, self.keepalive_check).start() while 1: recv_data, address = self.socket.recvfrom(2048) packet_thread = threading.Thread(target=self.handle_packet, args=(self.socket, recv_data, address)) packet_thread.start()
def start(self): manager_address = ("127.0.0.1", 27500) manager_password = "" self.server_manager = GameSpyServerDatabase(address = manager_address, authkey= manager_password) self.server_manager.connect() # Start QR server address = ('0.0.0.0', 27900) # accessible to outside connections (use this if you don't know what you're doing) self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.socket.bind(address) logger.log(logging.INFO, "Server is now listening on %s:%s..." % (address[0], address[1])) # Dependencies! I don't really like this solution but it's easier than trying to manage it another way. server_browser_server = GameSpyServerBrowserServer(self) server_browser_server_thread = threading.Thread(target=server_browser_server.start) server_browser_server_thread.start() threading.Timer(1, self.keepalive_check).start() while 1: recv_data, address = self.socket.recvfrom(2048) packet_thread = threading.Thread(target=self.handle_packet, args=(self.socket, recv_data, address)) packet_thread.start()
def start(self): try: manager_address = dwc_config.get_ip_port('GameSpyManager') manager_password = "" self.server_manager = GameSpyServerDatabase( address=manager_address, authkey=manager_password) self.server_manager.connect() # Start QR server # Accessible to outside connections (use this if you don't know # what you're doing) address = dwc_config.get_ip_port('GameSpyQRServer') self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.socket.bind(address) self.socket.setblocking(0) logger.log(logging.INFO, "Server is now listening on %s:%s...", address[0], address[1]) # Dependencies! I don't really like this solution but it's easier # than trying to manage it another way. server_browser_server = GameSpyServerBrowserServer(self) server_browser_server_thread = threading.Thread( target=server_browser_server.start) server_browser_server_thread.start() self.write_queue = Queue.Queue() self.db = gs_database.GamespyDatabase() threading.Thread(target=self.write_queue_worker).start() while True: ready = select.select([self.socket], [], [], 15) if ready[0]: try: recv_data, address = self.socket.recvfrom(2048) self.handle_packet(self.socket, recv_data, address) except: logger.log(logging.ERROR, "Failed to handle client: %s", traceback.format_exc()) self.keepalive_check() except: logger.log(logging.ERROR, "Unknown exception: %s", traceback.format_exc())
def start_server_browser_server(): server_browser_server = GameSpyServerBrowserServer() server_browser_server.start()