132 lines
2.4 KiB
C++
132 lines
2.4 KiB
C++
#pragma once
|
|
|
|
#include <map>
|
|
#include <list>
|
|
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;
|
|
};
|
|
|
|
|
|
|
|
|