DragonNest/Server/ServerCommon/DNActozShield.cpp

93 lines
2.6 KiB
C++
Raw Permalink Normal View History

#include "StdAfx.h"
#include "DNActozShield.h"
#include "../ServerCommon/KRAZ/SHIELD.h"
#include "Log.h"
#if defined(_LOGINSERVER)
extern TLoginConfig g_Config;
#endif
#if defined(_KRAZ)
#if defined(_DEBUG)
#pragma comment(lib, "../ServerCommon/KRAZ/Shield_x64_MTD.lib")
#else // #if defined(_DEBUG)
#pragma comment(lib, "../ServerCommon/KRAZ/Shield_x64_MT.lib")
#endif // #if defined(_DEBUG)
const int ActozGameCode = 31;
const int ActozRepeatTick = 60000 * 10;
CDNActozShield *g_pActozShield = NULL;
CDNActozShield::CDNActozShield(void)
{
m_dwReconnectTick = timeGetTime();
m_strReserved.clear();
std::string strTemp;
#if defined(_LOGINSERVER)
m_strReserved = FormatA("%d N:%d L:%s", _SERVER_TYPEID, g_Config.nNation, szLoginVersion);
#elif defined(_DBSERVER)
m_strReserved = FormatA("%d D:%s", _SERVER_TYPEID, szDBVersion);
#elif defined(_MASTERSERVER)
m_strReserved = FormatA("%d M:%s", _SERVER_TYPEID, szMasterVersion);
#elif defined(_VILLAGESERVER)
m_strReserved = FormatA("%d V:%s", _SERVER_TYPEID, szVillageVersion);
#elif defined(_GAMESERVER)
m_strReserved = FormatA("%d G:%s", _SERVER_TYPEID, szGameVersion);
#elif defined(_CASHSERVER)
m_strReserved = FormatA("%d C:%s", _SERVER_TYPEID, szCashVersion);
#elif defined(_LOGSERVER)
m_strReserved = FormatA("%d L:%s", _SERVER_TYPEID, szLogVersion);
#elif defined(_SERVICEMANAGER)
m_strReserved = FormatA("%d S:%s", _SERVER_TYPEID, szServiceManagerVersion);
#endif
strTemp = FormatA(" %d-%d-%d %d:%d R:%d S:%d (%s)",
g_nBuildTimeYear, g_nBuildTimeMonth, g_nBuildTimeDay, g_nBuildTimeHour, g_nBuildTimeMinute, g_nBuildResourceRevision, g_nBuildSourceRevision, g_szBuildString);
m_strReserved.append(strTemp.c_str());
}
CDNActozShield::~CDNActozShield(void)
{
}
bool CDNActozShield::Init()
{
if (Atz_Checker_V1()){
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_V1 OK!!\r\n");
}
else{
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_V1 Fail!!\r\n");
return false;
}
if (Atz_Checker_V2(ActozGameCode, (char*)m_strReserved.c_str()))
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_V2 OK!!\r\n");
else
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_V2 Fail!!\r\n");
CheckerResult();
return true;
}
void CDNActozShield::CheckerResult()
{
if (Atz_Checker_Result(ActozGameCode, (char*)m_strReserved.c_str()))
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_Result OK!!\r\n");
else
g_Log.Log(LogType::_FILELOG, L"ActozShield Atz_Checker_Result Fail!!\r\n");
}
void CDNActozShield::RepeatCheckerResult(DWORD dwCurTick)
{
if (m_dwReconnectTick + ActozRepeatTick < dwCurTick){
m_dwReconnectTick = dwCurTick;
CheckerResult();
}
}
#endif // #if defined(_KRAZ)