diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 23736cb..0827f9d 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -166,10 +166,16 @@ Room* RoomMgr::GetJoinableRoom(const cs::CMJoin& msg, const RoomType_e self_room } } for (int i = 0; i < RT_Max; ++i) { - if (i != self_room_type) { + if (RoomNum() > ROOM_NUM_DOWN_LIMIT - 5) { for (Room* room : group_rooms[i]) { return room; } + } else { + if (i != self_room_type) { + for (Room* room : group_rooms[i]) { + return room; + } + } } } return nullptr;