Skip to content
Behind the scenes

Behind the scenes: our predictive anticheat

Simulating client physics instead of guessing: how we cut false positives fifteenfold.

joueur-1800bd0dOwner

1 min read

Our in-house anticheat evolved a lot this summer. Here is how it works, without revealing anything that would help bypass it.

Why a predictive anticheat

Classic anticheats compare movement against fixed thresholds. Careful cheaters slip through, and players with a bad connection get flagged.

Simulate rather than guess

On every move, the server simulates the client's physics: gravity, friction, potion effects, blocks crossed. It then compares the reported position with the computed one.

gap = |reported position − simulated position|
alert if gap > tolerance(latency, effects)

Accounting for latency

Tolerance widens with the player's measured latency, so an unstable connection alone no longer raises an alert.

What moderators see

Alerts show up on the website, grouped by player, with a confidence score. No automatic sanction: a moderator always looks before acting.

Numbers

  • 94% fewer false positives than the previous system;
  • 3 times more movement cheats detected;
  • under 0.2 ms of computation per player per tick.

Reactions to this article

Back to news