diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index e0b57b51..48b757d9 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2000,7 +2000,8 @@ void Human::SendMobaTeamNotify() void Human::ReJoin(long ip_saddr, int socket_handle, std::shared_ptr msg, std::shared_ptr p) { - + this->ip_saddr = ip_saddr; + this->socket_handle = socket_handle; } void GGListener::SendError(int sockhandle, unsigned int seqid, @@ -2072,7 +2073,9 @@ Player* PlayerMgr::CreatePlayerByCMJoin(Player* hum, ); } #endif - socket_hash_[socket] = hum; + if (socket) { + socket_hash_[socket] = hum; + } return hum; } @@ -2293,8 +2296,8 @@ int Room::InitWithMobaBattle(long ip_saddr, int socket_handle, std::shared_ptrGetTeamUuid()); PlayerMgr::Instance()-> CreatePlayerByCMJoin(hum, - ip_saddr, - socket_handle, + 0, + 0, *msg ); hum->meta = mt::Hero::GetById(msg->hero_id());