def _packetReceived(self, pkt): self.resetTimeout() try: if self.factory.serverConfig.Debug: try: username = self._user.profile.name except AttributeError: username = '' log.debug('[RECV {%s}]: %s' % ( username, PacketFormatter.format(pkt))) # handle heartbeat packet here, since it's the same # across all types of servers if pkt.header.id == 0x0005: pkt.header.packet_count = self._count self.send(pkt) return # let subclasses handle it self.packetReceived(pkt) except: log.msg("Error in protocol._packetReceived: %s" % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) log.msg('[RECV {%s}]: %s' % (username, PacketFormatter.format(pkt)))
def connectionLost(self, reason): log.debug('Connection lost: %s' % reason.getErrorMessage()) if self.factory.serverConfig.Debug: try: log.debug('Traceback: %s' % reason.getTraceback()) except: log.msg('Could not log traceback')
def sendData(self, packetId, data): if self.lobbyConnection is None: log.debug( 'WARN: Cannot send data to user {%s}: no lobby connection' % self.hash) else: self.lobbyConnection.sendData(packetId, data)
def _packetReceived(self, pkt): self.resetTimeout() try: if self.factory.serverConfig.Debug: try: username = self._user.profile.name except AttributeError: username = '' log.debug('[RECV {%s}]: %s' % (username, PacketFormatter.format(pkt))) # handle heartbeat packet here, since it's the same # across all types of servers if pkt.header.id == 0x0005: pkt.header.packet_count = self._count self.send(pkt) return # let subclasses handle it self.packetReceived(pkt) except: log.msg("Error in protocol._packetReceived: %s" % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) log.msg('[RECV {%s}]: %s' % (username, PacketFormatter.format(pkt)))
def _keepAlive(self): log.debug('DEBUG: KeepAliveManager:: keep-alive query: %s' % self.query) for item in self.storageController.readPool._items: item.value.runQuery(self.query) if self.storageController.writePool is not \ self.storageController.readPool: for item in self.storageController.writePool._items: item.value.runQuery(self.query) self.start()
def send(self, pkt): #log.msg('sending: %s' % repr(pkt)) if self.factory.serverConfig.Debug: try: username = self._user.profile.name except AttributeError: username = '' log.debug('[SEND {%s}]: %s' % ( username, PacketFormatter.format(pkt))) self.transport.write(stream.xorData(str(pkt),0)) self._count += 1
def send(self, pkt): #log.msg('sending: %s' % repr(pkt)) if self.factory.serverConfig.Debug: try: username = self._user.profile.name except AttributeError: username = '' log.debug('[SEND {%s}]: %s' % (username, PacketFormatter.format(pkt))) self.transport.write(stream.xorData(str(pkt), 0)) self._count += 1
def enter(self, usr): try: log.debug('Room.enter: profiles=%s' % ','.join([x.name for x in usr.profiles])) log.debug('Room.enter: self.name=%s' % self.name) except: log.msg('ERROR logging Room.enter') usr.state.inRoom = 1 usr.state.room = self usr.state.spectator = 0 usr.state.timeCancelledParticipation = None if not self.players: self.owner = usr self.players.append(usr)
def _packetReceived(self, pkt): if self.factory.serverConfig.Debug: try: username = self._user.profile.name except AttributeError: username = '' log.debug('[RECV {%s}]: %s' % (username, PacketFormatter.format(pkt))) # handle heartbeat packet here, since it's the same # across all types of servers if pkt.header.id == 0x0005: pkt.header.packet_count = self._count self.send(pkt) return # let subclasses handle it self.packetReceived(pkt)
def sendData(self, packetId, data): if self.lobbyConnection is None: log.debug('WARN: Cannot send data to user {%s}: no lobby connection' % self.hash) else: self.lobbyConnection.sendData(packetId, data)
def exit(self, usr): try: log.debug('Room.exit: username=%s profiles=%s' % (usr.username, ','.join([x.name for x in usr.profiles]))) log.debug('Room.exit: usr.state.room.name=%s' % usr.state.room.name) except: log.msg('ERROR logging Room.exit') usr.state.inRoom = 0 usr.state.noLobbyChat = 0 usr.state.room = None try: log.debug('self.owner.profile.name=%s' % self.owner.profile.name) except: log.msg('ERROR logging Room.exit (2)') try: try: for usr2 in self.players: log.debug('self.players.profiles=%s' % ','.join([x.name for x in usr2.profiles])) except: log.msg('Room.exit: Error iterating (1) %s' % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) index = self.getPlayerPosition(usr) log.debug('popping index=%s' % index) exiting = self.players.pop(index) try: for usr2 in self.players: log.debug('self.players.profiles=%s' % ','.join([x.name for x in usr2.profiles])) except: log.msg('Room.exit: Error iterating (2) %s' % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) except: log.msg( 'WARN: player (%s) exiting, but was not in the room' % ( usr.profile.name)) else: if self.isOwner(exiting): log.debug('owner exiting') # owner is exiting: assign new owner, if anybody # is still left in the room. if self.players: self.setOwner(self.players[0])
def exit(self, usr): try: log.debug('Room.exit: username=%s profiles=%s' % (usr.username, ','.join([x.name for x in usr.profiles]))) log.debug('Room.exit: usr.state.room.name=%s' % usr.state.room.name) except: log.msg('ERROR logging Room.exit') usr.state.inRoom = 0 usr.state.noLobbyChat = 0 usr.state.room = None try: log.debug('self.owner.profile.name=%s' % self.owner.profile.name) except: log.msg('ERROR logging Room.exit (2)') try: try: for usr2 in self.players: log.debug('self.players.profiles=%s' % ','.join([x.name for x in usr2.profiles])) except: log.msg('Room.exit: Error iterating (1) %s' % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) index = self.getPlayerPosition(usr) log.debug('popping index=%s' % index) exiting = self.players.pop(index) try: for usr2 in self.players: log.debug('self.players.profiles=%s' % ','.join([x.name for x in usr2.profiles])) except: log.msg('Room.exit: Error iterating (2) %s' % sys.exc_info()[0]) exc_type, exc_value, exc_traceback = sys.exc_info() lines = traceback.format_exception(exc_type, exc_value, exc_traceback) log.msg("Lines: %s" % lines) except: log.msg('WARN: player (%s) exiting, but was not in the room' % (usr.profile.name)) else: if self.isOwner(exiting): log.debug('owner exiting') # owner is exiting: assign new owner, if anybody # is still left in the room. if self.players: self.setOwner(self.players[0])