?? 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 + -