#ifndef _CLIENT_TO_AUTH_SERVER_PACKET_H_ #define _CLIENT_TO_AUTH_SERVER_PACKET_H_ #include #include #pragma pack(1) //////////////////////////////////////////////////////////////////////////////////////////////////// // // »ç¿ëÀÚ ÀÎÁõ ¿äû (Client to AuthServer) // - °èÁ¤ À̸§ // - °èÁ¤ ÆÐ½º¿öµå // - Ŭ¶óÀÌ¾ðÆ® ¹öÁ¯ // // : »ç¿ëÀÚ °èÁ¤À¸·Î ·Î±×ÀÎÇÏ¿© À¯Àú ¾ÆÀ̵ð¿Í ·Î±×ÀÎ °¡´ÉÇÑ ¼­¹ö ¸®½ºÆ®µåÀ» ¾ò´Â´Ù. // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktAU* LPPktAU; struct PktAU : public PktBase { enum { // edith 2008.03.17 ID,PASS ±æÀÌÁ¶Á¤ ID_LEN = 24, PASS_LEN = 36 }; char m_UserAccount[ID_LEN]; char m_UserPassword[PASS_LEN]; unsigned long m_dwSessionID; unsigned long m_dwClientVer; unsigned long m_dwCheckSum; unsigned short m_usFlag; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ÀϺ»ÂÊ »ç¿ëÀÚ ÀÎÁõ ¿äû (Client to AuthServer) // // : »ç¿ëÀÚ °èÁ¤À¸·Î ·Î±×ÀÎÇÏ¿© À¯Àú ¾ÆÀ̵ð¿Í ·Î±×ÀÎ °¡´ÉÇÑ ¼­¹ö ¸®½ºÆ®µåÀ» ¾ò´Â´Ù. // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktJPAU* LPPktJPAU; struct PktJPAU : public PktBase { enum { NAME_LEN = 16 }; char m_szUserAccount[NAME_LEN]; unsigned long m_dwUserID; unsigned long m_dwSessionID; unsigned long m_dwClientVer; unsigned long m_dwCheckSum; unsigned short m_usFlag; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // »ç¿ëÀÚ ÀÎÁõ ÀÀ´ä (AuthServer to Client) // - À¯Àú ¾ÆÀ̵ð // // : »ç¿ëÀÚ °èÁ¤À¸·Î ·Î±×ÀÎÇÏ¿© À¯Àú ¾ÆÀ̵𸦠¾ò´Â´Ù. // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktAUAck* LPPktAUAck; struct PktAUAck : public PktBase { unsigned long m_dwUserID; unsigned char m_cAgentServerType; unsigned char m_cFirstLogin; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // À¯Àú ·Î±×ÀÎ (Client to AuthServer) // - À¯Àú ¾ÆÀ̵ð // - üũ¼¶ // - ¸í·É // // : À¯Àú ·Î±×ÀÎ ÈÄ¿¡ ij¸¯ÅÍ ¼¿·ºÆ® °ü·Ã Á¤º¸¸¦ ¾ò¾î¿Â´Ù. // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktULi* LPPktULi; struct PktULi : public PktBase { enum LoginType { USERLOGIN_FIRST = 0, // ÃÖÃÊ ·Î±ä USERLOGIN_CHAR_SELECT = 1 // ij¸¯ÅÍ ¼±ÅÃÈ­¸éÀ¸·Î À̵¿ }; unsigned long m_dwUserID; unsigned long m_dwCheckSum; unsigned char m_cLoginType; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // À¯Àú ·Î±×ÀÎ Ack (AuthServer to Client) // - À¯Àú ¾ÆÀ̵ð // - ij¸¯ÅÍ Á¤º¸ // // (1 = ¼­¹ö ¿¡·¯, 2 = µ¥ÀÌÅÍ ¾ò±â ½ÇÆÐ) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktULiAck* LPPktULiAck; struct PktULiAck : public PktBase { enum Const { MAX_CHAR_VIEW = 5 }; enum PktULiAckErr { FAIL_GET_DATA = 2 }; unsigned long m_dwSessionID; unsigned long m_dwUserID; CHAR_VIEW m_CharView[MAX_CHAR_VIEW]; sGuildData m_GuildData[MAX_CHAR_VIEW]; unsigned long m_dwTabFlag; // WORK_LIST 2.1 °èÁ¤ ±¹Àû Ãß°¡ unsigned char m_cAccountNation; // °èÁ¤ ±¹Àû time_t m_dwCurrentTime; // ÇöÀç ½Ã°£ int m_nPlayTime; // BillingTypeÀÌ Á¤¾×À̳ª ¹«·áÀÎ °æ¿ì´Â ³²Àº ³¯Â¥. Á¤·®ÀÎ °æ¿ì´Â ³²Àº ½Ã°£(ºÐ) unsigned short m_usAdminLevel; // ¿î¿µÀÚ ·¹º§. unsigned char m_cBillingType; // D : Á¤¾× T : Á¤·® N : ¹«·á unsigned char m_cBillingUser; // 0 : °³ÀÎ 1 : Çǽùæ unsigned char m_cLoginType; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ ¼±Åà ( Char Select ) // - À¯Àú ¾ÆÀ̵ð // - ij¸¯ÅÍ ¾ÆÀ̵ð // // : ij¸¯ÅÍ ¼±Åà ÈÄ ÇØ´ç ij¸¯ÅÍÀÇ ¼­¹öÀÇ ¿¹¾à Æ÷ÀÎÅÍ¿Í ÁÖ¼Ò¸¦ ³Ñ°Ü ¹Þ´Â´Ù. // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktCS* LPPktCS; struct PktCS : public PktBase { unsigned long m_dwUserID; unsigned long m_dwCharID; }; // ij¸¯ÅÍ ¼±Åà Ack typedef struct PktCSAck* LPPktCSAck; struct PktCSAck : public PktBase { enum { MAX_CHANNEL_NUM = 5 }; unsigned char m_cZone; // Á¸ unsigned short m_wChannelNum[MAX_CHANNEL_NUM]; // ä³Î }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ »ý¼º ( Char Create ) // - À¯Àú ¾ÆÀ̵ð // - ½½·Ô ¹øÈ£ // - ij¸¯ÅÍ »ý¼º µ¥ÀÌÅÍ // - º¹Àå (¼ÅÃ÷, ºÎÃ÷, ¹«±â) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktCC* LPPktCC; struct PktCC : public PktBase { unsigned long m_dwUserID; unsigned long m_dwSlotNum; CHAR_CREATE m_CreateChar; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ »ý¼º Ack // - ij¸¯ÅÍ ¾ÆÀ̵ð // - ½½·Ô ¹øÈ£ // - ij¸¯ÅÍ µ¥ÀÌÅÍ // // (1 = ¼­¹ö ¿¡·¯, 2 = µ¥ÀÌÅÍ »ý¼º ½ÇÆÐ, 3 = Á¸ÀçÇϴ ij¸¯ÅÍ À̸§, 4 = ºñ¾î ÀÖÁö ¾ÊÀº ½½·Ô, // 5 = Àû´çÇÏÁö ¾ÊÀº À̸§, 6 = À߸øµÈ »ý¼º µ¥ÀÌÅÍ) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktCCAck* LPPktCCAck; struct PktCCAck : public PktBase { unsigned long m_dwCharID; unsigned long m_dwSlotNum; CHAR_VIEW m_CharView; enum { SERVER_ERROR = 1, FAIL_INSERT_DATA = 2, EXIST_CHAR_NAME = 3, EXIST_SLOT = 4, WRONG_CHAR_NAME = 5, WRONG_CHAR_DATA = 6, SLANG_FILTERED = 7, NULL_SESSION = 8, VIEW_RELOAD_FAILED = 9, SUPRESSED_CHAR_CREATE = 10 }; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ »èÁ¦ ( Char Delete ) // - À¯Àú ¾ÆÀ̵ð // - ij¸¯ÅÍ ¾ÆÀ̵ð // - ½½·Ô ¹øÈ£ // - ÆÄƼ ¾ÆÀ̵ð // - ±æµå ¾ÆÀ̵ð // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktCD* LPPktCD; struct PktCD : public PktBase { unsigned long m_dwUserID; unsigned long m_dwCharID; unsigned long m_dwSlotNum; unsigned char m_szPassword[STORE_INFO::MAX_PASS_LEN]; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ »èÁ¦ Ack // - À¯Àú ¾ÆÀ̵ð // - ½½·Ô ¹øÈ£ // // (1 = ¼­¹ö ¿¡·¯, 2 = µ¥ÀÌÅÍ »èÁ¦ ½ÇÆÐ) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktCDAck* LPPktCDAck; struct PktCDAck : public PktBase { unsigned long m_dwUserID; unsigned long m_dwSlotNum; enum { SERVER_ERROR = 1, FAIL_DELETE_DATA = 2, BLOCKED_DELETE_DATA = 6, FAIL_PASSWORD = 7 }; }; // WORK_LIST 2.1 °èÁ¤ ±¹Àû Ãß°¡ //////////////////////////////////////////////////////////////////////////////////////////////////// // // °èÁ¤ ±¹Àû º¯°æ ( Select Account Nation ) // - À¯Àú ¾ÆÀ̵ð // - °èÁ¤ ±¹Àû // // (1 = ¼­¹ö ¿¡·¯, 2 = ¼³Á¤ ½ÇÆÐ) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktSelectAccountNation* LPPktSelectAccountNation; struct PktSelectAccountNation : public PktBase { unsigned long m_dwUserID; unsigned char m_cType; unsigned char m_cAccountNation; enum eType { TYPE_SET = 1, // °ª ¼ÂÆÃ TYPE_CHANGE = 2 // °èÁ¤ ±¹Àû º¯°æ }; enum { SERVER_ERROR = 1, FAIL_SET_NATION = 2 }; }; // WORK_LIST 2.3 °èÁ¤ ±¹Àû º¯°æ ±â´É ±¸Çö //////////////////////////////////////////////////////////////////////////////////////////////////// // // °èÁ¤ ±¹Àû º¯°æÀ¸·Î ÀÎÇÑ Ä³¸¯ÅÍµé °á°ú Á¤º¸ // - À¯Àú ¾ÆÀ̵ð // - CID, GID, Fame // // (1 = ¼­¹ö ¿¡·¯ ) // //////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct PktNationChangeResult* LPPktNationChangeResult; struct PktNationChangeResult : public PktBase { enum { MAX_CHAR_VIEW = 5 }; unsigned long m_dwUserID; unsigned long m_dwGID[ MAX_CHAR_VIEW ]; unsigned long m_dwFame[ MAX_CHAR_VIEW ]; }; #pragma pack() #endif