This commit is contained in:
aozhiwei 2023-11-18 13:35:16 +08:00
parent d66d386270
commit 0bbfd36c3d
13 changed files with 30 additions and 127 deletions

View File

@ -475,67 +475,6 @@ void App::UnInitLog()
f8::UdpLog::Instance()->UnInit(); f8::UdpLog::Instance()->UnInit();
} }
bool App::ParseOpt()
{
int ch = 0;
while ((ch = getopt(argc_, argv_, "z:i:t:r:f:n:")) != -1) {
switch (ch) {
case 'z':
{
zone_id_ = a8::XValue(optarg);
}
break;
case 'n':
{
node_id_ = a8::XValue(optarg);
}
break;
case 'i':
{
instance_id_ = a8::XValue(optarg);
}
break;
case 't':
{
is_test_mode_ = true;
test_param_ = a8::XValue(optarg);
}
break;
case 'f':
{
std::vector<std::string> strings;
a8::Split(optarg, strings, ',');
for (auto& str : strings) {
flags.insert(a8::XValue(str).GetInt());
}
}
break;
}
}
return zone_id_ > 0 && instance_id_ > 0 && node_id_ > 0;
}
std::string App::NewUuid()
{
std::string id = a8::Format("%d%d", {100 + zone_id_, uuid_.Generate()});
return id;
}
bool App::HasFlag(int flag)
{
return flags.find(flag) != flags.end();
}
void App::SetFlag(int flag)
{
flags.insert(flag);
}
void App::UnSetFlag(int flag)
{
flags.erase(flag);
}
void App::FreeSocketMsgQueue() void App::FreeSocketMsgQueue()
{ {
msg_mutex_->lock(); msg_mutex_->lock();

View File

@ -37,16 +37,9 @@ public:
void NotifyLoopCond(); void NotifyLoopCond();
std::string NewUuid();
bool HasFlag(int flag);
void SetFlag(int flag);
void UnSetFlag(int flag);
long long AllocTempHeroUniId(); long long AllocTempHeroUniId();
long long AllocTempWeaponUniId(); long long AllocTempWeaponUniId();
void Terminate() { terminated_ = true; } void Terminate() { terminated_ = true; }
int GetInstanceId() const { return instance_id_; }
int GetZoneId() const { return zone_id_; }
int GetNodeId() const { return node_id_; }
bool IsTestMode() const { return is_test_mode_; } bool IsTestMode() const { return is_test_mode_; }
int GetTestParam() const { return test_param_; } int GetTestParam() const { return test_param_; }
bool IsServicing() const { return servicing_; } bool IsServicing() const { return servicing_; }
@ -64,30 +57,10 @@ private:
void InitLog(); void InitLog();
void UnInitLog(); void UnInitLog();
bool ParseOpt();
void FreeSocketMsgQueue(); void FreeSocketMsgQueue();
private: private:
/*
1:
2:
3: battleReport环境
4:
5:
6:
7:
8: httpclientpool压力测试
*/
std::set<int> flags;
private:
int argc_ = 0;
char** argv_ = nullptr;
volatile bool terminated_ = false; volatile bool terminated_ = false;
int zone_id_ = 0;
int instance_id_ = 0;
int node_id_ = 0;
bool is_test_mode_ = false; bool is_test_mode_ = false;
int test_param_ = 0; int test_param_ = 0;
bool servicing_ = true; bool servicing_ = true;

View File

@ -64,16 +64,6 @@ void Player::_CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg)
room->grid_service->MoveCreature(this); room->grid_service->MoveCreature(this);
} }
} }
} else if (cmd == "setmode") {
if (cmds.empty()) {
App::Instance()->UnSetFlag(20);
} else {
if (cmds[1] == "peace") {
App::Instance()->SetFlag(20);
} else {
App::Instance()->UnSetFlag(20);
}
}
} else if (cmd == "additem" && cmds.size() >= 3) { } else if (cmd == "additem" && cmds.size() >= 3) {
int item_id = a8::XValue(cmds[1]); int item_id = a8::XValue(cmds[1]);
int item_num = a8::XValue(cmds[2]); int item_num = a8::XValue(cmds[2]);

View File

@ -8,7 +8,7 @@
bool DebugCmd::Enable() bool DebugCmd::Enable()
{ {
return App::Instance()->GetInstanceId() == 6; return f8::App::Instance()->GetInstanceId() == 6;
} }
void DebugCmd::CreateSphere(Creature* c, void DebugCmd::CreateSphere(Creature* c,

View File

@ -208,7 +208,7 @@ void FrameMaker::SerializeNewObjects(cs::SMUpdate* msg, Room* room, Human* hum,
a8::XPrintf("add full object can_see:%d sync:%d type:%d\n", {e->CanSeeMe(hum), sync, hum->IsPlayer()}); a8::XPrintf("add full object can_see:%d sync:%d type:%d\n", {e->CanSeeMe(hum), sync, hum->IsPlayer()});
#endif #endif
#ifdef DEBUG #ifdef DEBUG
if (App::Instance()->HasFlag(2) && e->GetEntityType() == ET_Player) { if (f8::App::Instance()->HasFlag(2) && e->GetEntityType() == ET_Player) {
hum->room->BroadcastDebugMsg(a8::Format("投放 %d pos:%d,%d 出现", hum->room->BroadcastDebugMsg(a8::Format("投放 %d pos:%d,%d 出现",
{ {
e->GetUniId(), e->GetUniId(),
@ -279,7 +279,7 @@ void FrameMaker::SerializeDelObjects(cs::SMUpdate* msg, Room* room, Human* hum,
for (auto& itr : framedata->del_objects) { for (auto& itr : framedata->del_objects) {
msg->add_del_objids(itr); msg->add_del_objids(itr);
#ifdef DEBUG #ifdef DEBUG
if (App::Instance()->HasFlag(2)) { if (f8::App::Instance()->HasFlag(2)) {
room->BroadcastDebugMsg(a8::Format("投放 删除对象%d", room->BroadcastDebugMsg(a8::Format("投放 删除对象%d",
{ {
itr itr
@ -300,7 +300,7 @@ void FrameMaker::SerializeOutObjects(cs::SMUpdate* msg, Room* room, Human* hum,
for (auto& itr : framedata->out_objects) { for (auto& itr : framedata->out_objects) {
msg->add_out_objids(itr); msg->add_out_objids(itr);
#ifdef DEBUG #ifdef DEBUG
if (App::Instance()->HasFlag(2)) { if (f8::App::Instance()->HasFlag(2)) {
room->BroadcastDebugMsg(a8::Format("投放 移除视野对象%d", room->BroadcastDebugMsg(a8::Format("投放 移除视野对象%d",
{ {
itr itr

View File

@ -35,8 +35,8 @@ void GameLog::GameStart(Player* hum)
//prop->SetVal("localuuid", ""); //prop->SetVal("localuuid", "");
//prop->SetVal("start_param", ""); //prop->SetVal("start_param", "");
prop->SetVal("team_id", hum->team_id); prop->SetVal("team_id", hum->team_id);
prop->SetVal("server_node_id", App::Instance()->GetNodeId()); prop->SetVal("server_node_id", f8::App::Instance()->GetNodeId());
prop->SetVal("server_instance_id", App::Instance()->GetInstanceId()); prop->SetVal("server_instance_id", f8::App::Instance()->GetInstanceId());
prop->SetVal("map_id", hum->room->GetMapMeta()->map_id()); prop->SetVal("map_id", hum->room->GetMapMeta()->map_id());
prop->SetVal("map_name", hum->room->GetMapMeta()->map_name()); prop->SetVal("map_name", hum->room->GetMapMeta()->map_name());
@ -75,8 +75,8 @@ void GameLog::GameEnd(Player* hum)
prop->SetVal("game_time", a8::XGetTickCount() - hum->create_tick); prop->SetVal("game_time", a8::XGetTickCount() - hum->create_tick);
//prop->SetVal("start_param", ""); //prop->SetVal("start_param", "");
prop->SetVal("team_id", hum->team_id); prop->SetVal("team_id", hum->team_id);
prop->SetVal("server_node_id", App::Instance()->GetNodeId()); prop->SetVal("server_node_id", f8::App::Instance()->GetNodeId());
prop->SetVal("server_instance_id", App::Instance()->GetInstanceId()); prop->SetVal("server_instance_id", f8::App::Instance()->GetInstanceId());
prop->SetVal("map_id", hum->room->GetMapMeta()->map_id()); prop->SetVal("map_id", hum->room->GetMapMeta()->map_id());
prop->SetVal("map_name", hum->room->GetMapMeta()->map_name()); prop->SetVal("map_name", hum->room->GetMapMeta()->map_name());
@ -103,8 +103,8 @@ void GameLog::ForceOver(Room* room)
prop->SetVal("battle_started", a8::XValue(room->BattleStarted() ? 1 : 0)); prop->SetVal("battle_started", a8::XValue(room->BattleStarted() ? 1 : 0));
prop->SetVal("game_duration", room->GetFrameNo() * SERVER_FRAME_RATE); prop->SetVal("game_duration", room->GetFrameNo() * SERVER_FRAME_RATE);
prop->SetVal("player_num", room->GetRealPlayerNum()); prop->SetVal("player_num", room->GetRealPlayerNum());
prop->SetVal("server_node_id", App::Instance()->GetNodeId()); prop->SetVal("server_node_id", f8::App::Instance()->GetNodeId());
prop->SetVal("server_instance_id", App::Instance()->GetInstanceId()); prop->SetVal("server_instance_id", f8::App::Instance()->GetInstanceId());
f8::TGLog::Instance()->AddTrackLog(game_id, "forceover", 0, "forceover", prop.get()); f8::TGLog::Instance()->AddTrackLog(game_id, "forceover", 0, "forceover", prop.get());
} }

View File

@ -48,8 +48,8 @@ static void _GMOpsServerInfo(std::shared_ptr<f8::JsonHttpRequest> request)
{ {
request->GetResp()->SetVal("errcode", 0); request->GetResp()->SetVal("errcode", 0);
request->GetResp()->SetVal("errmsg", ""); request->GetResp()->SetVal("errmsg", "");
request->GetResp()->SetVal("node_id", App::Instance()->GetNodeId()); request->GetResp()->SetVal("node_id", f8::App::Instance()->GetNodeId());
request->GetResp()->SetVal("instance_id", App::Instance()->GetInstanceId()); request->GetResp()->SetVal("instance_id", f8::App::Instance()->GetInstanceId());
} }
static void _GMOpsTerminate(std::shared_ptr<f8::JsonHttpRequest> request) static void _GMOpsTerminate(std::shared_ptr<f8::JsonHttpRequest> request)

View File

@ -125,7 +125,7 @@ std::string HttpProxy::HttpGet(
std::string HttpProxy::CreateRequestId() std::string HttpProxy::CreateRequestId()
{ {
return request_prefix_ + a8::XValue(App::Instance()->NewUuid()).GetString(); return request_prefix_ + a8::XValue(f8::App::Instance()->NewNodeUuid()).GetString();
} }
std::shared_ptr<HttpProxyRequest> HttpProxy::GetRequest(const std::string& req_id) std::shared_ptr<HttpProxyRequest> HttpProxy::GetRequest(const std::string& req_id)

View File

@ -25,15 +25,15 @@ void JsonDataMgr::Init()
("%s/zone%d/node%d/gameserver.cluster.json", ("%s/zone%d/node%d/gameserver.cluster.json",
{ {
work_path_, work_path_,
App::Instance()->GetZoneId(), f8::App::Instance()->GetZoneId(),
App::Instance()->GetNodeId(), f8::App::Instance()->GetNodeId(),
}); });
masterserver_cluster_json_file = a8::Format masterserver_cluster_json_file = a8::Format
("%s/zone%d/node%d/masterserver.cluster.json", ("%s/zone%d/node%d/masterserver.cluster.json",
{ {
work_path_, work_path_,
App::Instance()->GetZoneId(), f8::App::Instance()->GetZoneId(),
App::Instance()->GetNodeId(), f8::App::Instance()->GetNodeId(),
}); });
setting_json_file = a8::Format setting_json_file = a8::Format
@ -45,8 +45,8 @@ void JsonDataMgr::Init()
("%s/zone%d/node%d/httpproxy.cluster.json", ("%s/zone%d/node%d/httpproxy.cluster.json",
{ {
work_path_, work_path_,
App::Instance()->GetZoneId(), f8::App::Instance()->GetZoneId(),
App::Instance()->GetNodeId(), f8::App::Instance()->GetNodeId(),
}); });
gameserver_cluster_json_.ReadFromFile(gameserver_cluster_json_file); gameserver_cluster_json_.ReadFromFile(gameserver_cluster_json_file);
masterserver_cluster_json_.ReadFromFile(masterserver_cluster_json_file); masterserver_cluster_json_.ReadFromFile(masterserver_cluster_json_file);
@ -91,7 +91,8 @@ std::shared_ptr<a8::XObject> JsonDataMgr::GetConf()
{ {
for (int i = 0; i < gameserver_cluster_json_.Size(); ++i) { for (int i = 0; i < gameserver_cluster_json_.Size(); ++i) {
std::shared_ptr<a8::XObject> conf = gameserver_cluster_json_.At(i); std::shared_ptr<a8::XObject> conf = gameserver_cluster_json_.At(i);
if (conf->At("instance_id")->AsXValue().GetInt() == App::Instance()->GetInstanceId()) { if (conf->At("instance_id")->AsXValue().GetInt() ==
f8::App::Instance()->GetInstanceId()) {
return conf; return conf;
} }
} }

View File

@ -53,12 +53,12 @@ namespace mt
if (f8::IsTestEnv()) { if (f8::IsTestEnv()) {
res_path_ = a8::Format("../test_res%d/", res_path_ = a8::Format("../test_res%d/",
{ {
App::Instance()->GetInstanceId() f8::App::Instance()->GetInstanceId()
}); });
} else { } else {
res_path_ = a8::Format("../dev_res%d/", res_path_ = a8::Format("../dev_res%d/",
{ {
App::Instance()->GetInstanceId() f8::App::Instance()->GetInstanceId()
}); });
} }
} else { } else {

View File

@ -183,8 +183,8 @@ namespace mt
abort(); abort();
} }
#ifdef DEBUG #ifdef DEBUG
if (App::Instance()->GetInstanceId() == 600 || if (f8::App::Instance()->GetInstanceId() == 600 ||
App::Instance()->GetInstanceId() == 100) { f8::App::Instance()->GetInstanceId() == 100) {
_float_cd = 6; _float_cd = 6;
} }
#endif #endif

View File

@ -449,8 +449,8 @@ void RoomMgr::ReportServerState(int instance_id, const std::string& host, int po
port port
}); });
auto url_params = a8::MutableXObject::CreateObject(); auto url_params = a8::MutableXObject::CreateObject();
url_params->SetVal("node_id", App::Instance()->GetNodeId()); url_params->SetVal("node_id", f8::App::Instance()->GetNodeId());
url_params->SetVal("instance_id", App::Instance()->GetInstanceId()); url_params->SetVal("instance_id", f8::App::Instance()->GetInstanceId());
url_params->SetVal("ip", JsonDataMgr::Instance()->ip); url_params->SetVal("ip", JsonDataMgr::Instance()->ip);
url_params->SetVal("port", JsonDataMgr::Instance()->listen_port); url_params->SetVal("port", JsonDataMgr::Instance()->listen_port);
url_params->SetVal("online_num", PlayerMgr::Instance()->OnlineNum()); url_params->SetVal("online_num", PlayerMgr::Instance()->OnlineNum());
@ -543,7 +543,7 @@ std::shared_ptr<Room> RoomMgr::CreateRoom(const cs::CMJoin& msg,
RoomInitInfo init_info; RoomInitInfo init_info;
{ {
init_info.room_idx = room_idx; init_info.room_idx = room_idx;
init_info.room_uuid = App::Instance()->NewUuid(); init_info.room_uuid = f8::App::Instance()->NewGlobalUuid();
init_info.room_type = room_type; init_info.room_type = room_type;
init_info.room_mode = (RoomMode_e)msg.room_mode(); init_info.room_mode = (RoomMode_e)msg.room_mode();
init_info.init_map_id = map_id; init_info.init_map_id = map_id;
@ -731,7 +731,7 @@ void RoomMgr::SendGetBattleData(int mode,
for (auto& msg : join_msgs) { for (auto& msg : join_msgs) {
std::shared_ptr<BattleDataContext> context = std::make_shared<BattleDataContext>(); std::shared_ptr<BattleDataContext> context = std::make_shared<BattleDataContext>();
context->join_msg = msg; context->join_msg = msg;
context->battle_uuid = App::Instance()->NewUuid(); context->battle_uuid = f8::App::Instance()->NewGlobalUuid();
context->errcode = 100; context->errcode = 100;
context->errmsg = ""; context->errmsg = "";
result->push_back(context); result->push_back(context);

View File

@ -483,7 +483,7 @@ void Team::GenBattleUuid()
} }
} }
if (!battle_uuid.empty()) { if (!battle_uuid.empty()) {
battle_uuid = App::Instance()->NewUuid(); battle_uuid = f8::App::Instance()->NewGlobalUuid();
} }
for (Human* hum : members_) { for (Human* hum : members_) {