From e757ceb022d6860a9ce9c72f5aca02d5f22941d2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 23 Nov 2023 19:33:49 +0800 Subject: [PATCH] 1 --- server/gameserver/app.cc | 16 +++++------ server/gameserver/app.h | 2 +- server/gameserver/commands.cc | 2 +- server/gameserver/handlermgr.cc | 48 +++++++++++++++++---------------- server/gameserver/httpproxy.cc | 12 ++++----- server/gameserver/matchmgr.cc | 10 +++---- server/gameserver/matchmgr.h | 2 +- server/gameserver/matchpool.cc | 2 +- server/gameserver/matchpool.h | 2 +- server/gameserver/matchteam.cc | 32 +++++++++++----------- server/gameserver/matchteam.h | 16 +++++------ server/gameserver/pbutils.cc | 18 ++++++------- server/gameserver/player.cc | 36 ++++++++++++------------- server/gameserver/player.h | 34 +++++++++++------------ server/gameserver/playermgr.h | 4 +-- server/gameserver/roommgr.cc | 28 +++++++++---------- server/gameserver/roommgr.h | 8 +++--- third_party/f8 | 2 +- 18 files changed, 138 insertions(+), 136 deletions(-) diff --git a/server/gameserver/app.cc b/server/gameserver/app.cc index ba7ae636..00efc282 100644 --- a/server/gameserver/app.cc +++ b/server/gameserver/app.cc @@ -388,7 +388,7 @@ void App::DispatchMsg() switch (pdelnode->sockfrom) { case SF_GameGate: { - ProcessGameGateMsg(hdr); + ProcessGameGateMsg(&hdr); } break; } @@ -411,15 +411,15 @@ void App::DispatchMsg() } } -void App::ProcessGameGateMsg(f8::MsgHdr& hdr) +void App::ProcessGameGateMsg(f8::MsgHdr* hdr) { - if (hdr.msgid == ss::_SS_Ping) { + if (hdr->msgid == ss::_SS_Ping) { ss::SS_Pong pongmsg; - GGListener::Instance()->SendProxyMsg(hdr.socket_handle, pongmsg); + GGListener::Instance()->SendProxyMsg(hdr->socket_handle, pongmsg); return; } f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->ggmsghandler, - hdr.msgid); + hdr->msgid); if (handler) { switch (handler->handlerid) { case HID_RoomMgr: @@ -427,7 +427,7 @@ void App::ProcessGameGateMsg(f8::MsgHdr& hdr) break; case HID_MatchTeam: { - auto match_info = MatchMgr::Instance()->GetMatchInfo(hdr.socket_handle); + auto match_info = MatchMgr::Instance()->GetMatchInfo(hdr->socket_handle); if (match_info) { ProcessNetMsg(handler, std::get<1>(*match_info).get(), hdr); } @@ -438,9 +438,9 @@ void App::ProcessGameGateMsg(f8::MsgHdr& hdr) break; case HID_Player: { - Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(hdr.socket_handle); + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(hdr->socket_handle); if (hum) { - hdr.hum = hum; + hdr->hum = hum; ProcessNetMsg(handler, hum, hdr); } } diff --git a/server/gameserver/app.h b/server/gameserver/app.h index 3e4e804e..84d053fa 100644 --- a/server/gameserver/app.h +++ b/server/gameserver/app.h @@ -57,7 +57,7 @@ private: void DispatchMsg(); - void ProcessGameGateMsg(f8::MsgHdr& hdr); + void ProcessGameGateMsg(f8::MsgHdr* hdr); void InitLog(); void UnInitLog(); diff --git a/server/gameserver/commands.cc b/server/gameserver/commands.cc index d82fad31..353133d8 100644 --- a/server/gameserver/commands.cc +++ b/server/gameserver/commands.cc @@ -23,7 +23,7 @@ #include "mt/Robot.h" #include "mt/Hero.h" -void Player::_CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg) +void Player::_CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg) { #ifndef MYDEBUG return; diff --git a/server/gameserver/handlermgr.cc b/server/gameserver/handlermgr.cc index 9c839d24..384f6843 100644 --- a/server/gameserver/handlermgr.cc +++ b/server/gameserver/handlermgr.cc @@ -22,50 +22,50 @@ static void _GMOpsSelfChecking(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); - request->resp_xobj->SetVal("healthy", 1); - request->resp_xobj->SetVal("servicing", App::Instance()->IsServicing() ? 1 : 0); - request->resp_xobj->SetVal("max_rundelay", PerfMonitor::Instance()->max_run_delay_time); - request->resp_xobj->SetVal("max_timer_idle", PerfMonitor::Instance()->max_timer_idle); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); + request->GetResp()->SetVal("healthy", 1); + request->GetResp()->SetVal("servicing", App::Instance()->IsServicing() ? 1 : 0); + request->GetResp()->SetVal("max_rundelay", PerfMonitor::Instance()->max_run_delay_time); + request->GetResp()->SetVal("max_timer_idle", PerfMonitor::Instance()->max_timer_idle); } static void _GMOpsStopService(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); App::Instance()->SetServicing(false); } static void _GMOpsStartService(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); App::Instance()->SetServicing(true); } static void _GMOpsServerInfo(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); - request->resp_xobj->SetVal("node_id", App::Instance()->GetNodeId()); - request->resp_xobj->SetVal("instance_id", App::Instance()->GetInstanceId()); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); + request->GetResp()->SetVal("node_id", App::Instance()->GetNodeId()); + request->GetResp()->SetVal("instance_id", App::Instance()->GetInstanceId()); } static void _GMOpsTerminate(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); App::Instance()->Terminate(); } static void _GMStatGetRealTimeOnline(std::shared_ptr request) { - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); - request->resp_xobj->SetVal("num", PerfMonitor::Instance()->entity_num[ET_Player]); - request->resp_xobj->SetVal("room_num", RoomMgr::Instance()->RoomNum()); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); + request->GetResp()->SetVal("num", PerfMonitor::Instance()->entity_num[ET_Player]); + request->GetResp()->SetVal("room_num", RoomMgr::Instance()->RoomNum()); } void HandlerMgr::Init() @@ -148,20 +148,22 @@ void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle, std::string msgname = a8::Get(request, "c").GetString() + "@" + a8::Get(request, "a").GetString(); auto itr = gmhandlers_.find(msgname); if (itr != gmhandlers_.end()) { + #if 0 auto request = std::make_shared(); request->saddr = saddr; request->socket_handle = sockhandle; request->query_str = querystr; request->params->ReadFromUrlQueryString(querystr); - request->resp_xobj->SetVal("errcode", 0); - request->resp_xobj->SetVal("errmsg", ""); + request->GetResp()->SetVal("errcode", 0); + request->GetResp()->SetVal("errmsg", ""); itr->second(request); if (!request->pending){ std::string response; - request->resp_xobj->ToJsonStr(response); + request->GetResp()->ToJsonStr(response); GGListener::Instance()->SendText(sockhandle, a8::HttpResponse(response)); } + #endif } else { GGListener::Instance()->SendText(sockhandle, a8::HttpResponse("{}")); } diff --git a/server/gameserver/httpproxy.cc b/server/gameserver/httpproxy.cc index 6638b9ed..4e81f9f6 100644 --- a/server/gameserver/httpproxy.cc +++ b/server/gameserver/httpproxy.cc @@ -27,24 +27,24 @@ static void _ProxyCallback(std::shared_ptr request) #ifdef MYDEBUG f8::UdpLog::Instance()->Debug("ProxyCallbBack request:%s", { - request->params->ToJsonStr() + request->GetParams()->ToJsonStr() }); #endif - std::string seq_id = request->params->Get("seq_id"); + std::string seq_id = request->GetParams()->Get("seq_id"); std::shared_ptr req = HttpProxy::Instance()->GetRequest(seq_id); if (req) { a8::XObject data; - data.ReadFromJsonString(request->params->Get("data").GetString()); + data.ReadFromJsonString(request->GetParams()->Get("data").GetString()); if (data.GetType() == a8::XOT_SIMPLE) { data.ReadFromJsonString("{}"); } f8::HttpContext ctx; - if (request->params->HasKey("errcode") && - request->params->Get("errcode").GetInt() == 0) { + if (request->GetParams()->HasKey("errcode") && + request->GetParams()->Get("errcode").GetInt() == 0) { req->cb(true, &data, &ctx); } else { - req->cb(false, request->params.get(), &ctx); + req->cb(false, request->GetParams().get(), &ctx); } HttpProxy::Instance()->DestoryRequest(req); } diff --git a/server/gameserver/matchmgr.cc b/server/gameserver/matchmgr.cc index 08db0c68..91950f27 100644 --- a/server/gameserver/matchmgr.cc +++ b/server/gameserver/matchmgr.cc @@ -28,12 +28,12 @@ void MatchMgr::UnInit() } -void MatchMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void MatchMgr::_CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg) { #ifdef MYDEBUG { std::string data = f8::PbToJson(&msg); - a8::XPrintf("CMJoin socket_handle:%d members_size:%d %s\n", {hdr.socket_handle, msg.team_members().size(), data}); + a8::XPrintf("CMJoin socket_handle:%d members_size:%d %s\n", {hdr->socket_handle, msg.team_members().size(), data}); } #endif if (!NeedMatch(msg)) { @@ -41,12 +41,12 @@ void MatchMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) } { cs::SMShowTeamUI notifymsg; - GGListener::Instance()->SendToClient(hdr.socket_handle, 0, notifymsg); + GGListener::Instance()->SendToClient(hdr->socket_handle, 0, notifymsg); } { cs::SMJoinedNotify notifymsg; notifymsg.set_error_code(0); - GGListener::Instance()->SendToClient(hdr.socket_handle, 0, notifymsg); + GGListener::Instance()->SendToClient(hdr->socket_handle, 0, notifymsg); } { auto team = GetTeam(msg.team_uuid()); @@ -67,7 +67,7 @@ void MatchMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) } team->AddRawMember(hdr, msg); } - socket_hash_[hdr.socket_handle] = std::make_tuple(msg.account_id(), team); + socket_hash_[hdr->socket_handle] = std::make_tuple(msg.account_id(), team); } } diff --git a/server/gameserver/matchmgr.h b/server/gameserver/matchmgr.h index 054ee908..62746846 100644 --- a/server/gameserver/matchmgr.h +++ b/server/gameserver/matchmgr.h @@ -22,7 +22,7 @@ public: void Init(); void UnInit(); - void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg); + void _CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg); void TraverseTeam(std::function&, bool&)> func); bool NeedMatch(const cs::CMJoin& msg); diff --git a/server/gameserver/matchpool.cc b/server/gameserver/matchpool.cc index 54013ae9..0e550f3f 100644 --- a/server/gameserver/matchpool.cc +++ b/server/gameserver/matchpool.cc @@ -24,7 +24,7 @@ void MatchPool::UnInit() { } -void MatchPool::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void MatchPool::_CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg) { } diff --git a/server/gameserver/matchpool.h b/server/gameserver/matchpool.h index 0c57fad2..6e57c3a0 100644 --- a/server/gameserver/matchpool.h +++ b/server/gameserver/matchpool.h @@ -21,7 +21,7 @@ public: void Init(); void UnInit(); - void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg); + void _CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg); private: diff --git a/server/gameserver/matchteam.cc b/server/gameserver/matchteam.cc index 48875e1e..338477ad 100644 --- a/server/gameserver/matchteam.cc +++ b/server/gameserver/matchteam.cc @@ -68,7 +68,7 @@ MatchTeam::~MatchTeam() #endif } -void MatchTeam::Init(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void MatchTeam::Init(f8::MsgHdr* hdr, const cs::CMJoin& msg) { master_team_ = this; create_tick_ = a8::XGetTickCount(); @@ -87,19 +87,19 @@ void MatchTeam::Init(f8::MsgHdr& hdr, const cs::CMJoin& msg) AddRawMember(hdr, msg); } -void MatchTeam::_CMMatchCancel(f8::MsgHdr& hdr, const cs::CMMatchCancel& msg) +void MatchTeam::_CMMatchCancel(f8::MsgHdr* hdr, const cs::CMMatchCancel& msg) { } -void MatchTeam::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg) +void MatchTeam::_CMMatchChoose(f8::MsgHdr* hdr, const cs::CMMatchChoose& msg) { #ifdef MYDEBUG - a8::XPrintf("cmmatchchoose %s phase_:%d %s\n", {hdr.socket_handle, phase_, GetTeamUUid()}); + a8::XPrintf("cmmatchchoose %s phase_:%d %s\n", {hdr->socket_handle, phase_, GetTeamUUid()}); { for (auto& pair : raw_member_hash_) { a8::XPrintf("cmmatchchoose member %d:%d:%s %s:%d\n", { - hdr.socket_handle, + hdr->socket_handle, phase_, GetTeamUUid(), pair.second->msg->account_id(), @@ -108,7 +108,7 @@ void MatchTeam::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg) } } #endif - auto member = GetMemberBySocket(hdr.socket_handle); + auto member = GetMemberBySocket(hdr->socket_handle); if (member && master_team_->phase_ == kMatchChoose) { member->msg->set_hero_id(msg.hero_id()); member->msg->set_hero_uniid(msg.hero_uniid()); @@ -120,10 +120,10 @@ void MatchTeam::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg) } } -void MatchTeam::_CMMatchStartGame(f8::MsgHdr& hdr, const cs::CMMatchStartGame& msg) +void MatchTeam::_CMMatchStartGame(f8::MsgHdr* hdr, const cs::CMMatchStartGame& msg) { if (master_team_->phase_ == kMatchChoose) { - auto member = GetMemberBySocket(hdr.socket_handle); + auto member = GetMemberBySocket(hdr->socket_handle); if (member) { member->state = kMatchPrepare; #ifdef MYDEBUG @@ -133,10 +133,10 @@ void MatchTeam::_CMMatchStartGame(f8::MsgHdr& hdr, const cs::CMMatchStartGame& m } } -void MatchTeam::_CMMatchCancelStartGame(f8::MsgHdr& hdr, const cs::CMMatchCancelStartGame& msg) +void MatchTeam::_CMMatchCancelStartGame(f8::MsgHdr* hdr, const cs::CMMatchCancelStartGame& msg) { if (master_team_->phase_ == kMatchChoose) { - auto member = GetMemberBySocket(hdr.socket_handle); + auto member = GetMemberBySocket(hdr->socket_handle); if (member) { member->state = kMatchReadying; #ifdef MYDEBUG @@ -146,9 +146,9 @@ void MatchTeam::_CMMatchCancelStartGame(f8::MsgHdr& hdr, const cs::CMMatchCancel } } -void MatchTeam::_CMMatchSendMsg(f8::MsgHdr& hdr, const cs::CMMatchSendMsg& msg) +void MatchTeam::_CMMatchSendMsg(f8::MsgHdr* hdr, const cs::CMMatchSendMsg& msg) { - auto sender = GetMemberBySocket(hdr.socket_handle); + auto sender = GetMemberBySocket(hdr->socket_handle); if (sender) { for (auto member : master_team_->curr_member_hash_) { if (member->socket_handle != 0) { @@ -170,9 +170,9 @@ void MatchTeam::_CMMatchSendMsg(f8::MsgHdr& hdr, const cs::CMMatchSendMsg& msg) } } -void MatchTeam::_CMMatchBroadcastMsg(f8::MsgHdr& hdr, const cs::CMMatchBroadcastMsg& msg) +void MatchTeam::_CMMatchBroadcastMsg(f8::MsgHdr* hdr, const cs::CMMatchBroadcastMsg& msg) { - auto sender = GetMemberBySocket(hdr.socket_handle); + auto sender = GetMemberBySocket(hdr->socket_handle); if (sender) { for (auto member : master_team_->curr_member_hash_) { if (member->socket_handle != 0) { @@ -188,12 +188,12 @@ void MatchTeam::_CMMatchBroadcastMsg(f8::MsgHdr& hdr, const cs::CMMatchBroadcast } } -void MatchTeam::AddRawMember(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void MatchTeam::AddRawMember(f8::MsgHdr* hdr, const cs::CMJoin& msg) { std::shared_ptr member = std::make_shared(); member->team = this; member->add_tick = a8::XGetTickCount(); - member->socket_handle = hdr.socket_handle; + member->socket_handle = hdr->socket_handle; *member->msg = msg; raw_member_hash_[msg.account_id()] = member; curr_member_hash_.push_back(member); diff --git a/server/gameserver/matchteam.h b/server/gameserver/matchteam.h index 0f130779..b589c9d9 100644 --- a/server/gameserver/matchteam.h +++ b/server/gameserver/matchteam.h @@ -66,16 +66,16 @@ class MatchTeam f8::Attacher timer_attacher; ~MatchTeam(); - void Init(f8::MsgHdr& hdr, const cs::CMJoin& msg); + void Init(f8::MsgHdr* hdr, const cs::CMJoin& msg); - void _CMMatchCancel(f8::MsgHdr& hdr, const cs::CMMatchCancel& msg); - void _CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg); - void _CMMatchStartGame(f8::MsgHdr& hdr, const cs::CMMatchStartGame& msg); - void _CMMatchCancelStartGame(f8::MsgHdr& hdr, const cs::CMMatchCancelStartGame& msg); - void _CMMatchSendMsg(f8::MsgHdr& hdr, const cs::CMMatchSendMsg& msg); - void _CMMatchBroadcastMsg(f8::MsgHdr& hdr, const cs::CMMatchBroadcastMsg& msg); + void _CMMatchCancel(f8::MsgHdr* hdr, const cs::CMMatchCancel& msg); + void _CMMatchChoose(f8::MsgHdr* hdr, const cs::CMMatchChoose& msg); + void _CMMatchStartGame(f8::MsgHdr* hdr, const cs::CMMatchStartGame& msg); + void _CMMatchCancelStartGame(f8::MsgHdr* hdr, const cs::CMMatchCancelStartGame& msg); + void _CMMatchSendMsg(f8::MsgHdr* hdr, const cs::CMMatchSendMsg& msg); + void _CMMatchBroadcastMsg(f8::MsgHdr* hdr, const cs::CMMatchBroadcastMsg& msg); - void AddRawMember(f8::MsgHdr& hdr, const cs::CMJoin& msg); + void AddRawMember(f8::MsgHdr* hdr, const cs::CMJoin& msg); bool IsRawMember(const std::string& account_id); bool IsValidMember(const cs::CMJoin& msg); void TryCombineTeam(); diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 19051fb4..cf65de50 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2032,28 +2032,28 @@ Player* PlayerMgr::CreatePlayerByCMJoin(Player* hum, return hum; } -void PlayerMgr::_SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_SocketDisconnect& msg) +void PlayerMgr::_SS_WSP_SocketDisconnect(f8::MsgHdr* hdr, const ss::SS_WSP_SocketDisconnect& msg) { - Player* hum = GetPlayerBySocket(hdr.socket_handle); + Player* hum = GetPlayerBySocket(hdr->socket_handle); if (hum) { - RemovePlayerBySocket(hdr.socket_handle); + RemovePlayerBySocket(hdr->socket_handle); hum->room->OnPlayerOffline(hum); } #if MYDEBUG - a8::XPrintf("remove socket1 %d\n", {hdr.socket_handle}); + a8::XPrintf("remove socket1 %d\n", {hdr->socket_handle}); #endif - if (MatchMgr::Instance()->GetMatchInfo(hdr.socket_handle)) { + if (MatchMgr::Instance()->GetMatchInfo(hdr->socket_handle)) { #if MYDEBUG - a8::XPrintf("remove socket2 %d\n", {hdr.socket_handle}); + a8::XPrintf("remove socket2 %d\n", {hdr->socket_handle}); #endif - MatchMgr::Instance()->RemoveSocket(hdr.socket_handle); + MatchMgr::Instance()->RemoveSocket(hdr->socket_handle); } } -void PlayerMgr::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg) +void PlayerMgr::_SS_Ping(f8::MsgHdr* hdr, const ss::SS_Ping& msg) { ss::SS_Pong respmsg; - GGListener::Instance()->SendToClient(hdr.socket_handle, 0, respmsg); + GGListener::Instance()->SendToClient(hdr->socket_handle, 0, respmsg); } void Team::FillSMGameOver(cs::SMGameOver& msg) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index c80ba219..08b77fbe 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -857,14 +857,14 @@ void Player::ProcSkillList() } } -void Player::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) +void Player::_CMReconnect(f8::MsgHdr* hdr, const cs::CMReconnect& msg) { int old_socket_handle = socket_handle; if (socket_handle != 0) { GGListener::Instance()->ForceCloseChildSocket(socket_handle); PlayerMgr::Instance()->RemovePlayerBySocket(socket_handle); } - socket_handle = hdr.socket_handle; + socket_handle = hdr->socket_handle; TraverseAllLayerHumanList ( [this] (Human* hum, bool& stop) @@ -883,7 +883,7 @@ void Player::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) ("战斗服重连成功 %s %d %d", { account_id, - hdr.socket_handle, + hdr->socket_handle, old_socket_handle }); { @@ -913,7 +913,7 @@ void Player::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) } } -void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) +void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) { #ifdef MYDEBUG1 if (msg.shot_start() || msg.shot_hold()) { @@ -1208,7 +1208,7 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) #endif } -void Player::_CMImmediateMsg(f8::MsgHdr& hdr, const cs::CMImmediateMsg& msg) +void Player::_CMImmediateMsg(f8::MsgHdr* hdr, const cs::CMImmediateMsg& msg) { if (msg.stop_move()) { moving = false; @@ -1245,12 +1245,12 @@ void Player::UpdateUseScope() use_scope_idx = 0; } -void Player::_CMEmote(f8::MsgHdr& hdr, const cs::CMEmote& msg) +void Player::_CMEmote(f8::MsgHdr* hdr, const cs::CMEmote& msg) { } -void Player::_CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg) +void Player::_CMVoice(f8::MsgHdr* hdr, const cs::CMVoice& msg) { cs::SMVoiceNotify notifymsg; notifymsg.set_account_id(account_id); @@ -1262,7 +1262,7 @@ void Player::_CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg) room->TraversePlayerList(send_func); } -void Player::_CMGameOver(f8::MsgHdr& hdr, const cs::CMGameOver& msg) +void Player::_CMGameOver(f8::MsgHdr* hdr, const cs::CMGameOver& msg) { if (room->GetGasData().GetGasMode() == GasInactive) { stats->is_run_away = true; @@ -1283,14 +1283,14 @@ void Player::_CMGameOver(f8::MsgHdr& hdr, const cs::CMGameOver& msg) } } -void Player::_CMWatchWar(f8::MsgHdr& hdr, const cs::CMWatchWar& msg) +void Player::_CMWatchWar(f8::MsgHdr* hdr, const cs::CMWatchWar& msg) { if (!room->IsMobaModeRoom()) { AsyncRequestWatchWar(true); } } -void Player::_CMLeave(f8::MsgHdr& hdr, const cs::CMLeave& msg) +void Player::_CMLeave(f8::MsgHdr* hdr, const cs::CMLeave& msg) { if (room->GetGasData().GetGasMode() == GasInactive) { stats->is_run_away = true; @@ -1307,7 +1307,7 @@ void Player::_CMLeave(f8::MsgHdr& hdr, const cs::CMLeave& msg) SendNotifyMsg(respmsg); } -void Player::_CMRevive(f8::MsgHdr& hdr, const cs::CMRevive& msg) +void Player::_CMRevive(f8::MsgHdr* hdr, const cs::CMRevive& msg) { Human* hum = room->GetHumanByUniId(msg.target_uniid()); if (hum && !hum->real_dead && hum->dead && @@ -1373,12 +1373,12 @@ void Player::_CMRevive(f8::MsgHdr& hdr, const cs::CMRevive& msg) } } -void Player::_CMCancelRevive(f8::MsgHdr& hdr, const cs::CMCancelRevive& msg) +void Player::_CMCancelRevive(f8::MsgHdr* hdr, const cs::CMCancelRevive& msg) { CancelRevive(); } -void Player::_CMRequestBulletDmg(f8::MsgHdr& hdr, const cs::CMRequestBulletDmg& msg) +void Player::_CMRequestBulletDmg(f8::MsgHdr* hdr, const cs::CMRequestBulletDmg& msg) { auto itr = room->report_bullet_hash.find(msg.bullet_uniid()); #ifdef MYDEBUG @@ -1411,17 +1411,17 @@ void Player::_CMRequestBulletDmg(f8::MsgHdr& hdr, const cs::CMRequestBulletDmg& room->report_bullet_hash.erase(msg.bullet_uniid()); } -void Player::_CMRequestThrowDmg(f8::MsgHdr& hdr, const cs::CMRequestThrowDmg& msg) +void Player::_CMRequestThrowDmg(f8::MsgHdr* hdr, const cs::CMRequestThrowDmg& msg) { ProcThrowDmg(msg.throw_uniid()); } -void Player::_CMStowShield(f8::MsgHdr& hdr, const cs::CMStowShield& msg) +void Player::_CMStowShield(f8::MsgHdr* hdr, const cs::CMStowShield& msg) { RemoveBuffByEffectId(kBET_HoldShield); } -void Player::_CMTeamMarkTargetPos(f8::MsgHdr& hdr, const cs::CMTeamMarkTargetPos& msg) +void Player::_CMTeamMarkTargetPos(f8::MsgHdr* hdr, const cs::CMTeamMarkTargetPos& msg) { if (GetTeam()) { if (msg.has_pos()) { @@ -1746,12 +1746,12 @@ void Player::UpdateThrowBomb() throw_bomb.reset(); } -void Player::_CMSetRevivePosition(f8::MsgHdr& hdr, const cs::CMSetRevivePosition& msg) +void Player::_CMSetRevivePosition(f8::MsgHdr* hdr, const cs::CMSetRevivePosition& msg) { } -void Player::_CMGetSettlementTeamList(f8::MsgHdr& hdr, const cs::CMGetSettlementTeamList& msg) +void Player::_CMGetSettlementTeamList(f8::MsgHdr* hdr, const cs::CMGetSettlementTeamList& msg) { cs::SMGetSettlementTeamList rspmsg; std::vector sorted_teams; diff --git a/server/gameserver/player.h b/server/gameserver/player.h index ea33b973..3ba4f907 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -121,23 +121,23 @@ class Player : public Human void ProcSkillList(); void PushJoinRoomMsg(); - void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg); - void _CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg); - void _CMImmediateMsg(f8::MsgHdr& hdr, const cs::CMImmediateMsg& msg); - void _CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg); - void _CMEmote(f8::MsgHdr& hdr, const cs::CMEmote& msg); - void _CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg); - void _CMGameOver(f8::MsgHdr& hdr, const cs::CMGameOver& msg); - void _CMWatchWar(f8::MsgHdr& hdr, const cs::CMWatchWar& msg); - void _CMLeave(f8::MsgHdr& hdr, const cs::CMLeave& msg); - void _CMRevive(f8::MsgHdr& hdr, const cs::CMRevive& msg); - void _CMCancelRevive(f8::MsgHdr& hdr, const cs::CMCancelRevive& msg); - void _CMRequestBulletDmg(f8::MsgHdr& hdr, const cs::CMRequestBulletDmg& msg); - void _CMRequestThrowDmg(f8::MsgHdr& hdr, const cs::CMRequestThrowDmg& msg); - void _CMStowShield(f8::MsgHdr& hdr, const cs::CMStowShield& msg); - void _CMTeamMarkTargetPos(f8::MsgHdr& hdr, const cs::CMTeamMarkTargetPos& msg); - void _CMSetRevivePosition(f8::MsgHdr& hdr, const cs::CMSetRevivePosition& msg); - void _CMGetSettlementTeamList(f8::MsgHdr& hdr, const cs::CMGetSettlementTeamList& msg); + void _CMReconnect(f8::MsgHdr* hdr, const cs::CMReconnect& msg); + void _CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg); + void _CMImmediateMsg(f8::MsgHdr* hdr, const cs::CMImmediateMsg& msg); + void _CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg); + void _CMEmote(f8::MsgHdr* hdr, const cs::CMEmote& msg); + void _CMVoice(f8::MsgHdr* hdr, const cs::CMVoice& msg); + void _CMGameOver(f8::MsgHdr* hdr, const cs::CMGameOver& msg); + void _CMWatchWar(f8::MsgHdr* hdr, const cs::CMWatchWar& msg); + void _CMLeave(f8::MsgHdr* hdr, const cs::CMLeave& msg); + void _CMRevive(f8::MsgHdr* hdr, const cs::CMRevive& msg); + void _CMCancelRevive(f8::MsgHdr* hdr, const cs::CMCancelRevive& msg); + void _CMRequestBulletDmg(f8::MsgHdr* hdr, const cs::CMRequestBulletDmg& msg); + void _CMRequestThrowDmg(f8::MsgHdr* hdr, const cs::CMRequestThrowDmg& msg); + void _CMStowShield(f8::MsgHdr* hdr, const cs::CMStowShield& msg); + void _CMTeamMarkTargetPos(f8::MsgHdr* hdr, const cs::CMTeamMarkTargetPos& msg); + void _CMSetRevivePosition(f8::MsgHdr* hdr, const cs::CMSetRevivePosition& msg); + void _CMGetSettlementTeamList(f8::MsgHdr* hdr, const cs::CMGetSettlementTeamList& msg); virtual void SetAttackDir(const glm::vec3& attack_dir) override; void AsyncRequestWatchWar(bool send_rsp_msg); diff --git a/server/gameserver/playermgr.h b/server/gameserver/playermgr.h index 2e8df14c..a96ad377 100644 --- a/server/gameserver/playermgr.h +++ b/server/gameserver/playermgr.h @@ -27,8 +27,8 @@ class PlayerMgr : public a8::Singleton void Init(); void UnInit(); - void _SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_SocketDisconnect& msg); - void _SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg); + void _SS_WSP_SocketDisconnect(f8::MsgHdr* hdr, const ss::SS_WSP_SocketDisconnect& msg); + void _SS_Ping(f8::MsgHdr* hdr, const ss::SS_Ping& msg); int OnlineNum(); Player* GetPlayerBySocket(int socket); diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 52d5c2e1..0cb5fc19 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -108,10 +108,10 @@ void RoomMgr::Update(int delta_time) PerfMonitor::Instance()->real_alive_count = real_alive_count; } -void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void RoomMgr::_CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg) { if (IsLimitJoin()) { - JoinErrorHandle(msg, 2, hdr.socket_handle); + JoinErrorHandle(msg, 2, hdr->socket_handle); return; } { @@ -135,7 +135,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) } const mt::Map* map_meta = mt::Map::GetById(msg.mapid()); if (!map_meta || !map_meta->IsOpen()) { - JoinErrorHandle(msg, 3, hdr.socket_handle); + JoinErrorHandle(msg, 3, hdr->socket_handle); return; } if (!msg.custom_room_payload().empty()) { @@ -145,8 +145,8 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) std::shared_ptr join_msg = std::make_shared(); *join_msg = msg; std::vector> join_msgs{join_msg}; - auto ip_saddr = hdr.ip_saddr; - auto socket_handle = hdr.socket_handle; + auto ip_saddr = hdr->ip_saddr; + auto socket_handle = hdr->socket_handle; auto cb = [ip_saddr, socket_handle, join_msg] (std::vector>& results) @@ -218,7 +218,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) SendGetBattleData(0, join_msgs, cb); } -void RoomMgr::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) +void RoomMgr::_CMReconnect(f8::MsgHdr* hdr, const cs::CMReconnect& msg) { auto send_reconnect_failed = [] (int socket_handle, int errcode, const std::string& errmsg) @@ -241,7 +241,7 @@ void RoomMgr::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) auto room = GetRoomByUuid(a8::XValue(msg.room_uuid())); if (!room) { - send_reconnect_failed(hdr.socket_handle, 1, + send_reconnect_failed(hdr->socket_handle, 1, TEXT("battle_server_reconnect_failreason_room_destoryed", "房间已销毁")); f8::UdpLog::Instance()->Debug ("房间已销毁 %s", @@ -252,24 +252,24 @@ void RoomMgr::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) } #if 0 if (room->GetRoomMode() != kPvpMode) { - send_reconnect_failed(hdr.socket_handle, 1, + send_reconnect_failed(hdr->socket_handle, 1, TEXT("battle_server_reconnect_failreason_only_chiji", "只有吃鸡模式支持重连")); return; } #endif Player* hum = room->GetPlayerByAccountId(msg.account_id()); if (!hum) { - send_reconnect_failed(hdr.socket_handle, 1, + send_reconnect_failed(hdr->socket_handle, 1, TEXT("battle_server_reconnect_failreason_notfound_accountid", "accountid未在房间列表")); return; } hum->_CMReconnect(hdr, msg); } -void RoomMgr::_CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg) +void RoomMgr::_CMPing(f8::MsgHdr* hdr, const cs::CMPing& msg) { cs::SMPing respmsg; - GGListener::Instance()->SendToClient(hdr.socket_handle, 0, respmsg); + GGListener::Instance()->SendToClient(hdr->socket_handle, 0, respmsg); } int RoomMgr::RoomNum() @@ -920,15 +920,15 @@ std::shared_ptr RoomMgr::GetHisCustomRoom(const std::string& room_ return itr != his_custom_room_hash_.end() ? itr->second : nullptr; } -void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr& hdr, const cs::CMJoin& msg) +void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr* hdr, const cs::CMJoin& msg) { if (msg.custom_room_payload().empty()) { return; } std::shared_ptr join_msg = std::make_shared(); *join_msg = msg; - auto ip_saddr = hdr.ip_saddr; - auto socket_handle = hdr.socket_handle; + auto ip_saddr = hdr->ip_saddr; + auto socket_handle = hdr->socket_handle; auto cb = [join_msg, ip_saddr, socket_handle] (int errcode, const std::string errmsg, std::shared_ptr p) diff --git a/server/gameserver/roommgr.h b/server/gameserver/roommgr.h index f2e2ff3d..2b797cda 100644 --- a/server/gameserver/roommgr.h +++ b/server/gameserver/roommgr.h @@ -72,9 +72,9 @@ class RoomMgr : public a8::Singleton void UnInit(); void Update(int delta_time); - void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg); - void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg); - void _CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg); + void _CMJoin(f8::MsgHdr* hdr, const cs::CMJoin& msg); + void _CMReconnect(f8::MsgHdr* hdr, const cs::CMReconnect& msg); + void _CMPing(f8::MsgHdr* hdr, const cs::CMPing& msg); void ActiveRoom(const std::string& room_uuid); int RoomNum(); int OverRoomNum(); @@ -119,7 +119,7 @@ class RoomMgr : public a8::Singleton void AdjustCMJoin(cs::CMJoin* msg); std::shared_ptr GetCustomRoom(const std::string& room_uuid); std::shared_ptr GetHisCustomRoom(const std::string& room_uuid); - void _CMJoinCustomBattle(f8::MsgHdr& hdr, const cs::CMJoin& msg); + void _CMJoinCustomBattle(f8::MsgHdr* hdr, const cs::CMJoin& msg); void SendGetCustomBattleData(std::shared_ptr join_msg, std::function)> cb); diff --git a/third_party/f8 b/third_party/f8 index 7fb9c908..59d0a88a 160000 --- a/third_party/f8 +++ b/third_party/f8 @@ -1 +1 @@ -Subproject commit 7fb9c9083275fd35c2bb4456999673444dcfe986 +Subproject commit 59d0a88a602354c0fccf1b72b43d2d78f2fe4d10