From df8a52a8a52ad7509e08132fb49ba75719a7988c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 17 May 2024 16:51:51 +0800 Subject: [PATCH] 1 --- server/gameserver/pbutils.cc | 43 +++--------------------------------- server/gameserver/room.h | 2 -- 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 28e49bf9..2ebf4020 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2266,6 +2266,9 @@ void Human::ReJoin(long ip_saddr, int socket_handle) if (!IsPlayer()) { abort(); } + if (socket_handle == 0) { + A8_ABORT(); + } auto old_socket_handle = this->GetSocketHandle(); SetIpSaddr(ip_saddr); SetSocketHandle(socket_handle); @@ -2698,46 +2701,6 @@ void Room::OnTeamPartChg(Human* hum) } } -int Room::InitWithCustomBattle(long ip_saddr, int socket_handle, std::shared_ptr msg, - std::shared_ptr p) -{ - std::vector> room_teams; - std::vector> net_teams; - p->TraverseTeamList - ( - [this, &room_teams, &net_teams] (std::shared_ptr team) -> bool - { - auto new_team = NewTeam(); - new_team->SetInitTeamMemberNum(0); - new_team->SetAutoFill(true); - room_teams.push_back(new_team); - net_teams.push_back(team); - return true; - }); - if (room_teams.empty()) { - abort(); - } - if (IsMobaModeRoom() && - room_teams.size() != 2) { - abort(); - } - cs::CMJoin join_msg = *msg; - for (size_t i = 0; i < net_teams.size(); ++i) { - auto net_team = net_teams.at(i); - auto room_team = room_teams.at(i); - room_team->SetInitTeamMemberNum(net_team->GetMemberNum()); - net_team->TraverseMember - ( - [join_msg, p, room_team] (std::shared_ptr m) mutable -> bool - { - Player* hum = InternalCreatePlayer(p, m, room_team); - return true; - } - ); - } - return 0; -} - int Room::JoinWithCustomBattle(std::shared_ptr p) { std::vector> room_teams; diff --git a/server/gameserver/room.h b/server/gameserver/room.h index 0b252440..6e768826 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -289,8 +289,6 @@ public: Team* GetMobaEnemyTeam(Team* self_team); RoomAgent* GetRoomAgent() { return room_agent_; } int GenShotUniid() { return ++current_shot_uniid_; } - int InitWithCustomBattle(long ip_saddr, int socket_handle, std::shared_ptr msg, - std::shared_ptr p); int JoinWithCustomBattle(std::shared_ptr p); void CreateAndroid(int android_num, std::shared_ptr team = nullptr); Human* CreateAndroidWithCustomMember(std::shared_ptr custom_member,