Files
Sun1602/Tools/SUNAutoScriptMaker/DataStruct.h
T
2022-10-26 12:25:11 +08:00

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;
};