/*------------------------------------------------------------------------------ * stdafx.h *------------------------------------------------------------------------------ * *------------------------------------------------------------------------------ * All rights reserved by Jin Hye Jin (jiny7749@hotmail.com) **----------------------------------------------------------------------------*/ #pragma once #include #include #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // ÀϺΠCString »ý¼ºÀÚ´Â ¸í½ÃÀûÀ¸·Î ¼±¾ðµË´Ï´Ù. #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // °ÅÀÇ »ç¿ëµÇÁö ¾Ê´Â ³»¿ëÀº Windows Çì´õ¿¡¼­ Á¦¿ÜÇÕ´Ï´Ù. #endif #include #include // MFC ÇÙ½É ¹× Ç¥ÁØ ±¸¼º ¿ä¼ÒÀÔ´Ï´Ù. #include // MFC È®ÀåÀÔ´Ï´Ù. #include // Internet Explorer 4ÀÇ °ø¿ë ÄÁÆ®·Ñ¿¡ ´ëÇÑ MFC Áö¿øÀÔ´Ï´Ù. #ifndef _AFX_NO_AFXCMN_SUPPORT #include // Windows °ø¿ë ÄÁÆ®·Ñ¿¡ ´ëÇÑ MFC Áö¿øÀÔ´Ï´Ù. #endif // _AFX_NO_AFXCMN_SUPPORT //#ifdef _DEBUG //#pragma comment(lib, "CrashHandler_vsnetd.lib") //#else //#pragma comment(lib, "CrashHandler_vsnet.lib") //#endif #include #include #include #include #include // CHANGES:f101206.2L, prevent a duplicated definition about 'DBCHAR' #ifdef DBCHAR #undef DBCHAR #endif #include #pragma comment(lib, "odbc32.lib") #define MAX_DB_PW 128 #define DEFAULT_WRITE_THREAD_NUM 12 //#define DEFAULT_WRITE_THREAD_NUM 6 #define CONFIG_FILE_NAME _T("config.ini") #define READINI_FILE_NAME _T("logfile.ini") #define READ_FILE_PATH _T("Log") #define REALTIME_PROC_NAME _T("SUNRealTimeLogConsole.exe") #define TIMESPAN_PROC_NAME _T("SUNLogConsole.exe") extern TCHAR g_szCurrentPath[MAX_PATH]; //================================================================================================== // Version content macros for this project #define _GUILD_LOG #define _POINT_LOG #define _CHAT_USERID //================================================================================================== #define _SERVER #include "Deployment.h" #include "Define.h" #include "LogArchive.h" #include "LogCommonDefine.h" #include "LogDataStruct.h" #include "LogTimeFormat.h" #include "BaseLog.h" #include "BaseLogData.h" #include "ActionData.h" #include "AdminData.h" #include "ChatData.h" #include "ExpData.h" #include "InventoryData.h" #include "ItemData.h" #include "AccumulatePointData.h" #include "MoneyData.h" #include "SessionData.h" #include "SkillData.h" #include "SnapShotData.h" #include "WareHouseData.h" #include "WriteLogMng.h" #include "GuildData.h" #include "LogClassExtension.h" #ifdef _DEBUG #pragma comment(lib, "../../Server/lib/"VC_DIR_REDIRECT"/SunWriteLogMng_d.lib") #else #pragma comment(lib, "../../Server/lib/"VC_DIR_REDIRECT"/SunWriteLogMng.lib") #endif //#define YOUNGMOON_TEST //#define NAMKA_TEST // ±¹°¡º° µðÆÄÀÎ #ifdef _CHINA #define _RENAME // ·Î±×ÆÄÀÏ À̸§ ¾Õ¿¡ ¹öÀü ¹øÈ£ Æ÷ÇÔ #define USE_SEPERATED_CHANNEL // ä³Îº°·Î ·Î±× ÄÝ·ºÅ͸¦ ½ÇÇà ÇÒ¶§ #endif //================================================================================================== // ·Î±× »óÅ enum eLOG_STATE { LOGSTATE_LOADING=0, // ÆÄÀÏ ·Îµù Áß.. ÆÄÀÏ ¸¶Áö¸·±îÁö ÀÐÁö ¸øÇßÀ½. LOGSTATE_END, // ÆÄÀÏ ¸¶Áö¸·±îÁö ·Îµå. LOGSTATE_REALTIME_SAME_OFFSET, // ´ÙÀ½ ³¯Â¥ ÆÄÀÏ ·Îµå. LOGSTATE_INVALIED_OFFSET, // ·Î±× ÆÄÀÏ¿¡ Ä«Å×°í¸® Á¤º¸°¡ Àß ¸ø ÀúÀåµÇ¾î ÀÖÀ½. LOGSTATE_INSERT_FAIL, // DB ÀÔ·Â ½ÇÆÐ LOGSTATE_NETWORK_LOGON_FAIL, // ÆÄÀÏ ¿ÀÇ ½ÇÆÐ(³×Æ®¿öÅ© ·Î±×¿Â ½ÇÆÐ.) LOGSTATE_INVALID_PATH, // °æ·Î¸¦ ãÀ» ¼ö ¾øÀ½. LOGSTATE_ACCESS_DENY, // ¾×¼¼½º °ÅºÎ LOGSTATE_INVALID_NETWORK_PATH, // ³×Æ®¿öÅ© °æ·Î¸¦ ãÀ» ¼ö ¾øÀ½. Sunbackup/fhrm!1 °èÁ¤À¸·Î °øÀ¯ Æú´õ·Î ¿¬°áÀ» ÇÏÁö ¾Ê¾ÒÀ½. LOGSTATE_NOT_EXIST_FILE, // ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. LOGSTATE_UNKNOWN_OPEN_FAIL, // ¾Ë ¼ö ¾ø´Â ÀÌÀ¯·Î ÆÄÀÏ ¿ÀÇ ½ÇÆÐ - T_ErrorInfo Å×À̺í ÂüÁ¶ LOGSTATE_FIND_OFFET, LOGSTATE_IO_PENDING, // IO °ãħ }; // ¼­¹ö ŸÀÔ 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, OP_SERVER = 11, // WOPS(Webzen Online Portal Solution) Agent Server TEMP_SERVER = 12, GAME_SERVER = 13, //< FIELD_SERVER¿Í BATTLE_SERVER¸¦ ÅëĪ }; // °ÔÀÓ ¼­¹ö Á¤º¸ typedef struct tagServerInfo { ULONGLONG ulOffset; // ¿ÀÇÁ¼Â ULONGLONG ulBeforeBreakOffset; // ÀÌÀü ¿ÀÇÁ¼Â. int nServerType; // ¼­¹ö ŸÀÔ int nServerCode; // ¼­¹ö ÄÚµå int nChannelID; // ä³Î ¾ÆÀ̵ð TCHAR szServerIP[32]; // ¾ÆÀÌÇÇ TCHAR szPrefix[24]; // prefix (AGENT, BATTLE, FIELD, WORLD) TCHAR szFileName[MAX_PATH]; // ÆÄÀϸí TCHAR szPath[MAX_PATH]; // ÆÄÀÏ °æ·Î TCHAR szFullPath[MAX_PATH]; // IP¸¦ Æ÷ÇÔÇÑ Àüü °æ·Î TCHAR szLocalPrefixPath[24]; // eLOG_STATE eLogState; // ·Î±× »óÅ INT nRepeatCount; ULONGLONG ulFileSize; INT nWorldNo; tagServerInfo() { ulOffset = 0; ulBeforeBreakOffset = 0; ulFileSize = 0; nServerType = 0; nServerCode = 0; nChannelID = 0; nRepeatCount = 0; memset(szServerIP, 0, sizeof(szServerIP)); memset(szPrefix, 0, sizeof(szPrefix)); memset(szFileName, 0, sizeof(szFileName)); memset(szPath, 0, sizeof(szPath)); memset(szFullPath, 0, sizeof(szFullPath)); memset(szLocalPrefixPath, 0, sizeof(szLocalPrefixPath)); eLogState = LOGSTATE_LOADING; nWorldNo = 0; } }SERVERINFO; #define USER_WHITE (FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN) #define USER_RED (FOREGROUND_RED | FOREGROUND_INTENSITY) #define USER_GREEN (FOREGROUND_GREEN | FOREGROUND_INTENSITY) #define USER_BLUE (FOREGROUND_BLUE | FOREGROUND_INTENSITY) #define USER_YELLOW (USER_RED | USER_GREEN) #define USER_PINK (USER_RED | USER_BLUE) #define USER_SKYBLUE (USER_GREEN | USER_BLUE) #define USER_RED_BG (BACKGROUND_RED | BACKGROUND_INTENSITY) #define USER_GREEN_BG (BACKGROUND_GREEN | BACKGROUND_INTENSITY) #define USER_BLUE_BG (BACKGROUND_BLUE | BACKGROUND_INTENSITY) #define USER_YELLOW_BG (USER_RED_BG | USER_GREEN_BG) #define USER_PINK_BG (USER_RED_BG | USER_BLUE_BG) #define USER_SKYBLUE_BG (USER_GREEN_BG | USER_BLUE_BG) #define USER_WHITE_BG (USER_RED_BG | USER_GREEN_BG | USER_BLUE_BG) void PrintUserColorString(HANDLE hStdOut, WORD Attribute, TCHAR* str);