#pragma once #include #include using namespace std; #define MAX_ADDRESS_SIZE 64 #define MAX_SERVERTYPE_COUNT 15 #define MAX_WORLD_COUNT 30 #define MAX_SUNSERVER_TYPE 4 //Agent, Battle, Field, DBProxy #define MAX_GUILD_CONNECT 3 #define MAX_TEMP_STRING 16 enum eSERVER_TYPE { UNKNOWN_SERVER = 0, AGENT_SERVER = 1, FIELD_SERVER = 2, BATTLE_SERVER = 3, GAME_DBPROXY = 4, WORLD_SERVER = 5, MASTER_SERVER = 6, GUILD_SERVER = 7, ACCOUNT_DBPROXY = 8, TOURNAMENT_SERVER = 9, AUTH_AGENT_SERVER = 10, // TODO: DB¿¡ ³Ö±â? OP_SERVER = 11, // WOPS(Webzen Online Portal Solution) Agent Server TEMP_SERVER = 12, GAME_SERVER = 13, //< FIELD_SERVER¿Í BATTLE_SERVER¸¦ ÅëĪ PORTAL_SERVER = 14, SOLARAUTH_SERVER = 15, MAX_SERVER = 16, }; struct _BaseInfo { WORD m_wWorld; WORD m_wChannel; WORD m_wServerType; WORD m_wServerNum; TCHAR m_szPublicIP[MAX_ADDRESS_SIZE]; WORD m_wPublicPort; TCHAR m_szPrivateIP[MAX_ADDRESS_SIZE]; WORD m_wPrivatePort; }; struct _PortInfo { WORD m_wServerType; WORD m_wPublicPort; WORD m_wPrivatePort; }; typedef multimap< WORD, _BaseInfo* > WORLD_MAP; typedef list< _BaseInfo* > WORLD_LIST; typedef map< WORD, _PortInfo* > PORT_MAP; //SunServer Common struct _COMMON { //Common int m_nCommonFile; int m_nCommonGM; int m_nCommonField; int m_nCommonBattle; int m_nCommonVillage; int m_nCommonService; int m_nCommonAgeGrade; int m_nCommonCryptoGraphy; int m_nCommonCryptoKeyChanged; int m_nCommonCryptoKeyChangeInterval; int m_nCommonServerStatus; int m_nCommonWorldID; //WorldServer¿¡¼­¸¸ ¾²ÀδÙ. int m_nCommonStatistics; //WorldServer¿¡¼­¸¸ ¾²ÀδÙ.(Åë°è¿ë) int m_nCommonShout; //WorldServer¿¡¼­¸¸ ¾²ÀδÙ. ¿ÜÄ¡±â¿ë Á¤º¸ Àü¼Û °£°Ý int m_nCommonConnection; //GuildServer¿¡¼­¸¸ ¾²ÀδÙ. }; struct _LOGFILE { //Log CString m_strWopsLogPath; int m_nWopsLogOption; int m_nSunLogOption; int m_nSunLogLevel; CString m_strSunLogPath; }; struct _IOHANDLER { //Client int m_nAccept; int m_nConnect; int m_nSendBuf; int m_nRecvBuf; int m_nTimeOut; int m_nPacketSize; int m_nAcceptThread; int m_nConnectThread; int m_nIoThread; }; struct _CHATLOG { BOOL m_bNormal; BOOL m_bShout; BOOL m_bParty; BOOL m_bGuild; BOOL m_bPrivate; BOOL m_bFriend; }; struct _AUTH { BOOL m_bEnable; WORD m_wChannel; }; struct _ATTRIBUTES { WORD m_wSerialInterval; WORD m_wQueryPool; };