858 lines
32 KiB
C
858 lines
32 KiB
C
#pragma once
|
||
|
||
#if !defined(DNPRJSAFE)
|
||
#include "DNPrjSafe.h"
|
||
#endif // DNPRJSAFE
|
||
#include "DNProtocol.h"
|
||
#include "DNUserData.h"
|
||
#include "DNServerProtocol.h"
|
||
#include "DNServerPacketVillage.h"
|
||
#include "SMVersion.h"
|
||
|
||
/*--------------------------------------------------------------------------
|
||
Server 내에서 사용하는 Protocol, Packet
|
||
|
||
=> 파일이 길어져서 DNServerProtocol.h 랑 분리시킴 090218
|
||
=> 더 길어져서 이제 서버별로 분리 ㅋㅋ 100124
|
||
(db, game, login, master, village외에 것들만 이곳에)
|
||
--------------------------------------------------------------------------*/
|
||
|
||
#pragma pack(push, 1)
|
||
|
||
//-------------------------------------------------
|
||
// ServiceManager <-> NetLauncher or Service
|
||
//-------------------------------------------------
|
||
struct sServiceState
|
||
{
|
||
int nSID;
|
||
int nManagedLauncherID;
|
||
int nServiceSessionID;
|
||
int nState; //eServiceState
|
||
TCHAR szType[NAMELENMAX];
|
||
ULONG nLastReportTick;
|
||
char szVersion[NAMELENMAX];
|
||
char szResource[32];
|
||
BYTE cWorldIDs[WORLDCOUNTMAX];
|
||
ULONG nCreateTime;
|
||
bool bFinalBuild;
|
||
bool bIsReConnect; //재접 시도을 1번만 허용하기 위해 추가
|
||
|
||
void Init()
|
||
{
|
||
nServiceSessionID = 0;
|
||
nLastReportTick = 0;
|
||
nState = _SERVICE_STATE_OFFLINE;
|
||
memset(szVersion, 0, sizeof(szVersion));
|
||
memset(szResource, 0, sizeof(szResource));
|
||
nCreateTime = 0;
|
||
bFinalBuild = false;
|
||
bIsReConnect = false;
|
||
}
|
||
};
|
||
|
||
struct TNetResult //NETSERVICE_RESULT
|
||
{
|
||
char cAssingedType[MANAGEDMAX];
|
||
WCHAR szBaseUrl[MAX_PATH];
|
||
WCHAR szPatchUrl[MAX_PATH];
|
||
};
|
||
|
||
struct TRunProcess //NETSERVICE_RUN_PROCESS
|
||
{
|
||
int nSID;
|
||
};
|
||
|
||
struct TTerminateProcess // NETSERVICE_TERMINATE_PROCESS
|
||
{
|
||
int nSID;
|
||
bool bRestart;
|
||
};
|
||
|
||
struct TPatch //NETSERVICE_PATCH
|
||
{
|
||
int nPatchResLevel;
|
||
int nPatchID;
|
||
WCHAR szKey[64];
|
||
};
|
||
|
||
struct TPatchUrl //NETSERVICE_PATCH_BYURL
|
||
{
|
||
int nPatchID;
|
||
WCHAR szKey[64];
|
||
bool bOnlyUseURL;
|
||
WCHAR szDest[64];
|
||
short nLen;
|
||
char szUrl[1024];
|
||
};
|
||
|
||
struct TInfoCopy //NETSERVICE_INFOCOPY
|
||
{
|
||
bool bNeed;
|
||
};
|
||
|
||
|
||
struct TReturnPing //NETSERVICE_RETURN_PING
|
||
{
|
||
int nIdx;
|
||
ULONG nTick;
|
||
};
|
||
|
||
struct TServiceConnected //NETSERVICE_CONNECTED
|
||
{
|
||
int nSessionID;
|
||
};
|
||
|
||
struct TServiceNotice //NETSERVICE_NOTICE
|
||
{
|
||
int nNoticeType; //eSMNoticeType
|
||
int nManagedID;
|
||
int nChannelID;
|
||
int nMapIdx;
|
||
int nSlideShowSec; //몇초동안 슬라이드 공지(전광판....-_-;?) 이 값이 0 이상이면 전광판이다
|
||
USHORT nLen;
|
||
WCHAR wszMsg[CHATLENMAX];
|
||
};
|
||
|
||
struct TServiceChannelControl //NETSERVICE_CHANNEL_CONTROL
|
||
{
|
||
int nChannelID;
|
||
BYTE cVisibility;
|
||
int nChannelPopulation;
|
||
};
|
||
|
||
struct TServicePopulationControl //NETSERVICE_POPULATION_CONTROL
|
||
{
|
||
int nServerType;
|
||
int nManagedID;
|
||
BYTE cZeroPopulation; //인구수 조절
|
||
};
|
||
|
||
struct TServiceAffinityControl //NETSERVICE_AFFINITY_CONTROL
|
||
{
|
||
int nManagedID;
|
||
BYTE cAffinityType;
|
||
};
|
||
|
||
struct TServiceUserRestraint //NETSERVICE_USERRESTRAINT
|
||
{
|
||
UINT nAccountDBID;
|
||
};
|
||
|
||
struct TServiceUserBan //NETSERVICE_USERBAN
|
||
{
|
||
eBanFileType eType;
|
||
UINT nAccountDBID;
|
||
WCHAR wszName[NAMELENMAX];
|
||
};
|
||
|
||
struct TServiceWordlMaxUser //NETSERVICE_WORLDMAXUSER
|
||
{
|
||
UINT nChangeMaxUser;
|
||
};
|
||
|
||
struct TServiceSelectjoin //NETSERVICE_SELECTJOIN
|
||
{
|
||
int nSID;
|
||
WCHAR wszCharacterName[NAMELENMAX];
|
||
};
|
||
|
||
struct TScheduleServiceClose //NETSERVICE_SCHEDULE_SERVERCLOSE
|
||
{
|
||
__time64_t _tOderedTime;
|
||
__time64_t _tCloseTime;
|
||
};
|
||
|
||
struct TUpdateFarm //NETSERVICE_UPDATEFARM
|
||
{
|
||
int nWorldID;
|
||
bool bForceStart;
|
||
};
|
||
|
||
struct TExtReload //NETSERVICE_EXTRELOAD
|
||
{
|
||
int nType;
|
||
};
|
||
|
||
struct TUPdateGuildWare //NETSERVICE_UPDATEGUILDWARE
|
||
{
|
||
int nGuildID;
|
||
};
|
||
|
||
struct TCreateDB //NETSERVICE_CREATEWORLDDB
|
||
{
|
||
int nWorldID;
|
||
};
|
||
|
||
struct TReloadGuildwarSchedule //NETSERVICE_RELOADGUILDWARSCHEDULE
|
||
{
|
||
int nWorldID;
|
||
};
|
||
|
||
struct TChangeLimitItemMax //NETSERVICE_LIMITEITEM_CHANGEQUANTITY
|
||
{
|
||
int nSN;
|
||
int nLimiteMax;
|
||
};
|
||
|
||
struct TServiceStartManage //NETSERVICE_STARTOF_MANAGING
|
||
{
|
||
bool bOther;
|
||
};
|
||
|
||
struct TServiceManaging //NETSERVICE_MANAGING
|
||
{
|
||
int nSID;
|
||
BYTE cCreateCount;
|
||
BYTE cCreateIndex;
|
||
USHORT nCmdSize;
|
||
char szCmd[EXCUTELENMAX + EXCUTECMDMAX];
|
||
};
|
||
|
||
struct TPatcherSrevicePatchState //PATCHERSERVICE_PATCHSTATE
|
||
{
|
||
BYTE cState; // 0 fail, otherwise success
|
||
};
|
||
|
||
struct TServerManagedList //SERVICE_LAUNCHER_PROCESS_LIST
|
||
{
|
||
BYTE cCount;
|
||
int nListArr[255];
|
||
};
|
||
|
||
struct TServerProcessState //SERVICE_LAUNCHER_PROCESS_STATE
|
||
{
|
||
BYTE cPatch;
|
||
char szState[256];
|
||
};
|
||
|
||
struct TServerEsmState
|
||
{
|
||
char szState[256];
|
||
};
|
||
|
||
struct TServiceLauncherVersion //SERVICE_LAUNCHER_VERSION
|
||
{
|
||
char szVersion[SERVERVERSIONMAX];
|
||
};
|
||
|
||
struct TPatchState //SERVICE_LAUNCHER_PATCH_STATE
|
||
{
|
||
bool bFlag;
|
||
int nPatchID;
|
||
BYTE cLenState;
|
||
BYTE cLenKey;
|
||
char szState[128];
|
||
};
|
||
|
||
struct TPatchProgress //SERVICE_LAUNCER_PATCH_DATA_PROGRESS
|
||
{
|
||
ULONG progress;
|
||
ULONG progressMax;
|
||
BYTE keyLen;
|
||
WCHAR key[32];
|
||
};
|
||
|
||
struct TUnzipProgress
|
||
{
|
||
ULONG progress;
|
||
ULONG progressMax;
|
||
short len;
|
||
WCHAR filename[MAX_PATH + 1];
|
||
};
|
||
|
||
struct TSendPing // SERVICE_LAUNCHER_PING
|
||
{
|
||
char szPublicIP[IPLENMAX];
|
||
};
|
||
|
||
struct TRunBatch
|
||
{
|
||
int nBatchID;
|
||
};
|
||
struct TRunBatchState
|
||
{
|
||
int nRet;
|
||
int nBatchID;
|
||
};
|
||
|
||
struct TStopBatch
|
||
{
|
||
int nBatchID;
|
||
};
|
||
|
||
struct TStopBatchState
|
||
{
|
||
int nBatchID;
|
||
};
|
||
|
||
struct TLiveExtCopy //SERVICE_LAUNCHER_LIVEEXTCOPY
|
||
{
|
||
bool bCopyRet;
|
||
};
|
||
|
||
struct TServerManagedID //SERVICE_SERVER_REGIST_MANAGEDID
|
||
{
|
||
int nMID;
|
||
int nManagedType;
|
||
int nServiceID;
|
||
bool bFinalBuild;
|
||
char szVersion[NAMELENMAX];
|
||
char szResVersion[NAMELENMAX];
|
||
BYTE cWorldCount;
|
||
BYTE cWorldID[WORLDCOUNTMAX];
|
||
};
|
||
|
||
struct TServiceReportLogin //SERVICE_SERVER_USUAL_LOGINREPORT
|
||
{
|
||
UINT nUserCount;
|
||
};
|
||
|
||
struct TServiceReportVillage //SERVICE_SERVER_USUAL_VILLAGEREPORT
|
||
{
|
||
UINT nUserCount;
|
||
USHORT nCount;
|
||
TVillageUserReport Info[VILLAGECHANNELMAX];
|
||
};
|
||
|
||
struct TFarmStatus
|
||
{
|
||
int nManagedID;
|
||
UINT nFarmDBID;
|
||
int nFarmCurUserCount;
|
||
bool bActivate;
|
||
};
|
||
|
||
struct TServiceReportMaster //SERVICE_SERVER_USUAL_MASTERREPORT
|
||
{
|
||
int nWorldID;
|
||
UINT nWaitserCount;
|
||
BYTE cFarmCount;
|
||
TFarmStatus FarmStatus[Farm::Max::FARMCOUNT/2];
|
||
};
|
||
|
||
struct TGameUserReport
|
||
{
|
||
int nMapIdx;
|
||
BYTE cUserCount;
|
||
};
|
||
|
||
struct TServiceReportGame //SERVICE_SERVER_USUAL_GAMEREPORT
|
||
{
|
||
BYTE cIsZeroPopulation;
|
||
UINT nUserCount;
|
||
UINT nRoomCount;
|
||
UINT nTotalRoomCount;
|
||
};
|
||
|
||
struct TServiceDelayedReport //SERVICE_SERVER_DELAYEDREPORT
|
||
{
|
||
int nManagedID;
|
||
ULONG nDelayedTick;
|
||
};
|
||
|
||
struct TServiceUnrecover //SERVICE_SERVER_UNRECOVERY
|
||
{
|
||
bool bBlock;
|
||
bool bPermannently;
|
||
};
|
||
|
||
struct TServiceChannelInfo //SERVICE_SERVER_CHANNELINFO
|
||
{
|
||
int nManagedID;
|
||
int nWorldID;
|
||
BYTE cCount;
|
||
sChannelInfo Info[VILLAGECHANNELMAX];
|
||
};
|
||
|
||
struct TServiceWorldInfo //SERVICE_SERVER_WORLDINFO
|
||
{
|
||
int nWorldID;
|
||
int nWorldMaxuser;
|
||
};
|
||
|
||
struct TServiceMeritInfo //SERVICE_SERVER_MERITINFO
|
||
{
|
||
BYTE cCount;
|
||
TMeritInfo Info[MERITINFOMAX];
|
||
};
|
||
|
||
struct TServerException //SERVICE_SERVER_EXCEPTION_REPORT
|
||
{
|
||
int nMID;
|
||
int nType;
|
||
};
|
||
|
||
struct TServerExtReloadResult //SERVICE_SERVER_EXT_RELOADRESULT
|
||
{
|
||
bool bResult;
|
||
};
|
||
|
||
struct TServerLoginWorldDResult // SERVICE_SERVER_LOGIN_WORDDBRESULT
|
||
{
|
||
int nResult; // 0 : Success / 1:Connect / 2:Version / 3:Not Find / 4:Already Created
|
||
int nWorldID;
|
||
char szIp[IPLENMAX];
|
||
int nPort;
|
||
};
|
||
|
||
struct TQueryDelayedReport
|
||
{
|
||
int nMID;
|
||
DWORD dwThreadID;
|
||
DWORD dwElasped;
|
||
char szQueryName[QUERYNAMESIZE];
|
||
};
|
||
|
||
struct TGameDelayedReport
|
||
{
|
||
WCHAR wszLog[GAMEDELAYSIZE];
|
||
};
|
||
|
||
struct TQueryErrorReport
|
||
{
|
||
USHORT unLogType;
|
||
USHORT unWorldSetID;
|
||
UINT uiAccountDBID;
|
||
INT64 biCharDBID;
|
||
UINT uiSessionID;
|
||
USHORT unServerType;
|
||
USHORT unLen;
|
||
WCHAR wszBuf[800];
|
||
};
|
||
|
||
struct TVillageDelayedReport
|
||
{
|
||
WCHAR wszLog[GAMEDELAYSIZE];
|
||
};
|
||
|
||
struct TNetLauncherInfo
|
||
{
|
||
int nNID;
|
||
WCHAR wszIP[IPLENMAX];
|
||
WCHAR wszPublicIP[IPLENMAX];
|
||
};
|
||
|
||
struct TApplyWorldPvPRoom
|
||
{
|
||
int nRetCode;
|
||
};
|
||
|
||
struct TCreateGambleRoom
|
||
{
|
||
int nRoomIndex;
|
||
bool bRegulation;
|
||
int nGambleType;
|
||
int nPrice;
|
||
};
|
||
|
||
struct TStopGambleRoom
|
||
{
|
||
int nRetCode;
|
||
};
|
||
|
||
struct TDelGambleRoom
|
||
{
|
||
int nRetCode;
|
||
};
|
||
|
||
struct TUpdateDWCStatus
|
||
{
|
||
int nRetCode;
|
||
};
|
||
|
||
//-------------------------------------------------
|
||
// ServiceManager <-> Patcher
|
||
//-------------------------------------------------
|
||
struct TPatcherResult //PATCHERSERVICE_RESULT
|
||
{
|
||
WCHAR szBaseUrl[MAX_PATH];
|
||
WCHAR szPatchUrl[MAX_PATH];
|
||
};
|
||
|
||
//-------------------------------------------------
|
||
// ServiceManager <-> Monitor
|
||
//-------------------------------------------------
|
||
struct TSMCheckLogin //MONITOR2MANAGER_CHECK_LOGIN
|
||
{
|
||
TP_SMVERSION m_Version;
|
||
char szID[IDLENMAX];
|
||
char szPass[PASSWORDLENMAX];
|
||
};
|
||
|
||
struct TSMServerStructReq // MONITOR2MANAGER_SERVERSTRUCT_REQ
|
||
{
|
||
int nContainerVersion;
|
||
};
|
||
|
||
struct TSMRealTimeReq // MONITOR2MANAGER_REALTIME_REQ
|
||
{
|
||
int nContainetVersion;
|
||
};
|
||
|
||
struct TSMMeritInfoListReq //MONITOR2MANAGER_MERITSTRUCT_REQ
|
||
{
|
||
int nContainerVersion;
|
||
int nLastRecvMeritID;
|
||
};
|
||
|
||
struct TSMNetLauncherInfoListReq //MONITOR2MANAGER_NETLAUNCHERSTRUCT_REQ
|
||
{
|
||
int nContainerVersion;
|
||
int nLastRecvNLID;
|
||
};
|
||
|
||
struct TSMServerInfoListReq //MONITOR2MANAGER_SERVERSTRUCTDATA_REQ
|
||
{
|
||
int nContainerVersion;
|
||
int nLastRecvSID;
|
||
};
|
||
|
||
struct TSMChannelInfoListReq //MONITOR2MANAGER_CHANNELSTRUCTDATA_REQ
|
||
{
|
||
int nContainerVersion;
|
||
int nSID;
|
||
int nChannelID;
|
||
};
|
||
|
||
struct TSMLoginUserCountReq //MONITOR2MANAGER_LOGINSERCOUNT_REQ
|
||
{
|
||
int nLastRecvLoginSID;
|
||
};
|
||
|
||
struct TSMVillageUserCountReq //MONITOR2MANAGER_VILLAGESERCOUNT_REQ
|
||
{
|
||
INT64 uiLastRecvCHID;
|
||
};
|
||
|
||
struct TSMGameUserCountReq //MONITOR2MANAGER_GAMESERCOUNT_REQ
|
||
{
|
||
int nLastRecvGameSID;
|
||
};
|
||
|
||
struct TSMServerStateReq //MONITOR2MANAGER_SERVERSTATE_REQ
|
||
{
|
||
int nLastRecvSID;
|
||
};
|
||
|
||
struct TSMWorldInfoReq //MONITOR2MANAGER_WORLDINFO_REQ
|
||
{
|
||
int nContainetVersion;
|
||
};
|
||
|
||
struct TSMServiceStart //MONITOR2MANAGER_STARTSERVICE
|
||
{
|
||
int nStartType; //eServiceStartType
|
||
BYTE cCount;
|
||
int nIDs[SERVERCONTROLMAX]; //Need Value if nStartType "_SERVICE_START_EACH" & "_SERVICE_START_EACH_BY_LAUNCHERID"
|
||
};
|
||
|
||
struct TSMServiceStop //MONITOR2MANAGER_STOPSERVICE
|
||
{
|
||
int nStopType; //eServiceStopType
|
||
BYTE cCount;
|
||
int nIDs[SERVERCONTROLMAX]; //Need Value if nStopType "_SERVICE_STOP_EACH" & "_SERVICE_STOP_EACH_FORCE"
|
||
};
|
||
|
||
struct TSMMakeDump //MONITOR2MANAGER_MAKEDUMP
|
||
{
|
||
BYTE cCount;
|
||
int nSID[SERVERCONTROLMAX];
|
||
};
|
||
|
||
struct sChannelControl
|
||
{
|
||
int nWorldID;
|
||
int nChannelID;
|
||
};
|
||
|
||
struct TSMChannelControl //MONITOR2MANAGER_CHANNELCONTROL
|
||
{
|
||
bool bVisibility;
|
||
BYTE cCount;
|
||
sChannelControl Control[SERVERCONTROLMAX];
|
||
};
|
||
|
||
struct TSMGameControl //MONITOR2MANAGER_GAMECONTROL
|
||
{
|
||
bool bClose;
|
||
BYTE cCount;
|
||
int nSID[SERVERCONTROLMAX];
|
||
};
|
||
|
||
struct TSMReportReq // MONITOR2MANAGER_REPORT_REQ
|
||
{
|
||
bool bBuild;
|
||
BYTE cDays;
|
||
int nPage;
|
||
};
|
||
|
||
struct TChangePassword // MONITOR2MANAGER_CHANGEPASSWORD
|
||
{
|
||
char szUserName[NAMELENMAX];
|
||
char szPassWord[PASSWORDLENMAX];
|
||
int nMonitorLevel;
|
||
};
|
||
|
||
///////////////////////////////////////////////////
|
||
struct TMSLoginResult //MANAGER2MONITOR_LOGIN_RESULT
|
||
{
|
||
int nRetCode;
|
||
int nMonitorLevel; //eServerMonitorLevel 참조
|
||
int nContainerVersion;
|
||
};
|
||
|
||
struct sMonitorNetLauncherInfo
|
||
{
|
||
int nID;
|
||
WCHAR wszIP[IPLENMAX];
|
||
WCHAR wszPublicIP[IPLENMAX];
|
||
};
|
||
|
||
struct TMSNetLauncherList //MANAGER2MONITOR_NETLAUNCHERLIST
|
||
{
|
||
int nWholeCount;
|
||
int nLastReqNLID;
|
||
int nContainerVersion;
|
||
BYTE cIsLast;
|
||
int nRet;
|
||
short nCount;
|
||
sMonitorNetLauncherInfo Info[NETLAUNCHERLISTMAX];
|
||
};
|
||
|
||
struct sMonitorServerInfo
|
||
{
|
||
int nSID;
|
||
int nManagedLauncherID;
|
||
int nServerState; //eServiceState
|
||
int nServerType; //eManagedType
|
||
char szType[NAMELENMAX];
|
||
char szResourceRevision[32];
|
||
char szExeVersion[SERVERVERSIONMAX];
|
||
BYTE cWorldIDs[WORLDCOUNTMAX];
|
||
};
|
||
|
||
struct TMonitorServerInfoList //MANAGER2MONITOR_SERVERINFO_LIST
|
||
{
|
||
int nWholeCount;
|
||
int nLastReqSID;
|
||
int nContainerVersion;
|
||
BYTE cIsLast;
|
||
int nRet;
|
||
short nCount;
|
||
sMonitorServerInfo Info[SERVERINFOCOUNTMAX];
|
||
};
|
||
|
||
struct sMonitorChannelMeritInfo
|
||
{
|
||
int nID;
|
||
int nMinLevel;
|
||
int nMaxLevel;
|
||
int nMeritType;
|
||
int nExtendValue;
|
||
};
|
||
|
||
struct TMSMeritList //MANAGER2MONITOR_MERITLIST
|
||
{
|
||
int nWholeCount; //전체카운트
|
||
int nLastReqMeritID;
|
||
int nContainerVersion;
|
||
BYTE cIsLast;
|
||
int nRet;
|
||
short nCount;
|
||
sMonitorChannelMeritInfo Info[MERITINFOMAX];
|
||
};
|
||
|
||
struct sMonitorChannelInfo
|
||
{
|
||
int nSID;
|
||
int nWorldID;
|
||
UINT nChannelID;
|
||
UINT nMapIdx;
|
||
USHORT nMaxUserCount;
|
||
int nChannelAttribute;
|
||
WCHAR wszMapName[MAPNAMELENMAX];
|
||
};
|
||
|
||
struct TMSMonitorChannelList //MANAGER2MONITOR_CHANNELINFO_LIST
|
||
{
|
||
int nWholeCount;
|
||
INT64 nLastReqCHID;
|
||
int nContainerVersion;
|
||
BYTE cIsLast;
|
||
int nRet;
|
||
short nCount;
|
||
sMonitorChannelInfo Info[VILLAGECHANNELMAX];
|
||
};
|
||
|
||
struct TMSUpdateNotice //MANAGER2MONITOR_UPDATE_NOTICE
|
||
{
|
||
int nNoticeType; //eServerMonitorNotice
|
||
int nContainerVersion;
|
||
};
|
||
|
||
struct sServerStateInfo
|
||
{
|
||
int nSID;
|
||
int nServerState; //eServiceState
|
||
};
|
||
|
||
struct TMSServerStateUpdate : public sServerStateInfo //MANAGER2MONITOR_UPDATE_SERVERSTATE
|
||
{
|
||
int nServerException; //eExceptionRepert
|
||
char szDetail[128]; //reserve
|
||
};
|
||
|
||
struct TMSServerDealyReq // MANAGER2MONITOR_SERVER_DEALYINFO_REQ
|
||
{
|
||
int nType;
|
||
int nSID;
|
||
};
|
||
struct TMSServerDealyInfo // MANAGER2MONITOR_SERVER_DEALYINFO
|
||
{
|
||
int nType;
|
||
int nCount;
|
||
int nMIDs[SERVICEMANAGER_SERVERDEALY_SIZE];
|
||
};
|
||
|
||
struct sMonitorWorldInfo
|
||
{
|
||
int nWorldID;
|
||
int nWorldMaxUser;
|
||
WCHAR wszWorldName[WORLDNAMELENMAX];
|
||
};
|
||
|
||
struct TMSWorldInfo //MANAGER2MONITOR_WORLDINFO_RESULT
|
||
{
|
||
int nRet;
|
||
BYTE cCount;
|
||
sMonitorWorldInfo WorldInfo[WORLDCOUNTMAX];
|
||
};
|
||
|
||
struct sUserCountInfo
|
||
{
|
||
int nSID;
|
||
int nUserCount;
|
||
short nRoomCount;
|
||
};
|
||
|
||
struct TMSLoginUserCount //MANAGER2MONITOR_LOGIN_UPDATEINFO
|
||
{
|
||
int nWholeCount;
|
||
int nLastReqLoginSID;
|
||
BYTE cIsLast;
|
||
short nCount;
|
||
sUserCountInfo Update[LOGINCOUNTMAX];
|
||
};
|
||
|
||
struct sChannelUpdateInfo : public TVillageUserReport
|
||
{
|
||
int nSID;
|
||
short nMeritBonusID;
|
||
int nLimitLevel;
|
||
bool bVisibility;
|
||
bool bShow;
|
||
int nServerID;
|
||
CHAR cThreadID;
|
||
};
|
||
|
||
struct sVillageUserInfo : public sUserCountInfo
|
||
{
|
||
BYTE cChannelCount;
|
||
sChannelUpdateInfo Info[VILLAGECHANNELMAX];
|
||
};
|
||
|
||
struct TMSVillageUserCount //MANAGER2MONITOR_VILLAGE_UPDATEINFO
|
||
{
|
||
int nWholeCount;
|
||
INT64 uiLastReqCHID;
|
||
BYTE cIsLast;
|
||
BYTE cCount;
|
||
sChannelUpdateInfo Update[VILLAGECHANNELMAX];
|
||
};
|
||
|
||
struct sGameUserInfo : public sUserCountInfo
|
||
{
|
||
BYTE cIsOpened;
|
||
int nTotalRoomCount;
|
||
};
|
||
|
||
struct TMSGameUserCount //MANAGER2MONITOR_GAME_UPDATEINFO
|
||
{
|
||
int nWholeCount;
|
||
int nLastReqGameSID;
|
||
BYTE cIsLast;
|
||
short nCount;
|
||
sGameUserInfo Update[GAMECOUNTMAX];
|
||
};
|
||
|
||
struct TMSFarmUserCount // MANAGER2MONITOR_FARM_UPDATEINFO
|
||
{
|
||
short nCount;
|
||
TFarmStatus Update[Farm::Max::FARMCOUNT];
|
||
};
|
||
|
||
struct TMSServerStateList //MANAGER2MONITOR_SERVERSTATE_LIST
|
||
{
|
||
int nWholeCount;
|
||
int nLastReqSID;
|
||
BYTE cIsLast;
|
||
short nCount;
|
||
sServerStateInfo State[STATECOUNTMAX];
|
||
};
|
||
|
||
struct TMSOperatingResult //MANAGER2MONITOR_OPERATING_RESULT
|
||
{
|
||
int nCmd; //요청하신 명령
|
||
int nRet; //에 대한 리턴밸류
|
||
};
|
||
|
||
struct TMSReportReslut
|
||
{
|
||
int nPage;
|
||
int nMaxPage;
|
||
bool bEnd;
|
||
wchar_t szReport[SERVICEMANAGER_REPORT_SIZE + 1];
|
||
};
|
||
|
||
//-------------------------------------------------
|
||
// Log Packet
|
||
//-------------------------------------------------
|
||
|
||
const int LOGPARAMSIZEMAX = 1024;
|
||
struct TLog
|
||
{
|
||
UINT nAccountDBID;
|
||
INT64 biCharacterDBID;
|
||
UINT nSessionID;
|
||
char cWorldID;
|
||
int nLogType;
|
||
short wTotalParamCount;
|
||
short wParamSize;
|
||
char szParam[LOGPARAMSIZEMAX];
|
||
};
|
||
|
||
struct TLogFile
|
||
{
|
||
USHORT unLogType;
|
||
USHORT unWorldSetID;
|
||
int nServerID;
|
||
UINT uiAccountDBID;
|
||
INT64 biCharDBID;
|
||
UINT uiSessionID;
|
||
USHORT unServerType;
|
||
USHORT unLen;
|
||
WCHAR wszBuf[1024];
|
||
};
|
||
|
||
//-------------------------------------------------
|
||
// Auth Packet (Nexon)
|
||
//-------------------------------------------------
|
||
struct TAuthHeader
|
||
{
|
||
BYTE cHeader; // 0xAA 고정
|
||
USHORT wLength; // 65536까지
|
||
};
|
||
|
||
|
||
#pragma pack(pop)
|
||
|