- Mesaj
- 1.025
- Çözümler
- 35
- Beğeni
- 1.077
- Puan
- 1.339
- Ticaret Puanı
- 0
Pek çok sitede paylaşılmış olsa da hepsi mainline için. Novaline'da fazla / eksik kodlar olabiliyor. Kendim sıfırdan altyapı hazırlarken bu kodları kaldıracağım ve kaldırırken de Novaline için bu kılavuzu yazacağım. O yüzden konuyu takip ederseniz zamanla yeni kod kaldırma kılavuzları eklediğimi görebilirsiniz. Kılavuz bittiğinde altyapınızı pek çok ölü kod ve sistemden arındırabilirsiniz. Başlayalım...
(!!) = novaline'da bu dosya/kod yok ama yine de emin olmak için aratın
1- Limit_time + Libserverkey: Ymir'in server lisans kontrolü.
Server/db/src
Server/db/src/clientmanagerlogin.cpp içinde
Server/game/src klasöründen check_server.cpp(!!) + check_server.h + limit_time.h + update_limit_time.py silin.
Server/Makefile içinde
Server/game/src/Makefile içinde
Server/game/src/desc.cpp içinde
Server/game/src/config.cpp içinde
Server/game/src/input.cpp içinde
Server/game/src/input_auth.cpp içinde
Server/game/src/main.cpp içinde
Ve son olarak Server ana dizininden "libserverkey" klasörünü tamamen silebilirsiniz.
(!!) = novaline'da bu dosya/kod yok ama yine de emin olmak için aratın
1- Limit_time + Libserverkey: Ymir'in server lisans kontrolü.
Server/db/src
Server/db/src/clientmanagerlogin.cpp içinde
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
static int s_updateCount = 0;
static int s_curTime = time(0);
if (s_updateCount > 100)
{
s_curTime = time(0);
s_updateCount = 0;
}
++s_updateCount;
if (s_curTime >= GLOBAL_LIMIT_TIME)
{
sys_err("Server life time expired.");
exit(0);
return;
}
#endif
Server/game/src klasöründen check_server.cpp(!!) + check_server.h + limit_time.h + update_limit_time.py silin.
Server/Makefile içinde
aratın ve silin:
$(MAKE) -C $@/src limit_time
aratın ve silin:
$(MAKE) -C game/src limit_time
aratın ve silin:
libserverkey
aratın ve silin:
libserverkey: .
@touch $@/Depend
$(MAKE) -C $@ dep
$(MAKE) -C $@ clean
$(MAKE) -C $@
aratın ve silin:
libserverkey: .
@touch $@/Depend
$(MAKE) -C $@ dep
$(MAKE) -C $@ clean
$(MAKE) -C $@
aratın ve silin:
$(MAKE) -C libserverkey clean
Server/game/src/Makefile içinde
aratın ve silin:
limit_time:
@echo update limit time
@python update_limit_time.py
aratın ve silin:
INCDIR += -I../../libserverkey
aratın ve silin:
-L../../libserverkey
aratın ve silin:
-lserverkey
aratın ve silin(!!):
check_server.cpp
Server/game/src/desc.cpp içinde
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
{
sys_err("Server life time expired.");
extern void ClearAdminPages();
ClearAdminPages();
exit(1);
}
#endif
Server/game/src/config.cpp içinde
aratın ve silin:
#include "check_server.h"
aratın ve silin:
TOKEN("server_key")
{
CCheckServer::Instance().AddServerKey(value_string);
continue;
}
Server/game/src/input.cpp içinde
aratın ve silin:
#include "check_server.h"
aratın ve silin:
#ifndef __WIN32__
#include "limit_time.h"
#endif
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
//if (!CCheckServer::Instance().IsValid())
//{
// ClearAdminPages();
// return;
//}
#endif
aratın ve silin(!!):
extern bool Metin2Server_IsInvalid();
aratın ve silin(!!):
if (Metin2Server_IsInvalid())
{
extern bool g_bShutdown;
g_bShutdown = true;
ClearAdminPages();
}
Server/game/src/input_auth.cpp içinde
aratın ve silin:
#include "check_server.h"
aratın ve silin:
#ifndef __WIN32__
#include "limit_time.h"
#endif
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
//if (!CCheckServer::Instance().IsValid())
//{
// extern void ClearAdminPages();
// ClearAdminPages();
// exit(1);
// return;
//}
#endif
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
//if (!CCheckServer::Instance().IsValid())
//{
// extern void ClearAdminPages();
// ClearAdminPages();
// exit(1);
// return;
//}
#endif
aratın ve silin(!!):
Metin2Server_IsInvalid();
extern bool Metin2Server_IsInvalid();
aratın ve silin(!!):
if (Metin2Server_IsInvalid())
{
extern void ClearAdminPages();
ClearAdminPages();
exit(1);
return;
}
Server/game/src/main.cpp içinde
aratın ve silin:
#ifndef __WIN32__
#include "limit_time.h"
#endif
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
{
sys_err("Server life time expired.");
g_bShutdown = true;
}
#endif
aratın ve silin:
#ifdef ENABLE_LIMIT_TIME
if ((unsigned)get_global_time() >= GLOBAL_LIMIT_TIME)
{
sys_err("Server life time expired.");
return 0;
}
#endif
aratın ve silin:
//// 윈도우에서 테스트할 때는 항상 서버키 체크
//#ifdef _WIN32
#define _USE_SERVER_KEY_
//#endif
#include "check_server.h"
aratın ve silin:
CCheckServer checkServer;
aratın ve silin(!!):
Metin2Server_IsInvalid
static bool g_isInvalidServer = false;
aratın ve silin(!!):
bool Metin2Server_IsInvalid()
{
return g_isInvalidServer;
}
aratın ve silin:
//void Metin2Server_Check()
//{
// 더 이상 사용안하는 서버 유효 체크 by chrislee
//
// if (LC_IsEurope() || test_server)
// return;
// static const size_t CheckServerListSize = 1;
// static const char* CheckServerList[] = { "202.31.178.251"};
// static const int CheckServerPort = 7120;
//
// socket_t sockConnector = INVALID_SOCKET;
//
// for (size_t i = 0 ; i < CheckServerListSize ; i++)
// {
// sockConnector = socket_connect( CheckServerList[i], CheckServerPort );
//
// if (0 < sockConnector)
// break;
// }
//
// if (0 > sockConnector)
// {
// if (true != LC_IsEurope()) // 유럽은 접속을 하지 못하면 인증된 것으로 간주
// g_isInvalidServer = true;
//
// return;
// }
//
// char buf[256] = { 0, };
//
// socket_read(sockConnector, buf, sizeof(buf) - 1);
//
// sys_log(0, "recv[%s]", buf);
//
// if (strncmp(buf, "OK", 2) == 0)
// g_isInvalidServer = false;
// else if (strncmp(buf, "CK", 2) == 0)
// g_isInvalidServer = true;
//
// socket_close(sockConnector);
//}
aratın ve silin:
if (!CCheckServer::Instance().CheckIP(g_szPublicIP)) {
char pszRevision[128] = "I don't care";
#ifdef _WIN32
fprintf(stderr, "[main] Check IP failed\n");
#else
strncpy (pszRevision, __SVN_VERSION__, sizeof(pszRevision));
#endif
LogManager::Instance().InvalidServerLog(LC_GetLocalType(), g_szPublicIP, pszRevision);
}
aratın ve silin(!!):
Metin2Server_Check();
Ve son olarak Server ana dizininden "libserverkey" klasörünü tamamen silebilirsiniz.
Son düzenleme: