401 lines
19 KiB
C++
401 lines
19 KiB
C++
#pragma once
|
||
|
||
#include "DNCommonDef.h"
|
||
#include "DNServerDef.h"
|
||
|
||
#if defined(_GPK)
|
||
#include "../../Extern/GPK/Include/GPKitSvr.h"
|
||
#endif // _GPK
|
||
|
||
#if defined(_HSHIELD)
|
||
#include "../../Extern/HShield/SDKs/Include/AntiCpXSvr.h" // HackShield
|
||
#endif // _HSHIELD
|
||
|
||
struct TConnectionInfo
|
||
{
|
||
char szIP[IPLENMAX];
|
||
int nPort;
|
||
};
|
||
|
||
struct TWorldInfo
|
||
{
|
||
int nWorldSetID;
|
||
WCHAR wszWorldName[WORLDNAMELENMAX];
|
||
TConnectionInfo VillageInfos[VILLAGECOUNTMAX]; // 빌리지 대수
|
||
};
|
||
|
||
struct TServiceManagerConfig
|
||
{
|
||
WCHAR wszRegion[32];
|
||
int nServicePort;
|
||
int nLauncherPort;
|
||
int nServicePatcherPort;
|
||
int nGSMPort;
|
||
int nMonitorPort;
|
||
WCHAR wszGSMIP[IPLENMAX];
|
||
WCHAR wszGSMCodePage[256];
|
||
WCHAR wszPatchBaseURL[256];
|
||
WCHAR wszPatchURL[256];
|
||
WCHAR wszPatchDir[256];
|
||
WCHAR wszNoticePath[FILENAME_MAX];
|
||
char szVersion[SERVERVERSIONMAX];
|
||
};
|
||
|
||
struct TNetLauncherConfig
|
||
{
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szServiceManagerIP[IPLENMAX];
|
||
int nServiceManagerPort;
|
||
char szExcutePath[1024];
|
||
};
|
||
|
||
struct TNetLauncherPatcherConfig
|
||
{
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szServiceManagerIP[IPLENMAX];
|
||
int nServiceManagerPort;
|
||
char szNetLauncherLocation[1024];
|
||
char szNetLauncherName[MAX_PATH];
|
||
};
|
||
|
||
const BYTE DSNLENMAX = 30;
|
||
const BYTE DBNAMELENMAX = 30;
|
||
|
||
struct TDBName: TConnectionInfo
|
||
{
|
||
int nWorldSetID;
|
||
WCHAR wszDBName[DBNAMELENMAX]; // 디비 테이블 이름
|
||
WCHAR wszDBID[IDLENMAX]; // 디비 로그인계정
|
||
};
|
||
|
||
struct TLoginConfig
|
||
{
|
||
bool bUseCmd; //런처를 통해서 생성되었는지
|
||
int nManagedID; //Launcher ManagedID
|
||
TConnectionInfo ServiceInfo; //ServiceManagerInfo
|
||
|
||
int nVersion; // 버젼
|
||
int nNation; // 국가정보 (eNation참조)
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
USHORT nMajorVersion;
|
||
USHORT nMinorVersion;
|
||
|
||
int nIocpMax; // iocp init max
|
||
int nSQLMax; // SQL max
|
||
int nWorkerThreadMax; // worker thread max
|
||
|
||
#if defined(_KRAZ)
|
||
bool bTestServer;
|
||
TDBName ActozCommonDB;
|
||
#endif // #if defined(_KRAZ)
|
||
TDBName MembershipDB;
|
||
TDBName WorldDB[WORLDCOUNTMAX];
|
||
int nWorldDBCount;
|
||
|
||
int nMasterAcceptPort; // 마스터 tcp 포트
|
||
int nClientAcceptPort; // 클라 tcp 포트
|
||
|
||
TConnectionInfo LogInfo;
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
|
||
#if defined(_GPK)
|
||
SGPK::IGPKSvrDynCode *pDynCode;
|
||
SGPK::IGPKCSAuth *pGpkCmd;
|
||
//int nCodeIndex;
|
||
#endif // _GPK
|
||
|
||
#if defined(_HSHIELD)
|
||
AHNHS_SERVER_HANDLE hHSServer; // [확장 서버연동] 서버 핸들 개체
|
||
#endif // _HSHIELD
|
||
|
||
#if defined(_TW)
|
||
TConnectionInfo AuthInfoTW1; // 인증섭 (감마니아 1 - Authorization : 사용자 계정 인증 처리, 상태 (블록 여부, 캐쉬 잔여 포인트 ?) 체크)
|
||
TConnectionInfo AuthInfoTW2; // 인증섭 (감마니아 2 - Logout : 사용자 로그아웃 처리)
|
||
int nDenyWorld; // 제외할 월드
|
||
#endif // _TW
|
||
#if defined(_TH)
|
||
TConnectionInfo AuthInfoTH;
|
||
TConnectionInfo OTPInfoTH;
|
||
#endif //#if defined(_TH)
|
||
|
||
#if defined(_US)
|
||
TConnectionInfo PIInfo;
|
||
char szRequestPage[256];
|
||
char szUserAgent[50];
|
||
char szServiceCode[50];
|
||
int nLocaleID;
|
||
#endif // #if defined(_US)
|
||
|
||
#ifdef _SG
|
||
int nCherryGameID;
|
||
char szCherryAuthAddr[64];
|
||
#endif //#ifdef _SG
|
||
#if defined(PRE_IDN_PVP)
|
||
int nPvPWorldID; // 대회용 WorldID
|
||
#endif
|
||
};
|
||
|
||
struct TVillageConfig
|
||
{
|
||
bool bUseCmd; //런처를 통해서 생성되었는지
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
int nCreateCount;
|
||
int nCreateIndex;
|
||
int nManagedID;
|
||
TConnectionInfo ServiceInfo;
|
||
|
||
int nWorldSetID; // 월드 아이디
|
||
int nVillageID; // 빌리지섭 구분 아이디 (여러대 띄웠을때 구별하기위한 아이디)
|
||
|
||
int nIocpMax; // iocp init max
|
||
|
||
int nClientAcceptPort; // 클라 tcp 포트
|
||
|
||
TConnectionInfo CashInfo;
|
||
TConnectionInfo MasterInfo; // 마스터 정보
|
||
|
||
int nDBCount; // 총 디비 개수
|
||
TConnectionInfo DBInfos[DBSERVERMAX]; // 디비 정보
|
||
|
||
TConnectionInfo LogInfo;
|
||
|
||
// ItemSerial 얻어오는데 쓰이는 SQL (다른건 절대 사용해선 안된다)
|
||
TDBName MembershipDB;
|
||
|
||
char szPrivateDolbyIp[IPLENMAX]; // 돌비섭 아이피
|
||
char szPublicDolbyIp[IPLENMAX]; // 돌비섭 아이피
|
||
int nControlPort; // 돌비섭 포트(컬트롤)
|
||
int nAudioPort; // 돌비섭 포트(오디오)
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
|
||
#if defined(_GPK)
|
||
SGPK::IGPKSvrDynCode* pDynCode;
|
||
SGPK::IGPKCSAuth *pGpkCmd;
|
||
//int nCodeIndex;
|
||
#endif // _GPK
|
||
|
||
#if defined(_HSHIELD)
|
||
AHNHS_SERVER_HANDLE hHSServer; // [확장 서버연동] 서버 핸들 개체
|
||
#endif // _HSHIELD
|
||
|
||
#if defined( PRE_WORLDCOMBINE_PARTY )
|
||
int nCombinePartyWorld;
|
||
#endif
|
||
};
|
||
|
||
struct TGameConfig
|
||
{
|
||
bool bUseCmd;
|
||
char szVersion[SERVERVERSIONMAX]; //exe version
|
||
char szResVersion[SERVERVERSIONMAX]; //ResVersion
|
||
BYTE cAffinityType; // 서버대응타입(일반:0, PvP+일반:1, PvP:2)
|
||
int nCreateCount;
|
||
int nCreateIndex;
|
||
int nManagedID;
|
||
TConnectionInfo ServiceInfo;
|
||
|
||
bool bPreLoad; // 미리로드~~
|
||
bool bAllLoaded; // 초기로드시점 판단을 위해서
|
||
//int nGameID; // 게임섭 아이디
|
||
|
||
int nGameServerOpenCount; //게임서버 서버오픈 갯수
|
||
int nGameAcceptPortBegin; //게임섭 udp 억셉포트
|
||
int nClientAcceptPort; // 클라 tcp 포트
|
||
|
||
int nIocpMax; // MaxSocket
|
||
|
||
TConnectionInfo CashInfo;
|
||
int nMasterCount; // 총 마스터 개수
|
||
TConnectionInfo MasterInfo[WORLDCOUNTMAX]; // 마스터 정보
|
||
|
||
int nDBCount; // 총 디비 개수
|
||
TConnectionInfo DBInfos[DBSERVERMAX]; // 디비 정보
|
||
|
||
TConnectionInfo LogInfo;
|
||
|
||
// ItemSerial 얻어오는데 쓰이는 SQL (다른건 절대 사용해선 안된다)
|
||
TDBName MembershipDB;
|
||
|
||
char szPrivateDolbyIp[IPLENMAX]; // 돌비섭 아이피
|
||
char szPublicDolbyIp[IPLENMAX]; // 돌비섭 아이피
|
||
int nControlPort; // 돌비섭 포트(컬트롤)
|
||
int nAudioPort; // 돌비섭 포트(오디오)
|
||
|
||
int nProbePort; //UDP주소를 제대로 얻어오기 위한 프로브 정보
|
||
char szProbeIP[16];
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
|
||
#if defined(_GPK)
|
||
SGPK::IGPKSvrDynCode* pDynCode;
|
||
SGPK::IGPKCSAuth *pGpkCmd;
|
||
//int nCodeIndex;
|
||
#endif // _GPK
|
||
|
||
#if defined(_HSHIELD)
|
||
AHNHS_SERVER_HANDLE hHSServer; // [확장 서버연동] 서버 핸들 개체
|
||
#endif // _HSHIELD
|
||
#if defined( _WORK )
|
||
bool bDisableFarm;
|
||
#endif // #if defined( _WORK )
|
||
#if defined( PRE_FIX_WORLDCOMBINEPARTY )
|
||
bool bWorldCombineGameServer;
|
||
#endif
|
||
};
|
||
|
||
struct TMasterConfig
|
||
{
|
||
bool bUseCmd; //런처를 통해서 생성되었는지
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
int nManagedID;
|
||
TConnectionInfo ServiceInfo;
|
||
|
||
int nWorldSetID; // 월드 아이디 (마스터 섭은 월드에 한대만 존재)
|
||
|
||
int nVillageAcceptPort;
|
||
int nGameAcceptPort;
|
||
|
||
TConnectionInfo LoginInfo[LOGINCOUNTMAX];
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
|
||
#if defined(_KR)
|
||
TConnectionInfo AuthInfo; // 인증섭
|
||
int nAuthDomainSN; // 인증 도메인 SN
|
||
#endif // _KR
|
||
|
||
#if defined(_CH)
|
||
bool bFCM; // 피로도 유무
|
||
#endif // _CH
|
||
|
||
TConnectionInfo LogInfo;
|
||
#ifdef PRE_ADD_DOORS
|
||
TConnectionInfo DoorsInfo;
|
||
TConnectionInfo DoorsIdenty[2];
|
||
#endif //#ifdef PRE_ADD_DOORS
|
||
|
||
#if defined(_TW)
|
||
TConnectionInfo AuthInfoTW; // 인증섭 (감마니아 - Logout : 사용자 로그아웃 처리)
|
||
#endif // _TW
|
||
|
||
#if defined(_US)
|
||
TConnectionInfo PIInfo;
|
||
char szRequestPage[256];
|
||
char szUserAgent[50];
|
||
char szServiceCode[50];
|
||
#endif // #if defined(_US)
|
||
#if defined(_TH)
|
||
TConnectionInfo AsiaSoftPCCafe; // 아시아 소프트 PC방
|
||
#endif
|
||
#if defined( PRE_WORLDCOMBINE_PARTY )
|
||
int nCombinePartyWorld;
|
||
#endif
|
||
#ifdef PRE_MOD_OPERATINGFARM
|
||
int nFarmServerID;
|
||
#endif //#ifdef PRE_MOD_OPERATINGFARM
|
||
};
|
||
|
||
struct TDBConfig
|
||
{
|
||
bool bUseCmd; // 런처를 통해서 생성되었는지
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
int nManagedID;
|
||
TConnectionInfo ServiceInfo;
|
||
|
||
int nAcceptPort;
|
||
int nThreadMax;
|
||
|
||
#if defined(_KRAZ)
|
||
bool bTestServer;
|
||
TDBName ActozCommonDB;
|
||
#endif // #if defined(_KRAZ)
|
||
TDBName MembershipDB;
|
||
TDBName WorldDB[WORLDCOUNTMAX];
|
||
int nWorldDBCount;
|
||
#if defined( PRE_WORLDCOMBINE_PARTY )
|
||
int nCombineWorldDBID;
|
||
#endif // #if defined( PRE_WORLDCOMBINE_PARTY )
|
||
TConnectionInfo LogInfo;
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
};
|
||
|
||
struct TLogConfig
|
||
{
|
||
bool bUseCmd; // 런처를 통해서 생성되었는지
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
int nManagedID;
|
||
TConnectionInfo ServiceInfo;
|
||
|
||
int nAcceptPort;
|
||
int nThreadMax;
|
||
|
||
TDBName MasterLogDB; // MasterLogDB (넥슨 web서비스에 필요한 디비)
|
||
TDBName ServerLogDB;
|
||
TDBName LogDB[WORLDCOUNTMAX]; // LogDB
|
||
int nLogDBCount;
|
||
std::string szResourcePath; // resource path
|
||
};
|
||
|
||
struct TCashConfig
|
||
{
|
||
bool bUseCmd; //런처를 통해서 생성되었는지
|
||
int nManagedID; //Launcher ManagedID
|
||
TConnectionInfo ServiceInfo; //ServiceManagerInfo
|
||
|
||
int nVersion; // 버젼
|
||
int nNation; // 국가정보 (eNation참조)
|
||
char szVersion[SERVERVERSIONMAX];
|
||
char szResVersion[SERVERVERSIONMAX];
|
||
USHORT nMajorVersion;
|
||
USHORT nMinorVersion;
|
||
|
||
int nWorldSetID; // 월드 아이디
|
||
int nThreadMax;
|
||
|
||
TDBName MembershipDB;
|
||
TDBName WorldDB[WORLDCOUNTMAX];
|
||
int nWorldDBCount;
|
||
|
||
int nAcceptPort;
|
||
|
||
TConnectionInfo LogInfo;
|
||
|
||
std::string szResourcePath; // resource path
|
||
std::string szResourceNation;
|
||
|
||
#if defined(_KR) || defined(_US)
|
||
TConnectionInfo CashInfo; // 캐쉬 서버 정보
|
||
int nServerNo; // 서버 번호
|
||
#elif defined(_KRAZ)
|
||
bool bTestServer;
|
||
#elif defined(_JP)
|
||
WCHAR wszServiceType[10]; // alpha, real
|
||
#elif defined(_TW) || defined(_TH)
|
||
TConnectionInfo QueryPointInfo; // 포인트 조회 서버 정보
|
||
TConnectionInfo ShopItemInfo; // 아이템 구매 서버 정보
|
||
#if defined(_TW)
|
||
TConnectionInfo CouponInfo; // 쿠폰 서버 정보
|
||
TConnectionInfo CouponRollBackInfo; // 쿠폰 롤백 서버 정보
|
||
int nProtocolType; // 프로토콜 타입 1:old, 2:new
|
||
#endif //#if defined(_TW)
|
||
#elif defined(_SG)
|
||
std::string CouponServerInfo;
|
||
std::string AuthToken;
|
||
#elif defined(_ID)
|
||
std::string QueryPointURL; // G-Cash 잔액 조회
|
||
std::string ItemShopURL; // 아이템 구매 URL
|
||
#endif // _KR
|
||
};
|