Пример #1
0
    def close(self, reason=None):
        if not self.closed and reason is not None:
            # Kick the player if possible.
            if self.protocol_mode == "play":
                def real_kick(*a):
                    self.send_packet(0x40, self.buff_type.pack_chat(reason))
                    Protocol.close(self, reason)

                if self.safe_kick:
                    self.safe_kick.addCallback(real_kick)
                else:
                    real_kick()
            else:
                if self.protocol_mode == "login":
                    self.send_packet(0x00, self.buff_type.pack_chat(reason))
                Protocol.close(self, reason)
        else:
            Protocol.close(self, reason)
Пример #2
0
    def close(self, reason=None):
        """Closes the connection"""
        if not self.closed and reason is not None:
            # Kick the player if possible.
            if self.protocol_mode == "play":

                def real_kick(*a):
                    self.send_packet("disconnect",
                                     self.buff_type.pack_chat(reason))
                    super(ServerProtocol, self).close(reason)

                if self.safe_kick:
                    self.safe_kick.addCallback(real_kick)
                else:
                    real_kick()
            else:
                if self.protocol_mode == "login":
                    self.send_packet("login_disconnect",
                                     self.buff_type.pack_chat(reason))
                Protocol.close(self, reason)
        else:
            Protocol.close(self, reason)
Пример #3
0
    def close(self, reason=None):
        """Closes the connection"""
        if not self.closed and reason is not None:
            # Kick the player if possible.
            if self.protocol_mode == "play":
                def real_kick(*a):
                    self.send_packet(
                        "disconnect",
                        self.buff_type.pack_chat(reason))
                    super(ServerProtocol, self).close(reason)

                if self.safe_kick:
                    self.safe_kick.addCallback(real_kick)
                else:
                    real_kick()
            else:
                if self.protocol_mode == "login":
                    self.send_packet(
                        "login_disconnect",
                        self.buff_type.pack_chat(reason))
                Protocol.close(self, reason)
        else:
            Protocol.close(self, reason)
Пример #4
0
 def real_kick(*a):
     self.send_packet("disconnect",
                      self.buff_type.pack_chat(reason))
     Protocol.close(self, reason)
Пример #5
0
 def real_kick(*a):
     self.send_packet(0x40, self.buff_type.pack_chat(reason))
     Protocol.close(self, reason)
Пример #6
0
 def real_kick(*a):
     self.send_packet("disconnect",
         self.buff_type.pack_chat(reason))
     Protocol.close(self, reason)