diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 2ebf4020..67124b10 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2266,10 +2266,10 @@ void Human::ReJoin(long ip_saddr, int socket_handle) if (!IsPlayer()) { abort(); } - if (socket_handle == 0) { + if (socket_handle == 0 && GetSocketHandle() != 0) { A8_ABORT(); } - auto old_socket_handle = this->GetSocketHandle(); + auto old_socket_handle = GetSocketHandle(); SetIpSaddr(ip_saddr); SetSocketHandle(socket_handle); room->frame_event.AddEnterGame(GetWeakPtrRef());