#pragma once #include #ifdef _SECURE_AUTH #include "../MatrixLib/include/main.h" #endif //#ifdef _SHAPE_AUTH // #include "SATypeDef.h" //#endif #pragma pack(push,1) struct DB_INFO { TCHAR m_szInitDB[32]; TCHAR m_szIpPort[64]; TCHAR m_szID[32]; TCHAR m_szPW[32]; DB_INFO() { ZeroMemory(this, sizeof(*this)); } }; struct DYNAMIC_SERVER_DATA { AGENTID m_GameAgentID; SHORT m_LoginUserCnt; BYTE m_CrowdGrade; BYTE m_ConnectStatus; }; // CHANGES: f101030.1L, change the specification to accept multi-agent on same ip address struct sGAME_AGENT_INFO { AGENTID game_agent_id_; uint16_t game_agent_port_; char game_agent_public_ip_[MAX_IP_NAME_LENGTH + 1]; char game_agent_private_ip_[MAX_IP_NAME_LENGTH + 1]; }; struct CONTROL_IP_INFO { eIPTYPE m_IPType; DWORD m_StartIP; WORD m_Count; }; // Japan contents : _JP000000_ONETIMEPASSWORD_AUTHFLOW_ struct OtpStep { enum eOtp_Step { eOtp_None, // no OTP user | no auth processing eOtp_WaitOtp, // wait for 'OTP_PASS_SYN' eOtp_CheckingOtp, // db transaction eOtp_Authentication,// OTP auth result - succeed eOtp_CantAccept, }; BYTE value; }; //================================================================================================== struct AccountInfo { DWORD m_LoginFrontId; // AuthServer::NetworkFrontÀÇ GUID //< À̰ŠNetworkIndex == SessionIndex DWORD m_LoginFrontUserId; // LoginFront¿¡¼­ ¹ß±ÞµÈ ¿¬°áµÈ À¯Àú ID ACCOUNTSTATUS_TYPE m_status; BYTE m_userCode[3]; // Sts°ª DWORD m_userGuid; TCHAR m_account[ID_MAX_LEN + 1]; char m_MD5[kCryptStringSize]; BYTE m_serialKey[32]; DWORD m_authKey; TCHAR m_clientIp[IP_MAX_LEN]; TCHAR m_localIp[IP_MAX_LEN]; char m_glogKey[GLOGKEY_LEN]; BYTE m_age; DWORD m_pcBangId; CHANGE_PCROOM_STATUS m_pcBangStatus; //CHANGE_PCROOM_STATUS::eStatus, _PCBANG_POLICY_CHANGE_POST_EXPIRED DWORD m_pcBangOnRechargeQueryTime; //Á¤·® ¸¸·áÈÄ Äõ¸® Áֱ⠼³Á¤:_PCBANG_POLICY_CHANGE_POST_EXPIRED2 DWORD m_tickConnectTime; // Á¢¼Ó ½ÃÀÛ ½Ã°£(·Î±×¿ë) DWORD m_tickBillingTime; // ºô¸µÂ÷°¨ ½Ã°£°£°Ý SYSTEMTIME m_loginTime; // Location Info AGENTID m_locationId; // Á¢¼ÓÇÑ ¼­¹öÀÇ index¹øÈ£ //< À̰ŠAgentID DWORD m_tickAuth; // ÀÎÁõ¿Ï·á ½Ã°¢ #ifdef _BILLING_WAITLOGOUT DWORD m_dwWaitLogoutCnt; // ANS_PC_LOGOUT ´ë±âÇÑ È¸¼ö #endif #ifdef _SECURE_AUTH BYTE m_btMatrixAuthFailCount; // ¸ÅÆ®¸¯½º ÀÎÁõÀÌ ¸î¹ø ½ÇÆÐÇß´ÂÁö ÀúÀå bool m_bSucceedShape; // Çü»ó ÀÎÁõ(Çü»óÀÎÁõ ¹Ì»ç¿ë½Ã´Â °èÁ¤ÀÎÁõ¿©ºÎ·Î »ç¿ë)ÀÌ ¿Ï·á µÇ¾ú´ÂÁö ½Äº° SC_INFO m_secureAuthInfo; // º¸¾È ÀÎÁõ Á¤º¸(¸î¹ø ÁÂÇ¥¸¦ ¹°¾îº¸¾Ò´ÂÁö) matrix_seed m_seedValue; // ½Ãµå°ª #endif //#ifdef _PAAS_ALERT // BYTE m_btAlert; // ·Î±×ÀÎ °æ°í ´ë»óÀ» ½Äº° //#endif #ifdef _TIRED_CHECK BYTE m_ucRealNameAuth; // ½Ç¸í ÀÎÁõ »ç¿ëÀÚ ½Äº° (0 : ºñ½Ç¸í , 1 : ½Ç¸í) #endif DWORD m_dwLogSeq; //#ifdef _SHAPE_AUTH //BYTE m_btShapeAuthFailCount; // Çü»ó ÀÎÁõÀÌ ¸î¹ø ½ÇÆÐÇß´ÂÁö ÀúÀå //bool m_bSucceedAuth; // °èÁ¤ ÀÎÁõÀÌ ¿Ï·áµÇ¾ú´ÂÁö ½Äº° //TCHAR m_SA_Value[SA_VALUE_SIZE]; //#endif //#ifdef _NEW_BILLING_SYSTEM //long m_dwBillingGuid; //#endif BYTE m_AuthUserType; //_CHANNELING_AUTH_FLOW_HANGAME_USER_ nsPacket::ReAuthInfoBase::ReAuthKeyType m_ReAuthKey; //__NA001334_090420_SERVER_SELECT_FACILITY__ OtpStep m_OtpStep; char m_GameID[10 + 1]; // for Global authentication #ifdef __NA_20100201_INTERGRATEDBILLING_ DWORD IntergratedBillingGUID; #endif bool m_IsLoginLogWrite; //·Î±×ÀÎ ·Î±×¸¦ ³²±â¸é TRUE ·Î ¼³Á¤ÇÑ´Ù. //ÀÌÈÄ ÇØ´ç º¯¼ö°¡ TRUE À϶§¸¸ ·Î±×¾Æ¿ô ·Î±×¸¦ ³²±ä´Ù. #ifdef _JP_0_20100723_GAMECHU_AUTHFLOW_ DWORD gamechu_usn_; #endif #ifdef __CN_20100909_SECURITY_TOKEN__ char token_base64_key_[TOKEN_BASE64_KEY_MAX + 1]; bool is_token_use_; #endif #ifdef _NA_20100307_BETAKEY_SYSTEM BETAKEY betakey_; #endif #ifdef __PCBANG_IP_UPDATE DWORD pc_room_ip_value_; #endif }; //#ifndef _NEW_BILLING_SYSTEM struct BILLING_DEDUCTION_INFO { DWORD m_dwGameCode; // Àü¼ÛÇÑ GameServer Code(SUN = 2) DWORD m_dwUserGUID; DWORD m_dwPCRoomGUID; DWORD m_dwIPAddress; DWORD m_dwPlayTime; // Millisecond //BILLING_DEDUCTION_INFO() //{ // ZeroMemory(this, sizeof(*this)); //} }; //#endif // (WAVERIX) (090702) (CHANGES) Auth token usage case°¡ ´Ã¾î³ª°í ÀÖÀ¸¹Ç·Î, ¼±º° 󸮷Πº¯°æ enum eAuthToken { eAuthToken_None, eAuthToken_ReAuthToken, eAuthToken_AuthTokenKorea, eAuthToken_AuthTokenNorthA, eAuthToken_AuthTokenGlobal, eAuthToken_AuthTokenGameChu, eAuthToken_AuthIngamba, eAuthToken_AuthChinaZY, }; #pragma pack(pop)