#pragma once #include "PacketStruct.h" #include "Protocol_SA.h" #pragma pack(push,1) ////////////////////////////////////////////////////////////////////////// // ÀÎÁõ struct MSG_SA_SERVER_AUTH_SYN : public MSG_BASE { MSG_SA_SERVER_AUTH_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_AUTH_SYN; } DWORD m_dwKey; }; struct MSG_SA_SERVER_AUTH_ACK : public MSG_BASE { MSG_SA_SERVER_AUTH_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_AUTH_ACK; } BYTE m_byResult; DWORD m_dwAgentKey; }; struct MSG_SA_SERVER_TYPE_ACK : public MSG_BASE { MSG_SA_SERVER_TYPE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_TYPE_ACK; } }; // ¼­¹ö ½ÃÀÛ struct MSG_SA_SERVER_EXECUTE_SYN : public MSG_BASE { MSG_SA_SERVER_EXECUTE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_EXECUTE_SYN; } DWORD m_dwUserKey; // ¼­¹ö¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_EXECUTE_ACK : public MSG_BASE { MSG_SA_SERVER_EXECUTE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_EXECUTE_ACK; } BYTE m_byResult; DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_FORCE_DISCONNECT_SYN : public MSG_BASE { MSG_SA_SERVER_FORCE_DISCONNECT_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_FORCE_DISCONNECT_SYN; } DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_FORCE_DISCONNECT_ACK : public MSG_BASE { MSG_SA_SERVER_FORCE_DISCONNECT_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_FORCE_DISCONNECT_ACK; } BYTE m_byResult; DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_BACKUP_SYN : public MSG_BASE { MSG_SA_SERVER_BACKUP_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_BACKUP_SYN; } DWORD m_dwUserKey; // ¹é¾÷¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_BACKUP_ACK : public MSG_BASE { MSG_SA_SERVER_BACKUP_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_BACKUP_ACK; } BYTE m_byResult; DWORD m_dwUserKey; // ¹é¾÷¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_RESTORE_SYN : public MSG_BASE { MSG_SA_SERVER_RESTORE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_RESTORE_SYN; } DWORD m_dwUserKey; // ¹é¾÷¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_RESTORE_ACK : public MSG_BASE { MSG_SA_SERVER_RESTORE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_RESTORE_ACK; } BYTE m_byResult; DWORD m_dwUserKey; // ¹é¾÷¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; ////////////////////////////////////////////////////////////////////////// // ÆÐÄ¡ struct MSG_SA_PATCH_EXECUTE_SYN : public MSG_BASE { MSG_SA_PATCH_EXECUTE_SYN() { m_byCategory = SA_PATCH; m_byProtocol = SA_PATCH_EXECUTE_SYN; } DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_PATCH_EXECUTE_ACK : public MSG_BASE { MSG_SA_PATCH_EXECUTE_ACK() { m_byCategory = SA_PATCH; m_byProtocol = SA_PATCH_EXECUTE_ACK; } BYTE m_byResult; // ÆÐÄ¡ ½ÃÀÛ °á°ú.. DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú SERVER_INFO m_ServerInfo; }; struct MSG_SA_PATCH_RESULT_NTF : public MSG_BASE { MSG_SA_PATCH_RESULT_NTF() { m_byCategory = SA_PATCH; m_byProtocol = SA_PATCH_RESULT_NTF; } DWORD m_dwUserKey; // ÆÐÄ¡¸¦ ½ÇÇà½ÃŲ À¯Àú DWORD m_dwResult; BYTE m_byNum; BYTE m_byServerType; PATCH_VERSION m_PatchVer; }; ////////////////////////////////////////////////////////////////////////// // CHECK struct MSG_SA_CHECK_LOGFILE_SYN : public MSG_BASE { MSG_SA_CHECK_LOGFILE_SYN() { m_byCategory = SA_CHECK; m_byProtocol = SA_CHECK_LOGFILE_SYN; } DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; INT m_CntLogPage;//·Î±× ÆäÀÌÁö¸¦ ¿äûÇϱâ À§ÇØ Ãß°¡ 20090318 ¹ÎÁ¤¿µ }; struct MSG_SA_CHECK_LOGFILE_ACK : public MSG_BASE { MSG_SA_CHECK_LOGFILE_ACK() { m_byCategory = SA_CHECK; m_byProtocol = SA_CHECK_LOGFILE_ACK; m_wFileSize = 0; } BYTE m_byResult; DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; WORD m_wFileSize; INT m_NumAllLogPage;//·Î±× ¿äûÇÑ ¼­¹öÀÇ ·Î±× ÃÑ ÆäÀÌÁö ¹Ýȯ char m_szLogFile[MAX_FILE_BUFFER_SIZE]; WORD GetSize() { return (WORD)( sizeof(*this) - ( sizeof(char)*MAX_FILE_BUFFER_SIZE - m_wFileSize ) ); } }; struct MSG_SA_CHECK_GAMEPROCESS_NTF : public MSG_BASE { MSG_SA_CHECK_GAMEPROCESS_NTF() { m_byCategory = SA_CHECK; m_byProtocol = SA_CHECK_GAMEPROCESS_NTF; } GAME_PROCESS_STATUS m_GameStatus; }; #ifdef __20080312__SOLARAUTH_SERVER_PATCH // backup struct MSG_SA_SOLARSCRIPT_BACKUP_SYN : public MSG_BASE { MSG_SA_SOLARSCRIPT_BACKUP_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_BACKUP_SYN; } DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; struct MSG_SA_SOLARSCRIPT_BACKUP_ACK : public MSG_BASE { MSG_SA_SOLARSCRIPT_BACKUP_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_BACKUP_ACK; } BYTE m_byResult; DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; // restore struct MSG_SA_SOLARSCRIPT_RESTORE_SYN : public MSG_BASE { MSG_SA_SOLARSCRIPT_RESTORE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_RESTORE_SYN; } DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; struct MSG_SA_SOLARSCRIPT_RESTORE_ACK : public MSG_BASE { MSG_SA_SOLARSCRIPT_RESTORE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_RESTORE_ACK; } BYTE m_byResult; DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; // patch struct MSG_SA_SOLARSCRIPT_EXECUTE_SYN : public MSG_BASE { MSG_SA_SOLARSCRIPT_EXECUTE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_EXECUTE_SYN; } DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; struct MSG_SA_SOLARSCRIPT_EXECUTE_ACK : public MSG_BASE { MSG_SA_SOLARSCRIPT_EXECUTE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SOLARSCRIPT_EXECUTE_ACK; } BYTE m_byResult; DWORD m_dwUserKey; SERVER_INFO_EX m_ServerInfo; SCFOLDER_INFO m_ScriptFolder; }; // Notice struct MSG_SA_SERVER_NOTICE_SYN : public MSG_BASE { MSG_SA_SERVER_NOTICE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_NOTICE_SYN; } DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; }; struct MSG_SA_SERVER_NOTICE_ACK : public MSG_BASE { MSG_SA_SERVER_NOTICE_ACK() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_NOTICE_ACK; } DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; char m_szNotice[MAX_NOTICE_LEN]; }; struct MSG_SA_SERVER_SEND_NOTICE_SYN : public MSG_BASE { MSG_SA_SERVER_SEND_NOTICE_SYN() { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_SEND_NOTICE_SYN; } DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; char m_szNotice[MAX_NOTICE_LEN]; }; struct MSG_SA_SERVER_SEND_NOTICE_ACK : public MSG_BASE { MSG_SA_SERVER_SEND_NOTICE_ACK() : m_bFlag( FALSE ) { m_byCategory = SA_SERVER; m_byProtocol = SA_SERVER_SEND_NOTICE_ACK; } DWORD m_dwUserKey; SERVER_INFO m_ServerInfo; BOOL m_bFlag; }; #endif #ifdef _NA_006543_20130318_HEARTBEAT // ¹Î°æ½Â : UpdateAgentÀÇ ÁÖ±âÀûÀÎ ¿¬°áÈ®ÀÎÀ» À§ÇÑ heartbeatÆÐŶ struct MSG_SA_CHECK_HEARTBEAT : public MSG_BASE { MSG_SA_CHECK_HEARTBEAT() { m_byCategory = SA_CHECK; m_byProtocol = SA_CHECK_HEARTBEAT; } }; #endif #pragma pack(pop)