📄 rmdefine.h
字号:
#pragma once
#include "protocol.h"
#include "ServerTable.h"
//弥措 Listener 立加荐
#define MAX_LISTENER_NUM 50
#define IP_LENGTH 16
//弥措 RMTool Login 啊瓷荐 (30俺狼 IP父 倾侩)
#define MAX_RM_LOGIN 30
//RM_LOGIN 备炼眉狼 bType define
#define RM_TYPE_TOOL 1
#define RM_TYPE_LISTENER 2
//ProxyServer -> Listener 肺狼 立加且 器飘 锅龋
#define PROXY_SERVER_CONNECTION_PORT 24694
//RM Packet 庆歹
#define MSG_RM_LOGIN 1
#define MSG_RM_DOWNLOAD_PATH 2
#define MSG_RM_COPY_FILE 3 //SYNC Socket
#define MSG_RM_LISTENER_PATCH 4
#define MSG_RM_LOGIN_OK 5
#define MSG_RM_LOGIN_FAIL 6
#define MSG_RM_REQUEST_ALL_SEBSERVER_INFO 7
#define MSG_RM_REPLY_ALL_SEBSERVER_INFO 8
#define MSG_RM_SHUTDOWN_SERVER 9
#define MSG_RM_USER_ACCEPT_ALLOWED 10
#define MSG_RM_SHUTDOWN_PROXY 11 //Proxy父 ShutDown
#define MSG_RM_SERVER_DISCONNECTED 12 //Proxy -> RMClient肺
#define MSG_RM_SHUTDOWN_SUBSERVER 13 //Agent,Map,DBDemon殿 茄啊瘤 辆幅喊肺 妓促款
#define MSG_RM_SERVER_UP 14 //Proxy俊 绢栋茄 辑滚啊 立加沁阑锭..
#define MSG_RM_EXECUTE_SERVER 15 //Proxy Server甫 力寇茄 辑滚甸 角青
#define MSG_RM_REBOOT_SERVER 16 //辑滚 犁何泼
#define MSG_RM_PROXY_CONTROL 17 //辑滚 犁何泼
#define MSG_RM_RELOAD_DATA 18 //Reload Gameserver Data
#define MSG_RM_NOTICE 19 //傍瘤焊尘 辑滚
#define MSG_RM_CHANGE_WEATHER 20 //朝揪 官厕
#define MSG_RM_DOWN_SERVER 21 //Server Down 灯促!!
#define MSG_RM_COPY_PATH 22 //Copy秦棵 匙飘亏 版肺 菩胶
#define MSG_RM_REQUEST_ALL_LISTENER_INFO 23 //府胶呈 沥焊 夸没
#define MSG_RM_REPLY_ALL_LISTENER_INFO 24
#define MSG_RM_CONNECT_ALL_LISTENER 25
#define MSG_RM_LISTENER_CONNECT_COMPLETE 26
#define MSG_RM_CHECK_LISTENER_CONNECTION 27
#define MSG_RM_CHECK_LISTENER_CONNECTION_RESULT 28
#define MSG_RM_RELOADING_GAMESERVER_DATA 29 //GameServerData Reload 窍绊 乐绰吝
#define MSG_RM_BROADCAST_AGENT 50 //Agent Listener 俊霸父...
#define MSG_RM_BROADCAST_DBDEMON 51 //DBDEMON Listener 俊霸父...
#define MSG_RM_BROADCAST_MAP 52 //MAP Listener 俊霸父...
#define MSG_LISTENER_EXECUTE_SERVER 53 //Listener俊霸 辑滚 角青窍扼绊 皋技瘤 焊晨
#define MSG_LISTENER_REBOOT_SERVER 54 //Listener俊霸 辑滚 犁何泼窍扼绊 皋技瘤 焊晨
//Proxy < -- > Other Server
#define MSG_SHUT_DOWN 100 //ShutDown
#define MSG_RELOAD_GAMESERVER_DATA 101 //Reload Gameserver data
#define MSG_CHANGE_WEATHER 102 //ChangeWeather(MAP Server)
#define MSG_ECHO 103
#define MSG_RM_KICKOFF_USER 111 // 030224 kyo RM蜡历 立加 辆丰
#define MSG_RM_KICKOFF_USER_ALL 112 // BBD 040110 RM 傈眉蜡历 碍力 立加辆丰
#define MSG_RM_KICKOFF_USER_SEVERAL 113 // BBD 040110 RM 沥秦柳 疙荐狼 蜡历辆丰
#define MSG_RM_KICKOFF_AGENTCANJOIN 114 // BBD 040110 俊捞傈飘->甘 炼牢 倾侩
#define CMD_RM_CHANGE_WEATHER 26000
#define MSG_LISTENER_LOGIN 100
#pragma pack(push,1)
struct RMCLIENT_INFO
{
BYTE bConnectType; //OnDisconnectServer俊辑 Client牢瘤 Listener牢瘤 备盒窍扁 困茄 菊俊 1Byte
DWORD dwID; //Listener 绊蜡狼 锅龋捞促(IP狼 ULONG蔼栏肺 茄促.).
DWORD ConnectionIndex; //橇废矫辑滚俊辑 立加俊 蝶扼 绊蜡肺 何咯茄 锅龋
DWORD IPAddress; //立加茄 Tool狼 IP Address
char szLoginID[20]; //肺弊牢茄 砒 酒捞叼
char szName[25]; //肺弊牢茄 蜡历狼 捞抚
RMCLIENT_INFO* pPrvUserInfo; //hash 抛捞喉俊辑 鞍篮 滚哦救狼 捞傈 饭内靛狼 林家蔼
RMCLIENT_INFO* pNextUserInfo; //hash 抛捞喉俊辑 鞍篮 滚哦救狼 促澜 饭内靛狼 林家蔼
};
struct RM_LISTENER_INFO
{
BYTE bConnectType; //OnDisconnectServer俊辑 Client牢瘤 Listener牢瘤 备盒窍扁 困茄 菊俊 1Byte
DWORD dwConnectionIndex;
// SERVER_TYPE dwServerType; //绢恫 辑滚 Type狼 府胶呈捞衬...
char szIP[ IP_LENGTH ]; //秦寸 IP
RM_LISTENER_INFO* pPrevInfo;
RM_LISTENER_INFO* pNextInfo;
};
//--------------------------------- RM Packet -------------------------------------
struct PACKET_CHECK_LISTENER_CONNECTION
{
BYTE bPtcl;
BYTE bHeader;
};
struct PACKET_RM_PROXY_CONTROL
{
BYTE bPtcl;
BYTE bHeader;
BYTE bUserAccept;
BYTE bTryToConnect;
WORD wMaxUser;
};
struct PACKET_SHUTDOWN_SUBSERVER
{
BYTE bPtcl;
BYTE bHeader;
BYTE bServerType;
DWORD GetPacketSize() { return (DWORD)3; }
};
struct PACKET_RM_LOGIN
{
BYTE bPtcl;
BYTE bHeader;
char IP[16];
char ID[20];
char Name[25];
DWORD GetPacketSize(){ return (DWORD)63; }
};
struct PACKET_REQUEST_ALL_SUBSERVER_INFO
{
BYTE bPtcl;
BYTE bHeader;
BYTE bOpenTemplate; //货肺款 袍敲复阑 肺靛 且巴牢啊 救且巴牢啊 窍绰 沥焊
DWORD dwFrameID; //览翠 皋技瘤甫 罐阑 橇饭烙ID蔼 (bOpenTemplate捞 FALSE老锭父)
};
struct PACKET_CONNECT_ALL_LISTENER
{
BYTE bPtcl;
BYTE bHeader;
DWORD dwFrameID;
};
struct PACKET_LISTENER_CONNECT_COMPLETE
{
BYTE bHeader;
DWORD dwFrameID;
DWORD GetPacketSize() { return (DWORD)5; }
PACKET_LISTENER_CONNECT_COMPLETE(DWORD frameID)
{
bHeader = MSG_RM_LISTENER_CONNECT_COMPLETE;
dwFrameID = frameID;
}
};
struct PACKET_CHECK_LISTENER_CONNECTION_RESULT
{
BYTE bHeader;
DWORD dwCount;
DWORD GetPacketSize() { return (DWORD)5; }
PACKET_CHECK_LISTENER_CONNECTION_RESULT(DWORD count)
{
bHeader = MSG_RM_CHECK_LISTENER_CONNECTION_RESULT;
dwCount = count;
}
};
struct PACKET_REQUEST_ALL_LISTENER_INFO
{
BYTE bPtcl;
BYTE bHeader;
DWORD dwFrameID; //览翠 皋技瘤甫 罐阑 橇饭烙ID蔼 (bOpenTemplate捞 FALSE老锭父)
};
struct ServerStatusInfo
{
WORD wPort;
DWORD dwStatus;
DWORD dwNumOfUsers;
};
struct PACKET_RM_SERVER_DISCONNECT
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
DWORD GetPacketSize() { return (DWORD)4; }
PACKET_RM_SERVER_DISCONNECT(BYTE bServerSet, WORD wServerPort)
{
bHeader = MSG_RM_SERVER_DISCONNECTED;
bServerSetNum = bServerSet;
wPort = wServerPort;
}
};
struct PACKET_RM_SERVER_UP
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
DWORD GetPacketSize() { return (DWORD)4; }
PACKET_RM_SERVER_UP(BYTE bServerSet, WORD wServerPort)
{
bHeader = MSG_RM_SERVER_UP;
bServerSetNum = bServerSet;
wPort = wServerPort;
}
};
//肺弊牢 铰牢苞 窃膊 辑滚 惑怕 沥焊甫 鞍捞 逞败霖促.
struct PACKET_RM_LOGIN_OK
{
BYTE bHeader;
BYTE bServerSetNum;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_RM_LOGIN_OK(BYTE num)
{
bHeader = MSG_RM_LOGIN_OK;
bServerSetNum = num;
}
};
struct PACKET_RM_LOGIN_FAIL
{
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)1; }
PACKET_RM_LOGIN_FAIL()
{
bHeader = MSG_RM_LOGIN_FAIL;
}
};
struct PACKET_LISTENER_SERVER_EXCUTE
{
BYTE bPtcl;
BYTE bHeader;
BYTE bServerType;
WORD wPort;
BYTE bFileNameLen;
char szFileName[ MAX_PATH ];
DWORD GetPacketSize() { return (DWORD)(6 + bFileNameLen); }
PACKET_LISTENER_SERVER_EXCUTE(BYTE ServerType, WORD port, char* filename)
{
bPtcl = PTCL_RM;
bHeader = MSG_LISTENER_EXECUTE_SERVER;
bServerType = ServerType;
wPort = port;
bFileNameLen = strlen(filename);
memcpy(szFileName, filename, bFileNameLen);
}
};
struct PACKET_LISTENER_SERVER_REBOOT
{
BYTE bPtcl;
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_LISTENER_SERVER_REBOOT()
{
bPtcl = PTCL_RM;
bHeader = MSG_LISTENER_REBOOT_SERVER;
}
};
//Proxy辑滚啊 Listener俊 Accept登菌阑锭 Listener俊辑 朝妨林绰 辑滚 捞抚捞淬变 沥焊
/*
struct PACKET_LISTENER_LOGIN
{
BYTE bPtcl;
BYTE bHeader;
BYTE bNameLen;
char szMachineName[20];
DWORD GetPacketSize() { return (3 + bNameLen); }
void GetServerName(char* szName)
{
memcpy(szName, szMachineName, bNameLen);
}
};
*/
//------------------------ Proxy -> Other Server
struct PACKET_SHUT_DOWN
{
BYTE bPtcl;
BYTE bHeader;
PACKET_SHUT_DOWN()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_SHUT_DOWN;
}
};
struct PACKET_KICKOFF_USER // 030224 kyo
{
BYTE bPtcl;
BYTE bHeader;
char szUserID[20];
PACKET_KICKOFF_USER()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_RM_KICKOFF_USER;
}
};
//<! BBD 040110 傈眉蜡历 碍硼甫 困茄 眠啊
struct PACKET_KICKOFF_USER_ALL
{
BYTE bPtcl;
BYTE bHeader;
PACKET_KICKOFF_USER_ALL()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_RM_KICKOFF_USER_ALL;
}
};
//> BBD 040110 傈眉蜡历 碍硼甫 困茄 眠啊
//<! BBD 040110 傈眉蜡历 碍硼甫 困茄 眠啊
struct PACKET_KICKOFF_USER_SEVERAL
{
BYTE bPtcl;
BYTE bHeader;
PACKET_KICKOFF_USER_SEVERAL()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_RM_KICKOFF_USER_SEVERAL;
}
};
//> BBD 040110 傈眉蜡历 碍硼甫 困茄 眠啊
//<! BBD 040110 RM 栏肺 俊捞傈飘 肺变 倾侩
struct PACKET_KICKOFF_AGENTCANJOIN
{
BYTE bPtcl;
BYTE bHeader;
PACKET_KICKOFF_AGENTCANJOIN()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_RM_KICKOFF_AGENTCANJOIN;
}
};
//> BBD 040110 RM 栏肺 俊捞傈飘 肺变 倾侩
struct PACKET_RELOAD_GAMESERVER_DATA
{
BYTE bPtcl;
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_RELOAD_GAMESERVER_DATA()
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_RELOAD_GAMESERVER_DATA;
}
};
struct PACKET_CHANGE_WEATHER
{
BYTE bPtcl;
BYTE bHeader;
BYTE bWeather; //0捞搁 讣澜, 1捞搁 厚, 2捞搁 传
BYTE bStopWeather; //WeatherSystem 沥瘤
DWORD dwAmount;
DWORD GetPacketSize() { return (DWORD)8; }
PACKET_CHANGE_WEATHER(BYTE weather, BYTE stop, DWORD amount)
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_CHANGE_WEATHER;
bWeather = weather;
bStopWeather = stop;
dwAmount = amount;
}
};
//辑滚 促款 瞪锭 舅覆 皋技瘤
struct PACKET_DOWN_SERVER
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
DWORD GetPacketSize() { return (DWORD)4; }
PACKET_DOWN_SERVER(BYTE serversetnum, WORD port)
{
bHeader = MSG_RM_DOWN_SERVER;
bServerSetNum = serversetnum;
wPort = port;
}
};
struct PACKET_RELOADING_GAMESERVER_DATA
{
BYTE bHeader;
BYTE bServerSetNum;
BYTE bStart; //RELOAD甫 矫累 茄芭搁 TRUE; 场抄芭搁 FALSE;
WORD wPort;
DWORD GetPacketSize() { return (DWORD)5; }
PACKET_RELOADING_GAMESERVER_DATA(BYTE start, BYTE serversetnum, WORD port)
{
bHeader = MSG_RM_RELOADING_GAMESERVER_DATA;
bServerSetNum = serversetnum;
bStart = start;
wPort = port;
}
};
struct PACKET_ECHO
{
BYTE bPtcl;
BYTE bHeader;
BYTE bBucketIndex;
WORD wPort;
DWORD dwEchoID;
DWORD GetPacketSize() { return (DWORD)9; }
PACKET_ECHO(BYTE bucket, WORD port, DWORD echo)
{
bPtcl = PTCL_RM_FROM_PROXY;
bHeader = MSG_ECHO;
bBucketIndex = bucket;
wPort = port;
dwEchoID = echo;
}
};
struct EchoBucket
{
WORD wPort;
BYTE bSended;
BYTE bReceived;
};
#pragma pack(pop)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -