#pragma once #include #include #include #pragma pack(push,1) // ID, PW üũ //#ifdef __KR000000_090128_CHANNELING__ PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_ID_PASSWORD_CHECK_SYN, MSG_CF_AUTH_ID_PASSWORD_CHECK_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_INHERITED_CLOSE PACKET_INTERNAL_OPEN(CATEGORY_AUTH, FS_AUTH_TOKEN_PASS_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP MSG_CF_AUTH_TOKEN_PASS_SYN::Stream info_stream; PACKET_INTERNAL_CLOSE //PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, SF_AUTH_TOKEN_PASS_ACK, // MSG_FC_AUTH_ID_PASSWORD_CHECK_ACK) //PACKET_INTERNAL_INHERITED_CLOSE //#else // PACKET_INTERNAL_OPEN(CATEGORY_AUTH, FS_AUTH_ID_PASSWORD_CHECK_SYN) // DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ // DWORD m_dwAuthUserID; // ÀÎÁõ ¼­¹ö¿¡¼­ ¹ß±ÞÇÑ ¾ÆÀ̵ð // char m_szID[ID_MAX_LEN + 1]; // char m_szPasswd[PASSWD_MAX_LEN]; // char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ // char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP // PACKET_INTERNAL_CLOSE //#endif PACKET_INTERNAL_OPEN(CATEGORY_AUTH, SF_AUTH_ID_PASSWORD_CHECK_ACK) DWORD m_dwFrontUserID; BYTE m_byResult; // AUTHRESULT_TYPE ÂüÁ¶ BYTE m_byFailCount; // ¿¬¼Ó ÀÎÁõ¿À·ù ȸ¼ö( byResult°ªÀÌ ÀÎÁõ ½ÇÆÐÀϰæ¿ì ÂüÁ¶, ±× ¿Ü¿£ »ç¿ëÇÏÁö ¾Ê´Â´Ù ) char m_szInfo[MAX_AUTHRESULT_MESSAGE_LEN]; // ¿¡·¯ Á¤º¸ ¹®ÀÚ¿­ #ifdef _JP_0_20100723_GAMECHU_AUTHFLOW_ char m_szID[ID_MAX_LEN + 1]; #endif #ifdef __CN_20100909_SECURITY_TOKEN__ bool m_Is_Token_Use; #endif #ifdef _NA_20100307_BETAKEY_SYSTEM BETAKEY m_betakey_; #endif PACKET_INTERNAL_CLOSE #ifdef __NA001334_090420_SERVER_SELECT_FACILITY__ PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_REAUTH_PASS_SYN, MSG_CF_AUTH_REAUTH_PASS_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_INHERITED_CLOSE PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, SF_AUTH_REAUTH_PASS_ACK, MSG_SF_AUTH_ID_PASSWORD_CHECK_ACK) PACKET_INTERNAL_INHERITED_CLOSE #endif //#ifdef __NA000000_NORTH_AMERICA_HANGAME_CHANNELING__ PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_TOKEN_NORTHA_PASS_SYN, MSG_CF_AUTH_TOKEN_NORTHA_PASS_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_INHERITED_CLOSE PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, SF_AUTH_TOKEN_NORTHA_PASS_ACK, MSG_SF_AUTH_ID_PASSWORD_CHECK_ACK) PACKET_INTERNAL_INHERITED_CLOSE //#endif //#ifdef __NA000000_NORTH_AMERICA_HANGAME_CHANNELING__ PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_TOKEN_GLOBAL_PASS_SYN, MSG_CF_AUTH_TOKEN_GLOBAL_PASS_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_INHERITED_CLOSE PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, SF_AUTH_TOKEN_GLOBAL_PASS_ACK, MSG_SF_AUTH_ID_PASSWORD_CHECK_ACK) PACKET_INTERNAL_INHERITED_CLOSE //#endif //#ifdef _JP_0_20100723_GAMECHU_AUTHFLOW_ PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_TOKEN_JP_GAMECHU_SYN, MSG_CF_AUTH_TOKEN_JP_GAMECHU_SYN) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char m_szClientIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char m_szLocalIP[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_CLOSE //#endif //_RU_INGAMBA_AUTH_PROCESS //dev : FS SYB, SF ACK ±¸Á¶Ã¼ Á¤ÀÇ #ifdef _RU_INGAMBA_AUTH_PROCESS PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, FS_AUTH_PASS_RU_INGAMBA_SYN, MSG_CF_AUTH_PASS_RU_INGAMBA_SYN) DWORD front_user_id_; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ char client_ip_[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ char local_ip_[IP_MAX_LEN]; // Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ IP PACKET_INTERNAL_INHERITED_CLOSE PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, SF_AUTH_PASS_RU_INGAMBA_ACK, MSG_SF_AUTH_ID_PASSWORD_CHECK_ACK) PACKET_INTERNAL_INHERITED_CLOSE #endif #ifdef _CN_ZY_AUTH_PROCESS PACKET_INTERNAL_INHERITED_OPEN( \ CATEGORY_AUTH, FS_AUTH_ZY_PASSWORD_CHECK_SYN, MSG_FS_AUTH_ID_PASSWORD_CHECK_SYN) PACKET_INTERNAL_INHERITED_CLOSE #endif //_CN_ZY_AUTH_PROCESS //#ifdef _SHAPE_AUTH //// ID, PW üũ - Çü»ó ÀÎÁõ //struct MSG_SF_AUTH_SHAPE_SYN : public MSG_BASE //{ // DWORD m_dwFrontUserID; // BYTE m_btResult; // °á°ú°ª(0: Çü»ó ÀÎÁõ ½ÇÆÐÇÏ¿© Àç¿äû 1: Çü»ó ÀÎÁõÀÌ Ã³À½) // BYTE m_btAuthFailCount; // ¿¬¼Ó ¿À·ù Ƚ¼ö(°èÁ¤, Çü»ó ÀÎÁõ ¿À·ù¸¦ Æ÷ÇÔÇÑ È½¼öÀÓ) // BYTE m_btDataSts; // 0 : Àü¼Û½ÃÀÛ, 1 : µ¥ÀÌÅÍÀü¼Û, 2 : Àü¼Û¿Ï·á(Sts°¡ 0, 2 Àΰæ¿ì µ¥ÀÌÅÍ´Â º¸³»Áö ¾Ê´Â´Ù) // DWORD m_dwShapeDataSize; // Sts°¡ 0 À϶§ ÃÑ µ¥ÀÌÅÍÀÇ Å©±â°¡ ¾ó¸¶³ª µÇ´ÂÁö ¾Ë·ÁÁØ´Ù(Sts°¡ 1ÀÏ °æ¿ì´Â »ç¿ëµÈ ¹öÆÛÀÇ Å©±â¸¸Å­¸¸ ³Ö¾îÁØ´Ù) // BYTE m_szShapeData[SHAPE_DATA_MAX_LEN]; // // MSG_SF_AUTH_SHAPE_SYN() // { // m_byCategory = CATEGORY_AUTH; // m_byProtocol = SF_AUTH_SHAPE_SYN; // m_dwFrontUserID = m_dwShapeDataSize = 0; // m_btResult = m_btAuthFailCount = m_btDataSts = 0; // memset( m_szShapeData, 0, SHAPE_DATA_MAX_LEN * sizeof(BYTE) ); // } //}; // //struct MSG_FS_AUTH_SHAPE_ACK : public MSG_BASE //{ // DWORD m_dwFrontUserID; // TCHAR m_SA_Value[SA_VALUE_SIZE]; // // MSG_FS_AUTH_SHAPE_ACK() // { // m_byCategory = CATEGORY_AUTH; // m_byProtocol = FS_AUTH_SHAPE_ACK; // m_dwFrontUserID = 0; // memset( m_SA_Value, 0, SA_VALUE_SIZE * sizeof(TCHAR) ); // } //}; // //#endif // _SHAPE_AUTH #ifdef _SECURE_AUTH // ID, PW üũ - ¸ÅÆ®¸¯½º Ä«µå ÀÎÁõ PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_MATRIX_CARD_SYN ) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ BYTE m_byResult; // °á°ú°ª(0: º¸¾È ÀÎÁõ ½ÇÆÐÇÏ¿© Àç¿äû 1: º¸¾È ÀÎÁõÀÌ Ã³À½) SECURE_INFO m_SecureInfo; PACKET_INTERNAL_CLOSE PACKET_INTERNAL_OPEN( CATEGORY_AUTH, FS_AUTH_MATRIX_CARD_ACK ) DWORD m_dwFrontUserID; // LoginFront¿¡¼­ ¹ß±ÞÇÑ ½Äº°ÀÚ SECURE_INFO m_SecureInfo; PACKET_INTERNAL_CLOSE #endif // _SECURE_AUTH //================================================================================================== //_JP000000_ONETIMEPASSWORD_AUTHFLOW_ // S -> S -> C (show OTP windows, ref: packet) PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, AU_AUTH_OTP_PASS_CMD, MSG_CF_AUTH_OTP_PASS_CMD) DWORD front_user_id; PACKET_INTERNAL_INHERITED_CLOSE // C -> S -> S (retry with OTP) PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, AU_AUTH_OTP_PASS_SYN, MSG_CF_AUTH_OTP_PASS_SYN) DWORD front_user_id; PACKET_INTERNAL_INHERITED_CLOSE // S -> S -> C (if success then next, if fail then retry 'show OTP window') PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, AU_AUTH_OTP_PASS_ACK, MSG_CF_AUTH_OTP_PASS_ACK) DWORD front_user_id; PACKET_INTERNAL_INHERITED_CLOSE //================================================================================================== //================================================================================================== //__CN_20100909_SECURITY_TOKEN__ // S -> S -> C (show OTP windows, ref: packet) PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, AU_AUTH_SECURITY_TOKEN_SYN, MSG_CF_AUTH_SECURITY_TOKEN_SYN) DWORD front_user_id; PACKET_INTERNAL_INHERITED_CLOSE // S -> S -> C (if success then next, if fail then retry 'show OTP window') PACKET_INTERNAL_INHERITED_OPEN(CATEGORY_AUTH, AU_AUTH_SECURITY_TOKEN_ACK, MSG_CF_AUTH_SECURITY_TOKEN_ACK) DWORD front_user_id; PACKET_INTERNAL_INHERITED_CLOSE //================================================================================================== // ¼­¹ö ¼±Åà PACKET_INTERNAL_OPEN( CATEGORY_AUTH, FS_AUTH_SERVER_SELECT_SYN ) DWORD m_dwFrontUserID; BYTE m_GroupID; BYTE m_ChannelID; BOOL m_IsOfficeIP; // »ç³»IPÀÎÁö ¾Æ´ÑÁö(GM üũ À§ÇØ ÇÊ¿ä) PACKET_INTERNAL_CLOSE PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_SERVER_SELECT_ACK ) DWORD m_dwFrontUserID; DWORD m_dwAuthUserID; char m_szSvrIP[IP_MAX_LEN]; DWORD m_dwSvrPort; BYTE m_serialKey[32]; BYTE m_byResult; // ¼º°ø (0) ¼­¹ö´Ù¿î(1) Áߺ¹ (2) char m_szGLogKey[GLOGKEY_LEN]; // GLog ÀÎÁõŰ PACKET_INTERNAL_CLOSE // ¼­¹ö ¸ñ·Ï PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_SERVER_LIST_NTF ) BYTE m_Count; DYNAMIC_SERVER_DATA m_ServerDataList[MAX_SVR]; int GetSize() { return sizeof(*this) - (MAX_SVR-m_Count)*sizeof(DYNAMIC_SERVER_DATA); } PACKET_INTERNAL_CLOSE // Client Disconnect ÅëÁö ¹ÞÀ½ From LoginFront PACKET_INTERNAL_OPEN( CATEGORY_AUTH, FS_AUTH_CLIENT_DISCONNECT_CMD ) DWORD m_dwFrontUserID; PACKET_INTERNAL_CLOSE // Client Disconnect ¸í·É ³»¸² To LoginFront PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_CLIENT_DISCONNECT_CMD ) DWORD m_dwFrontUserID; PACKET_INTERNAL_CLOSE // NTF To LoginFront PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_GAME_VERSION_NTF ) GAME_VERSION m_verProtocol; GAME_VERSION m_verLauncher; GAME_VERSION m_verMajor; GAME_VERSION m_verMinor; PACKET_INTERNAL_CLOSE PACKET_INTERNAL_OPEN( CATEGORY_AUTH, SF_AUTH_CONTROL_IPLIST_NTF ) enum { _MAX_IPDATA_NUM = 500 }; BYTE m_Flag; // 0 : ÃÖÃÊ Àü¼Û, 1 : À̾î¹Þ±â, 2 : Á¾·á WORD m_Count; CONTROL_IP_INFO m_IPDataList[_MAX_IPDATA_NUM]; int GetSize() { return sizeof(*this) - (_MAX_IPDATA_NUM-m_Count)*sizeof(CONTROL_IP_INFO); } PACKET_INTERNAL_CLOSE #pragma pack(pop)