Wie funktionieren Minecraft Anticheats. Bspw Intave, Watchdog oder AGC?
Ich habe mich mal gefragt wie Anticheats überhaupt funktionieren. Mit ein Paar kenne ich mich aus wie AAC aber das ist nicht der rede wert. Wie wird das berechnet (bzw detected) und wie Funktionieren die Bypasses oder Disabler?
2 Antworten
Detected wird das durch ganz einfache Java Codezeilen hier mal ein vereinfachtes Beispiel, wie eine (sehr) stark vereinfachte XRay Detection funktionier:
@EventHandler
Int timer = 0;
//Das ist ein Listener etwas das erkennt wenn was passiert
(In diesem Fall ein Block zerstören)
Public void onBlockBreakEvent(BlockBreakEvent e);
//Guckt was für ein Block abgebaut wurde
Block b = e.getBlock;
Material m = b.getType;
//Wenn ein Dia abgebaut wird setze die variable +1
if(m.equals(Material.Diamond_Ore)){
timer = timer +1
}
//Wenn mehr als 20 Dias begabut wurden kann man keine mehr abbauen
if(timer = 20){
//Macht Das die Abbau Aktion nicht ausgeführt wird
e.setCancelled(true);
}
}
Das erkennen wird also durch sogenannte Listeners durchgeführt.
AntiCheats überprüfen und interpretieren in der Regel die Verbindung zwischen Client und Server, mit dem Ziel, Fehlverhalten zu erkennen. Entweder baut man dafür viele einzelne Erkennungen, die kontextspezifisch Anomalien erkennen sollen (zB "Spieler ist schon 5 Sekunden in der Luft und bewegt sich immer noch nach oben --> Fly erkannt") oder man versucht 1-zu-1 nachzurechnen, was der Client gemacht hat und vergleicht das dann mit dem tatsächlich passierten.
In der Regel ist ersteres unwirksam und zweiteres kompliziert, was gute AntiCheats leider selten macht.
Ich hoffe das beantwortet deine Frage ausreichend