Block a user
Metin2 Character Reset Issue
Hi, this is actually an expected behaviour of the source code: the in-memory data only gets periodically synced to the database. Resetting the containers triggers various shutdown signals…
[Docker] Many errors and warnings in the console
Hi, thanks for your interest in the project.
This is actually expected: some of these are genuine errors, some of these are just mishandled data processing tasks (e.g. stone.txt files are…
Metin2 Client – Crash Issue After Character Selection Without Loading Screen
Hi, is your PUBLIC_IP
variable in the .env
server deployment file set as the same IP address you're using in serverinfo.py
? This issue usually happens when the client cannot connect to the…
Used antialiasing filter, removed unused code
Used antialiasing filter, removed unused code
Players get disconnected due to speedhack detection not working correctly
Remove naive hack checks, fix quest error format string
Remove naive hack checks, fix quest error format string
Players get disconnected due to speedhack detection not working correctly
This stems from a naive speed-hack check:
src/game/src/input_main.cpp
Lines 1538 to 1564 in 5665bde225
// |
|
// 스피드핵(SPEEDHACK) Check |
|
// |
|
DWORD dwCurTime = get_dword_time(); |
|
// 시간을 Sync하고 7초 후 부터 검사한다. (20090702 이전엔 5초였음) |
|
bool CheckSpeedHack = (false == ch->GetDesc()->IsHandshaking() && dwCurTime - ch->GetDesc()->GetClientTime() > 7000); |
|
if (CheckSpeedHack) |
|
{ |
|
int iDelta = (int) (pinfo->dwTime - ch->GetDesc()->GetClientTime()); |
|
int iServerDelta = (int) (dwCurTime - ch->GetDesc()->GetClientTime()); |
|
iDelta = (int) (dwCurTime - pinfo->dwTime); |
|
// 시간이 늦게간다. 일단 로그만 해둔다. 진짜 이런 사람들이 많은지 체크해야함. TODO |
|
if (iDelta >= 30000) |
|
{ |
|
SPDLOG_WARN("SPEEDHACK: slow timer name {} delta {}", ch->GetName(), iDelta); |
|
ch->GetDesc()->DelayedDisconnect(3); |
|
} |
|
// 1초에 20msec 빨리 가는거 까지는 이해한다. |
|
else if (iDelta < -(iServerDelta / 50)) |
|
{ |
|
SPDLOG_WARN("SPEEDHACK: DETECTED! {} (delta {} {})", ch->GetName(), iDelta, iServerDelta); |
|
ch->GetDesc()->DelayedDisconnect(3); |
|
} |
|
} |
With a bit of…