diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index ecf8ac51..b282573f 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -855,12 +855,16 @@ void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr& hdr, const cs::CMJoin& msg) auto ip_saddr = hdr.ip_saddr; auto socket_handle = hdr.socket_handle; auto cb = - [join_msg, socket_handle] (int errcode, const std::string errmsg, std::shared_ptr) + [join_msg, socket_handle] (int errcode, const std::string errmsg, std::shared_ptr p) { if (!errcode) { RoomMgr::Instance()->JoinErrorHandle(*join_msg, 2, socket_handle); return; } + if (Global::g_nowtime - p->GetStartTime() > 30) { + RoomMgr::Instance()->JoinErrorHandle(*join_msg, 2, socket_handle); + return; + } }; SendGetCustomBattleData(join_msg, cb); }