def packet_handshake(self, buff): p_protocol_version = buff.unpack_varint() p_connect_host = buff.unpack_string() p_connect_port = buff.unpack("H") p_protocol_mode = buff.unpack_varint() mode = protocol_modes.get(p_protocol_mode, p_protocol_mode) self.switch_protocol_mode(mode) if mode == "login": if self.factory.force_protocol_version is not None: if p_protocol_version != self.factory.force_protocol_version: self.close("Wrong protocol version") else: if p_protocol_version not in self.factory.minecraft_versions: self.close("Unknown protocol version") if len(self.factory.players) >= self.factory.max_players: self.close("Server is full") else: self.factory.players.add(self) self.protocol_version = p_protocol_version self.connect_host = p_connect_host self.connect_port = p_connect_port
def packet_handshake(self, buff): p_protocol_version = buff.unpack_varint() p_connect_host = buff.unpack_string() p_connect_port = buff.unpack("H") p_protocol_mode = buff.unpack_varint() mode = protocol_modes.get(p_protocol_mode, p_protocol_mode) self.switch_protocol_mode(mode) if mode == "login": if self.factory.force_protocol_version is not None: if p_protocol_version != self.factory.force_protocol_version: self.close("Wrong protocol version") else: if p_protocol_version not in self.factory.minecraft_versions: self.close("Unknown protocol version") if len(self.factory.players) >= self.factory.max_players: self.close("Server is full") else: self.factory.players.add(self) self.protocol_version = p_protocol_version self.buff_type = self.factory.get_buff_type(self.protocol_version) self.connect_host = p_connect_host self.connect_port = p_connect_port
async def decode_handshake(cls, msg: ClientMessage): buffer = msg.buffer msg.set_protocol_version(buffer.unpack_varint()) hostname = buffer.unpack_string() port = buffer.unpack("H") next_state = buffer.unpack_varint() mode = protocol_modes.get(next_state, next_state) msg.conn.protocol_state = mode cls.update_protocol(msg, mode)
def packet_handshake(self, buff): p_protocol_version = buff.unpack_varint() p_server_addr = buff.unpack_string() p_server_port = buff.unpack("H") p_protocol_mode = buff.unpack_varint() mode = protocol_modes.get(p_protocol_mode, p_protocol_mode) self.switch_protocol_mode(mode) if mode == "login" \ and p_protocol_version not in self.factory.protocol_versions: self.close("Wrong protocol version") self.protocol_version = p_protocol_version