Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: Radox - 2021-04-15, 23:04:49

Cím: Gyakori hiba C++ avagy túl nagy támadó sebesség?
Írta: Radox - 2021-04-15, 23:04:49
Sziasztok volna egy olyan probléma, hogy ha a karakter túlgyorsan üti a mobot akkor automata le dobja loginba az mitől lehet? És mi erre az orvosság forrásban?
Cím: Re:Gyakori hiba C++ avagy túl nagy támadó sebesség?
Írta: TMP4 - 2021-04-16, 13:43:17
Emiatt van: input_main.cpp

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)
{
sys_log(0, "SPEEDHACK: slow timer name %s delta %d", ch->GetName(), iDelta);
ch->GetDesc()->DelayedDisconnect(3);
}
// 1ĂĘżˇ 20msec »ˇ¸® °ˇ´Â°Ĺ ±îÁö´Â ŔĚÇŘÇŃ´Ů.
else if (iDelta < -(iServerDelta / 50))
{
sys_log(0, "SPEEDHACK: DETECTED! %s (delta %d %d)", ch->GetName(), iDelta, iServerDelta);
ch->GetDesc()->DelayedDisconnect(3);
}
}

Vagy kikommentezed a ch->GetDesc()->DelayedDisconnect(3); (kétszer van) vagy az értékeket megpróbálod finomhangolni addig hogy ne érzékelje csalásnak. Syslogba látod az értékeket, helyettesítsd be így látod mennyivel nagyobb / kissebb a te értéked, ennek alapján kell a 30000-et vagy az 50-et növelni vagy csökkenteni. Csak ahhoz nyúlj hozzá amelyik syslogot kapod, a másikhoz ne ha nincs vele baja. Ha a kikommentezés mellett döntessz sem lesz semmi baj, úgy hogy ez a két sor benne van simán speedelnek a bobbal és lalakerrel ;)
Cím: Re:Gyakori hiba C++ avagy túl nagy támadó sebesség?
Írta: Radox - 2021-04-16, 15:18:52
Értem köszi :)