📄 packet.h
字号:
#pragma once
#pragma pack(push,1)
#define PTCL_RM 110 //LISTENER_TO_PROXY
//Packet header
#define MSG_RM_LOGIN 1
#define MSG_RM_DOWNLOAD_PATH 2
#define MSG_RM_COPY_FILE 3
#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 //Proxy Server甫 力寇茄 辑滚甸 ShutDown~
#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 //Proxy Server 炼沥
#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_COPY_FILE_AUTO 30
#define MSG_RM_REQUEST_RMINFO 101 //rm_server_info狼 郴侩阑 夸没茄促.
#define MSG_CLOSE_CONNECTION 102 //RMTool苞 楷搬阑 泪矫 吝窜茄促.
#define MSG_RM_KICKOFF_USER 111 //kyo 蜡历 立加辆丰
#define MSG_RM_KICKOFF_USER_ALL 112 //kyo // 030716 kyo
#define MSG_RM_KICKOFF_USER_SEVERAL 113 // BBD 040107 老沥荐父 楼福绰 皋矫瘤
#define MSG_RM_KICKOFF_AGENTCANJOIN 114 // BBD 040109 俊捞傈飘->甘 炼牢登档废 父电促
#define MSG_LISTENER_EXECUTE_SERVER 53 //Listener俊霸 辑滚 角青窍扼绊 皋技瘤 焊晨
//RM_LOGIN 备炼眉狼 bType define
#define RM_TYPE_TOOL 1
#define RM_TYPE_LISTENER 2
struct PACKET_RM_PROXY_CONTROL
{
BYTE bPtcl;
BYTE bHeader;
BYTE bUserAccept;
BYTE bTryToConnect;
WORD wMaxUser;
DWORD GetPacketSize() { return (DWORD)6; }
PACKET_RM_PROXY_CONTROL(BYTE accept, BYTE btry, WORD muser)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_PROXY_CONTROL;
bUserAccept = accept;
bTryToConnect = btry;
wMaxUser = muser;
}
};
//辑滚 促款 瞪锭 舅覆 皋技瘤
struct PACKET_DOWN_SERVER
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
};
struct PACKET_RELOADING_GAMESERVER_DATA
{
BYTE bHeader;
BYTE bServerSetNum;
BYTE bStart; //RELOAD甫 矫累 茄芭搁 TRUE; 场抄芭搁 FALSE;
WORD wPort;
};
struct PACKET_RM_SERVER_UP
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
};
struct PACKET_SHUTDOWN_SUBSERVER
{
BYTE bPtcl;
BYTE bHeader;
BYTE bServerType;
DWORD GetPacketSize() { return (DWORD)3; }
PACKET_SHUTDOWN_SUBSERVER(BYTE type)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_SHUTDOWN_SUBSERVER;
bServerType = type; //1锅捞 Agent, 2锅捞 DBDemon, 3锅捞 甘
}
};
struct PACKET_CHECK_LISTENER_CONNECTION
{
BYTE bPtcl;
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_CHECK_LISTENER_CONNECTION()
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_CHECK_LISTENER_CONNECTION;
}
};
struct PACKET_SHUT_DOWN_PROXY
{
BYTE bPtcl;
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_SHUT_DOWN_PROXY()
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_SHUTDOWN_PROXY;
}
};
struct PACKET_REQUEST_ALL_SUBSERVER_INFO
{
BYTE bPtcl;
BYTE bHeader;
BYTE bOpenTemplate; //货肺款 袍敲复阑 肺靛 且巴牢啊 救且巴牢啊 窍绰 沥焊
DWORD dwFrameID; //览翠 皋技瘤甫 罐阑 橇饭烙ID蔼 (bOpenTemplate捞 FALSE老锭父)
DWORD GetPacketSize() { return (DWORD)7; }
//opentemp
PACKET_REQUEST_ALL_SUBSERVER_INFO(BYTE opentemp, DWORD frameID = 0)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_REQUEST_ALL_SEBSERVER_INFO;
bOpenTemplate = opentemp;
dwFrameID = frameID;
}
};
struct PACKET_REQUEST_ALL_LISTENER_INFO
{
BYTE bPtcl;
BYTE bHeader;
// BYTE bOpenTemplate; //货肺款 袍敲复阑 肺靛 且巴牢啊 救且巴牢啊 窍绰 沥焊
DWORD dwFrameID; //览翠 皋技瘤甫 罐阑 橇饭烙ID蔼 (bOpenTemplate捞 FALSE老锭父)
DWORD GetPacketSize() { return (DWORD)6; }
//opentemp
PACKET_REQUEST_ALL_LISTENER_INFO(DWORD frameID = 0)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_REQUEST_ALL_LISTENER_INFO;
//bOpenTemplate = opentemp;
dwFrameID = frameID;
}
};
struct PACKET_KICKOFF_USER
{
BYTE bPtcl;
BYTE bHeader;
char szUserID[20];
//PACKET_KICKOFF_USER()
//{
// bPtcl = PTCL_RM;
// bHeader = MSG_RM_KICKOFF_USER;
// memset( szUserID, 0, 20 );
//}
};
struct PACKET_KICKOFF_USERALL
{
BYTE bPtcl;
BYTE bHeader;
};
//<! BBD 040109
struct PACKET_KICKOFF_AGENTCANJOIN
{
BYTE bPtcl;
BYTE bHeader;
};
//> BBD 040109
struct PACKET_CONNECT_ALL_LISTENER
{
BYTE bPtcl;
BYTE bHeader;
DWORD dwFrameID;
DWORD GetPacketSize() { return (DWORD)6; }
PACKET_CONNECT_ALL_LISTENER(DWORD frameID)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_CONNECT_ALL_LISTENER;
dwFrameID = frameID;
}
};
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_RM_LOGIN_OK
{
BYTE bHeader;
BYTE bServerSetNum;
};
struct PACKET_RM_LOGIN_FAIL
{
BYTE bHeader;
};
struct PACKET_RM_LOGIN
{
BYTE bPtcl;
BYTE bHeader;
char IP[16];
char ID[20];
char Name[25];
DWORD GetPacketSize(){ return (DWORD)63; }
PACKET_RM_LOGIN(char* id, char* name)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_LOGIN;
char szHostName[40];
::gethostname(szHostName, sizeof(szHostName));
HOSTENT FAR* lphostent = ::gethostbyname(szHostName);
sprintf(IP,"%s",inet_ntoa(*((struct in_addr*)lphostent->h_addr)));
memset(ID,0,20);
memset(Name,0,25);
memcpy(ID,id, strlen(id));
memcpy(Name,name,strlen(id));
}
};
struct PACKET_SET_DOWNLOAD_PATH
{
BYTE bPtcl;
BYTE bHeader;
char szDrive;
char szPath[ MAX_PATH ];
DWORD GetPacketSize() { return (DWORD)(MAX_PATH + 3); }
PACKET_SET_DOWNLOAD_PATH(char drive, char* path)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_DOWNLOAD_PATH;
szDrive = drive;
memset(szPath,0,MAX_PATH);
strcpy(szPath,path);
}
};
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 = (BYTE)strlen(filename);
memcpy(szFileName, filename, bFileNameLen);
}
};
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_SET_COPY_PATH
{
BYTE bPtcl;
BYTE bHeader;
char szPath[ MAX_PATH ];
DWORD GetPacketSize(){ return (DWORD)(2+MAX_PATH); }
PACKET_SET_COPY_PATH(char *path)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_COPY_PATH;
memset(szPath,0,MAX_PATH);
strcpy(szPath,path);
}
};
struct PACKET_FILE_COPY
{
BYTE bPtcl;
BYTE bHeader;
BYTE bType;
BYTE bExecute;
WORD wPort;
char szFileName[ MAX_PATH ];
DWORD GetPacketSize() { return (DWORD)(MAX_PATH + 6); }
PACKET_FILE_COPY(BYTE type, WORD port, BYTE execute, char* file)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_COPY_FILE_AUTO;
bType = type;
wPort = port;
bExecute = execute;
memset(szFileName, 0, MAX_PATH);
memcpy(szFileName, file, strlen(file));
}
};
struct PACKET_LISTENER_PATCH
{
BYTE bPtcl;
BYTE bHeader;
DWORD GetPacketSize() { return (DWORD)2; }
PACKET_LISTENER_PATCH()
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_LISTENER_PATCH;
}
};
struct PACKET_RM_SERVER_DISCONNECT
{
BYTE bHeader;
BYTE bServerSetNum;
WORD wPort;
};
//Listener Sync Packet Header
#define MSG_RM_SET_EXEC_PATCH 5
struct PACKET_SET_TEMP_DOWNLOAD_PATH
{
BYTE bPtcl;
BYTE bHeader;
char szDrive;
char szPath[ MAX_PATH ];
DWORD GetPacketSize() { return (DWORD)(MAX_PATH + 3); }
PACKET_SET_TEMP_DOWNLOAD_PATH(char drive, char* path)
{
bPtcl = PTCL_RM;
bHeader = MSG_RM_SET_EXEC_PATCH;
szDrive = drive;
memset(szPath,0,MAX_PATH);
strcpy(szPath,path);
}
};
#define MANAGER_CLIENT_FIRST_PACKET_TYPE 421
#define MANAGER_CLIENT_FIRST_PACKET_SIZE 0
#define MANAGER_CLIENT_FIRST_PACKET_CRC 247
typedef struct manager_packet_header
{
BYTE bPTCL;
WORD wCMD;
DWORD dwCRC;
union
{
WORD wTargetServerID;
DWORD dwTargetManagerID;
} uTarget;
} MANAGER_PACKET_HEADER, *LP_MANAGER_PACKET_HEADER;
//kyo 020629----------------------------------------------------------------------
struct PACKET_RMSERVER_INFO //府胶呈俊 狼秦 罐绰 rm_server_info
{
BYTE bPtcl ;
BYTE bHeader ;
QueryServerInfo pServerInfo;
};
struct PACKET_CLOSE_RMSERVER //府胶呈俊 狼秦 罐绰, 楷搬阑 肋扼扼.
{
BYTE bPtcl;
BYTE bHeader;
};
//----------------------------------------------------------------------------------
#pragma pack(pop)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -