📄 handler_gm.cpp
字号:
#include "stdafx.h"
#include <Protocol_GM.h>
#include <PacketStruct_GM.h>
#include "Handler_GM.h"
#include "GameServer.h"
#include "ServerSession.h"
#include "ServerSessionFactory.h"
// 辑滚 沥惑辆丰 橇肺配妮 困秦
#include <Protocol_ServerCommon.h>
#include <PacketStruct_ServerCommon.h>
extern GameServer *g_pGameServer;
VOID Handler_GM::OnGM_CONNECTION_SERVER_INFO_CMD( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
MSG_GM_CONNECTION_SERVER_INFO_CMD *pRecvMsg = (MSG_GM_CONNECTION_SERVER_INFO_CMD*)pMsg;
/*
printf( "Server information received" );
printf( "DB proxy server(%s:%d)", pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
printf( "Agent server(%s:%d)", pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );
*/
//g_pGameServer->SetDBProxyServerAddr( pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
//g_pGameServer->SetAgentServerAddr( pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );
g_pGameServer->SetServerKey( pRecvMsg->m_ServerKey );
MessageOut( eCRITICAL_LOG, "付胶磐肺何磐 罐篮 辑滚虐 悸泼(%u) (%u, %u, %u, %u)", pRecvMsg->m_ServerKey,
pRecvMsg->m_ServerKey.GetWorldID(), pRecvMsg->m_ServerKey.GetChannelID(), pRecvMsg->m_ServerKey.GetServerType(), pRecvMsg->m_ServerKey.GetServerID() );
g_pGameServer->UpdateServerTitle();
g_pGameServer->SetServerGUID( pRecvMsg->m_dwServerGUID );
g_pGameServer->SetServerAddr( GAME_DBPROXY, pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
g_pGameServer->SetServerAddr( AGENT_SERVER, pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );
g_pGameServer->SetServerAddr( GUILD_SERVER, pRecvMsg->m_szGuildServerIP, pRecvMsg->m_wGuildServerPort );
// Game DB proxy客 楷搬 矫档
g_pGameServer->ConnectTo( GAME_DBPROXY );
g_pGameServer->ConnectTo( AGENT_SERVER );
g_pGameServer->ConnectTo( GUILD_SERVER );
}
VOID Handler_GM::OnGM_RELOAD_DATA_CMD( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
g_pGameServer->ReloadData();
}
VOID Handler_GM::OnSERVERCOMMON_SERVERSHUTDOWN_REQ( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
// 沥惑辆丰 甸绢埃促!
g_pGameServer->Shutdown();
// 辆丰茄促绊 舅妨拎~
MSG_SERVERCOMMON_SERVERSHUTDOWN_ANS sendMsg;
sendMsg.m_byCategory = 0;
sendMsg.m_byProtocol = SERVERCOMMON_SERVERSHUTDOWN_ANS;
pMasterServer->Send( (BYTE*)&sendMsg, sizeof(MSG_SERVERCOMMON_SERVERSHUTDOWN_ANS) );
}
VOID Handler_GM::OnGM_OPERATION_USERMONEY_REQ( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
// 泅犁鳖瘤 爱绊 乐带 沥焊甫 傈价
MSG_GM_OPERATION_USERMONEY_ANS sendMsg;
if( PlayerManager::Instance()->GetNumberOfPlayers() > 0)
{
sendMsg.dwUserMoney = g_pGameServer->GetTotalUserMoney() / PlayerManager::Instance()->GetNumberOfPlayers();
}
else
{
sendMsg.dwUserMoney = 0;
}
sendMsg.ui64TotalPlusMoney = g_pGameServer->GetTotalPlusMoney();
sendMsg.ui64TotalMinusMoney = g_pGameServer->GetTotalMinusMoney();
pMasterServer->Send( (BYTE*)&sendMsg, sizeof(sendMsg) );
MessageOut( eCRITICAL_LOG, "UserMoney Send" );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -