/* ==================================================================== * ÆÄ ÀÏ : gameSrv.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : °ûöÁß * ÀÛ ¼º ÀÏ : 06/12/21 * ÁÖÀÇ»çÇ× : * =================================================================== */ #ifndef __GAME_SERVER_H__ #define __GAME_SERVER_H__ //#ifndef WINVER //#define WINVER 0x0500 //#endif // //#ifndef _WIN32_WINNT //#define _WIN32_WINNT 0x0500 //#endif #ifndef WSA_STARTUP_VER #define WSA_STARTUP_VER 0x0002 #endif #pragma once // À©¼Ó2 Çì´õ - link "ws2_32.lib" #include // À©µµ¿ìÁî Çì´õ #include #include #include #include #include "wsastartup.h" #ifndef __DEFAULT_DEFINE__ #define __DEFAULT_DEFINE__ #define DEFAULT_SQL_ACCOUNT 0x1000 // SQL Account Request default type #define DEFAULT_SQL_GAME 0x2000 // SQL Game " #define DEFAULT_GAME_PROCESS 0x4000 // Game Process " #endif // __DEFAULT_DEFINE__ #include "sqlaccount.h" #include "sqlgame.h" #include "billconnector.h" #include "BillPayletter.h" #include "gameprocess.h" #include "verbose.h" #include "sender.h" #include "recver.h" class cGameSrv : public cWSAStartup { private: // ¼­ºñ½º ¹× °ø¿ë ȯ°æº¯¼ö. SERVICE_STATUS_HANDLE mServiceStatusHandle; SERVICE_STATUS mServiceStatus; TCHAR* mUserName; bool mRunService; bool mEndService; volatile bool mClose; WORD mVersion; private: // °ø¿ë ȯ°æº¯¼ö. DWORD mServerNo; DWORD mChannelNo; TCHAR mServerName[MAX_PATH]; TCHAR mServerAddr[MAX_PATH]; TCHAR mServerBroadcastRecv[MAX_PATH]; TCHAR mServerBroadcastSend[MAX_PATH]; TCHAR mServerFirewall[MAX_PATH]; TCHAR mServerBillAddr[MAX_PATH]; int mServerBillPort; int mAhnhsEnbale; DWORD mAhnhsCheckTime; DWORD mAhnhsWaitTime; private: // Ŭ·¡½º. cSender* mSender; cSQLAccount* mSqlAccount; cSQLGame* mSqlGame; cBillConnector* mBillConnector; cBillPayletter* mBillPayletter; cGameProcess* mGameProcess; cVerbose* mVerbose; cRecver* mRecver; private: // ¼­ºñ½º Á¦¾î ¸Þ¼Òµå. bool InstallService ( LPCTSTR binaryPathName, LPCTSTR serviceName, DWORD startType = SERVICE_DEMAND_START ); bool UninstallService ( LPCTSTR serviceName ); private: // ÀÀ¿ëÇÁ·Î±×·¥ Á¦¾î ¸Þ¼Òµå. DWORD Initialization ( DWORD argc, LPTSTR* argv, DWORD* error ); void Destroy ( void ); void Run ( void ); private: // Command Line Á¦¾î ¸Þ¼Òµå. int ErrorInsert ( char* msg ); public: // Ŭ·¡½º »ý¼º ¹× °ø¿ë ¸Þ¼Òµå. cGameSrv(void); BOOL ConsolCtrlHandler ( DWORD opcode ); void ConsoleRun ( DWORD argc, LPTSTR* argv ); void ServiceCtrlHandler ( DWORD opcode ); void ServiceRun ( DWORD argc, LPTSTR* argv ); void Close ( ); public: // Ŭ·¡½º °øÀ¯ ¸Þ¼Òµå. TCHAR* GetServerName ( ) { return mServerName; } TCHAR* GetHostName ( ) { return mFixedInfo->HostName; } cSender* GetSender ( ) { return mSender; } cSQLAccount* GetSQLAccount ( ) { return mSqlAccount; } cSQLGame* GetSQLGame ( ) { return mSqlGame; } cBillConnector* GetBillConnector ( ) { return mBillConnector; } cGameProcess* GetGameProcess ( ) { return mGameProcess; } cRecver* GetRecver ( ) { return mRecver; } public: // Ŭ·¡½º ÆÄ±« ¸Þ¼Òµå. virtual ~cGameSrv(void); }; DWORD ErrorCode2String ( VOID** msgBuf, DWORD lastError = GetLastError(), WORD priLangId = LANG_NEUTRAL, WORD subLangId = SUBLANG_DEFAULT ); extern cGameSrv* g_gameSrv; extern bool g_verbose; extern bool g_fps; extern bool g_packet; extern bool g_udp; extern bool g_udpPacket; extern bool g_udpFrom; extern bool g_eventPrint; extern u_short g_loginPort; extern u_short g_gamePort; extern u_short g_logPort; extern unsigned int g_BillType; extern TCHAR g_serviceName[MAX_PATH]; #endif // __GAME_SERVER_H__