/** *.ini ÆÄÀÏÀ» ÀÐ¾î µéÀ̴ Ŭ·¡½º¸¦ Á¤ÀÇÇÔ */ #include "stdafx.h" #include "FileParser.h" CFileParser::CFileParser(void) { } CFileParser::~CFileParser(void) { } void CFileParser::Init() { } #pragma warning (push) #pragma warning (disable: 4244) BOOL CFileParser::ParseInitFile(char* szFileName) { char szFullPath[512]; memset(&m_ServerEnv, NULL, sizeof(SERVER_ENV)); DWORD dwError = GetCurrentDirectory( 512, szFullPath ); if(0 == dwError) { return FALSE; } strcat(szFullPath, "\\"); strcat(szFullPath, szFileName); // ÁÖ¾îÁö´Â ÆÄÀÏ À̸§¿¡ ´ëÇÑ Ç® ÆÐ½º¸¦ ¼³Á¤ÇÔ // COMMON SECTION ¼³Á¤ ½ÃÀÛ m_ServerEnv.bGetServerInfoFromFile = GetPrivateProfileInt("COMMON", "GET_SERVERINFO_FROM_FILE", NULL, szFullPath); m_ServerEnv.bGMListApply = GetPrivateProfileInt("COMMON", "GMLIST_APPLY", NULL, szFullPath); m_ServerEnv.byFieldServerType = GetPrivateProfileInt("COMMON", "FIELD_SERVER_TYPE", NULL, szFullPath); m_ServerEnv.byBattleServerType = GetPrivateProfileInt("COMMON", "BATTLE_SERVER_TYPE", NULL, szFullPath); m_ServerEnv.bVillageRenderInfo = GetPrivateProfileInt("COMMON", "VILLAGE_RENDERINFO", NULL, szFullPath); //m_ServerEnv.bCryptography = GetPrivateProfileInt("COMMON", "CRYPTOGRAPHY_ENABLED", NULL, szFullPath); //m_ServerEnv.bCrypto_KeyChange = GetPrivateProfileInt("COMMON", "CRYPTO_KEY_CHANGED", NULL, szFullPath); //m_ServerEnv.dwCrypto_KeyChange_Interval = GetPrivateProfileInt("COMMON", "CRYPTO_KEY_CHANGE_INTERVAL", NULL, szFullPath); //if( m_ServerEnv.dwCrypto_KeyChange_Interval < SERVER_ENV::CRYPTO_KEYCHANGE_INTERVAL_MIN || m_ServerEnv.dwCrypto_KeyChange_Interval > SERVER_ENV::CRYPTO_KEYCHANGE_INTERVAL_MAX ) //{ // //SUNLOG( eCRITICAL_LOG, "CRYPTO_KEY_CHANGE_INTERVAL ÁֱⰪÀÌ ¹üÀ§¸¦ ¹þ¾î³µ½À´Ï´Ù. ±âº»°ªÀ» %uÃÊ·Î ¼³Á¤ÇÕ´Ï´Ù.\n", (DWORD)(SERVER_ENV::CRYPTO_KEYCHANGE_INTERVAL_MIN/1000) ); // m_ServerEnv.dwCrypto_KeyChange_Interval = SERVER_ENV::CRYPTO_KEYCHANGE_INTERVAL_MIN; //} m_ServerEnv.byServiceMode = GetPrivateProfileInt("COMMON", "SERVICE_MODE", NULL, szFullPath); m_ServerEnv.byAgeGrade = GetPrivateProfileInt("COMMON", "AGE_GRADE", NULL, szFullPath); m_ServerEnv.byServerStatus = GetPrivateProfileInt("COMMON", "SERVER_STATUS", NULL, szFullPath); if( !m_ServerEnv.byServerStatus || !(m_ServerEnv.byServerStatus < 5/*eSERVER_UPPERBOUND*/) ) return FALSE; // [CLIENT_IOHANDLER] ¼³Á¤ ½ÃÀÛ INI_IOHANDLER_DESC &cio = m_ServerEnv.ClientIoHandler; GetPrivateProfileString( "CLIENT_IOHANDLER", "IP", NULL, m_ServerEnv.ClientIoHandler.szIP, MAX_IPADDRESS_SIZE, szFullPath); cio.wPort = GetPrivateProfileInt( "CLIENT_IOHANDLER", "PORT", NULL, szFullPath ); cio.dwMaxAcceptSession = GetPrivateProfileInt( "CLIENT_IOHANDLER", "MAX_ACCEPT_SESSION", NULL, szFullPath ); cio.dwMaxConnectSession = GetPrivateProfileInt( "CLIENT_IOHANDLER", "MAX_CONNECT_SESSION", NULL, szFullPath ); cio.dwSendBufferSize = GetPrivateProfileInt( "CLIENT_IOHANDLER", "SEND_BUFFER_SIZE", NULL, szFullPath ); cio.dwRecvBufferSize = GetPrivateProfileInt( "CLIENT_IOHANDLER", "RECV_BUFFER_SIZE", NULL, szFullPath ); cio.dwTimeOut = GetPrivateProfileInt( "CLIENT_IOHANDLER", "TIME_OUT", NULL, szFullPath ); cio.dwNumberOfAcceptThreads = GetPrivateProfileInt( "CLIENT_IOHANDLER", "NUMBER_OF_ACCEPT_THREADS", NULL, szFullPath ); cio.dwNumberOfIoThreads = GetPrivateProfileInt( "CLIENT_IOHANDLER", "NUMBER_OF_IO_THREADS", NULL, szFullPath ); cio.dwNumberOfConnectThreads = GetPrivateProfileInt( "CLIENT_IOHANDLER", "NUMBER_OF_CONNECT_THREADS", NULL, szFullPath ); cio.dwMaxPacketSize = GetPrivateProfileInt( "CLIENT_IOHANDLER", "MAX_PACKET_SIZE", NULL, szFullPath ); // [SERVER_IOHANDLER] ¼³Á¤ ½ÃÀÛ INI_IOHANDLER_DESC &sio = m_ServerEnv.ServerIoHandler; GetPrivateProfileString( "SERVER_IOHANDLER", "IP", NULL, m_ServerEnv.ServerIoHandler.szIP, MAX_IPADDRESS_SIZE, szFullPath); sio.wPort = GetPrivateProfileInt( "SERVER_IOHANDLER", "PORT", NULL, szFullPath ); sio.dwMaxAcceptSession = GetPrivateProfileInt( "SERVER_IOHANDLER", "MAX_ACCEPT_SESSION", NULL, szFullPath ); sio.dwMaxConnectSession = GetPrivateProfileInt( "SERVER_IOHANDLER", "MAX_CONNECT_SESSION", NULL, szFullPath ); sio.dwSendBufferSize = GetPrivateProfileInt( "SERVER_IOHANDLER", "SEND_BUFFER_SIZE", NULL, szFullPath ); sio.dwRecvBufferSize = GetPrivateProfileInt( "SERVER_IOHANDLER", "RECV_BUFFER_SIZE", NULL, szFullPath ); sio.dwTimeOut = GetPrivateProfileInt( "SERVER_IOHANDLER", "TIME_OUT", NULL, szFullPath ); sio.dwNumberOfAcceptThreads = GetPrivateProfileInt( "SERVER_IOHANDLER", "NUMBER_OF_ACCEPT_THREADS", NULL, szFullPath ); sio.dwNumberOfIoThreads = GetPrivateProfileInt( "SERVER_IOHANDLER", "NUMBER_OF_IO_THREADS", NULL, szFullPath ); sio.dwNumberOfConnectThreads = GetPrivateProfileInt( "SERVER_IOHANDLER", "NUMBER_OF_CONNECT_THREADS", NULL, szFullPath ); sio.dwMaxPacketSize = GetPrivateProfileInt( "SERVER_IOHANDLER", "MAX_PACKET_SIZE", NULL, szFullPath ); /// Master Server Á¤º¸ ¾ò±â GetPrivateProfileString("MASTERSERVER", "MASTERSERVER_IP", NULL, m_ServerEnv.pszMasterServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wMasterServerPort = GetPrivateProfileInt("MASTERSERVER", "MASTERSERVER_PORT", NULL, szFullPath); // Account DB proxy server Á¤º¸ ¾ò±â GetPrivateProfileString("ACCOUNTDBPROXYSERVER", "ACCOUNTDBPROXYSERVER_IP", NULL, m_ServerEnv.pszAccountDBProxyServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wAccountDBProxyServerPort = GetPrivateProfileInt("ACCOUNTDBPROXYSERVER", "ACCOUNTDBPROXYSERVER_PORT", NULL, szFullPath); // Game DB proxy server Á¤º¸ ¾ò±â GetPrivateProfileString("GAMEDBPROXYSERVER", "GAMEDBPROXYSERVER_IP", NULL, m_ServerEnv.pszGameDBProxyServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wGameDBProxyServerPort = GetPrivateProfileInt("GAMEDBPROXYSERVER", "GAMEDBPROXYSERVER_PORT", NULL, szFullPath); // Agent server Á¤º¸ ¾ò±â GetPrivateProfileString("AGENTSERVER", "AGENTSERVER_OUTSIDE_IP", NULL, m_ServerEnv.pszAgentServerOutSideIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wAgentServerOutSidePort = GetPrivateProfileInt("AGENTSERVER", "AGENTSERVER_OUTSIDE_PORT", NULL, szFullPath); GetPrivateProfileString("AGENTSERVER", "AGENTSERVER_INSIDE_IP", NULL, m_ServerEnv.pszAgentServerInSideIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wAgentServerInSidePort = GetPrivateProfileInt("AGENTSERVER", "AGENTSERVER_INSIDE_PORT", NULL, szFullPath); // Portal server Á¤º¸ ¾ò±â GetPrivateProfileString("PORTALSERVER", "PORTALSERVER_IP", NULL, m_ServerEnv.pszPortalServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wPortalServerPort = GetPrivateProfileInt("PORTALSERVER", "PORTALSERVER_PORT", NULL, szFullPath); // AuthAgentServer m_ServerEnv.bEnableAuthAgentServer = GetPrivateProfileInt("AUTHAGENTSERVER", "ENABLE_AUTH_AGENT_SERVER", NULL, szFullPath); m_ServerEnv.wAgentServerID = GetPrivateProfileInt("AUTHAGENTSERVER", "AGENTSERVER_ID", NULL, szFullPath); GetPrivateProfileString("AUTHAGENTSERVER", "AUTHAGENTSERVER_IP", NULL, m_ServerEnv.pszAuthAgentServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wAuthAgentServerPort = GetPrivateProfileInt("AUTHAGENTSERVER", "AUTHAGENTSERVER_PORT", NULL, szFullPath); // WorldServer GetPrivateProfileString("WORLDSERVER", "WORLDSERVER_IP", NULL, m_ServerEnv.pszWorldServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wWorldServerPort = GetPrivateProfileInt("WORLDSERVER", "WORLDSERVER_PORT", NULL, szFullPath); GetPrivateProfileString("WORLDSERVER", "WORLDSERVER_CLIENT_IP", NULL, m_ServerEnv.pszWorldServerClientIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wWorldServerClientPort = GetPrivateProfileInt("WORLDSERVER", "WORLDSERVER_CLIENT_PORT", NULL, szFullPath); // GuildServer GetPrivateProfileString("GUILDSERVER", "GUILDSERVER_IP", NULL, m_ServerEnv.pszGuildServerIP, MAX_IPADDRESS_SIZE, szFullPath); m_ServerEnv.wGuildServerPort = GetPrivateProfileInt("GUILDSERVER", "GUILDSERVER_PORT", NULL, szFullPath); // DB(SQL Server)ÀÇ IPÁÖ¼Ò(2005.04.26 Ãß°¡) GetPrivateProfileString("SQLSERVER", "SQLSERVER_IP", NULL, m_ServerEnv.pszSQLServerIP, MAX_IPADDRESS_SIZE, szFullPath); // Log File ÀúÀå °æ·Î GetPrivateProfileString("LOGFILE", "WOPS_LOGFILE_PATH", NULL, m_ServerEnv.pszLogPath, MAX_LOGPATH_LEN, szFullPath); m_ServerEnv.byLogOption = GetPrivateProfileInt("LOGFILE", "WOPS_LOGFILE_OPTION", NULL, szFullPath); // SUN LOGFILE Á¤º¸ ÀúÀå m_ServerEnv.bySunLogOption = GetPrivateProfileInt("LOGFILE", "SUN_LOGFILE_OPTION", 0, szFullPath); m_ServerEnv.bySunLogfileLevel = GetPrivateProfileInt("LOGFILE", "SUN_LOGFILE_LEVEL", 0, szFullPath); GetPrivateProfileString("LOGFILE", "SUN_LOGFILE_PATH", NULL, m_ServerEnv.pszSunLogfilePath, MAX_LOGPATH_LEN, szFullPath); m_ServerEnv.dwServerInfoCycle = GetPrivateProfileInt("LOGFILE", "SERVERINFO_CYCLE", 0, szFullPath); // ¹Ýµå½Ã ÀÖ¾î¾ß ÇÏ´Â °ª üũ!! if( m_ServerEnv.ClientIoHandler.dwMaxAcceptSession == 0 ) return FALSE; if( m_ServerEnv.ServerIoHandler.wPort == 0 ) return FALSE; return TRUE; } #pragma warning (pop)