diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index f88c0e6..186305e 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -70,10 +70,8 @@ enum ActionType_e enum RoomType_e { - RT_FirstBrid = 0, - RT_NewBrid = 2, - RT_MidBrid = 3, - RT_OldBrid = 4, + RT_NewBrid = 0, + RT_OldBrid = 1, RT_Max }; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 220af01..de30993 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -19,30 +19,16 @@ const int ROOM_NUM_DOWN_LIMIT = 20; const int ROOM_NUM_UP_LIMIT = 40; -const int HUM_NUM_DOWN_LIMIT = 500; +const int HUM_NUM_DOWN_LIMIT = 1000; static RoomType_e GetHumanRoomType(const cs::CMJoin& msg) { std::vector tmp_strings; a8::Split(msg.pre_settlement_info(), tmp_strings, ','); if (tmp_strings.size() < 3) { - return RT_FirstBrid; - } - //游戏次数,吃鸡数,击杀数 - int game_times = a8::XValue(tmp_strings[0]); - int win_times = a8::XValue(tmp_strings[1]); - int kill_times = a8::XValue(tmp_strings[2]); - if (game_times <= 0) { - return RT_FirstBrid; - } - if (game_times <= MetaMgr::Instance()->newbie_game_times) { return RT_NewBrid; } - if (win_times <= MetaMgr::Instance()->niube_win_times) { - return RT_MidBrid; - } else { - return RT_OldBrid; - } + return RT_OldBrid; } void RoomMgr::Init() @@ -149,7 +135,7 @@ int RoomMgr::OverRoomNum() Room* RoomMgr::GetJoinableRoom(const cs::CMJoin& msg, const RoomType_e self_room_type) { - #if 1 + #if 0 for (auto& pair : inactive_room_hash_) { if (pair.second->CanJoin(msg.account_id())) { return pair.second; @@ -174,23 +160,15 @@ Room* RoomMgr::GetJoinableRoom(const cs::CMJoin& msg, const RoomType_e self_room if (!group_rooms[self_room_type].empty()) { return group_rooms[self_room_type][rand() % group_rooms[self_room_type].size()]; } - if (self_room_type == RT_FirstBrid) { - return nullptr; + if (self_room_type == RT_NewBrid) { + if (RoomNum() < ROOM_NUM_DOWN_LIMIT - 3) { + return nullptr; + } } for (int i = 0; i < RT_Max; ++i) { if (i != self_room_type) { for (Room* room : group_rooms[i]) { - if (i <= RT_NewBrid) { - if (a8::XGetTickCount() - room->last_add_player_tick > - MetaMgr::Instance()->newbie_fill_interval) { - return room; - } - } else { - if (a8::XGetTickCount() - room->last_add_player_tick > - MetaMgr::Instance()->other_fill_interval) { - return room; - } - } + return room; } } }