Minecraft anticheat guide
AutoClicker Reach Timing: Reading a Diagnostic Build
Per FairPlay engineering notes, the 4.0.7 AutoClicker reach timing check is diagnostic. Learn what its outcomes mean and why it is not for auto-punishment.
Short answer: what the reach timing build is
Per FairPlay engineering notes, the AutoClicker reach timing check is a diagnostic and experimental check in FairPlay 4.0.7. It reads outcomes that the existing reach checks already produced. It then looks at where an attack landed relative to a reach band, using compensated target geometry. The notes say a measurement near the edge of reach is not proof of a trigger bot. Use it to gather labeled evidence, not to punish players automatically.
What the check reads
The check does not run its own reach evaluation. It consumes the outcome of the reach checks. Per the notes, it now also sees reach results that used to be invisible: unknown results, and passes that other checks cancelled. A check-specific line appears when reach did not run at all.
Movement evidence is optional by default. Speed is sampled only when detection needs it or verbose debug is on. The notes describe the default path as adding no packet listener, world query, raytrace, or disk I/O. That is a design statement, not a benchmark.
What changed in 4.0.7
Reading the outcomes staff will see
Use this table to decide whether a diagnostic line is usable. Only some outcomes say anything about the player.
| Outcome in the log | What it means | What to do |
|---|---|---|
| Reach PASS or FAIL | The reach checks evaluated the attack | Read the band position before the timing result |
| Reach UNKNOWN | No definitive compensated measurement exists | Do not treat it as a flag |
| Reach NOT_EVALUATED | Reach did not run for this attack | Fix the runtime or prerequisite first. The timing result is not usable. |
| Speed shows NaN | No causal packet history was available | Read it as missing data, not a speed of zero |
| Gap shows -1 | First observed attack, or an unusable clock | Ignore the spacing value for that attack |
| Outside the band | The attack does not match the timing signature under review | Count it against the hypothesis |
| Movement missing or too slow | Movement evidence is absent or weak | Do not read the timing alone |
| Cooldown or duplicate tick | Suppression, not evidence | Leave it out of calibration |
Why this is not automatic enforcement
The notes call the single-attack signal extremely aggressive by design, and they say it may flag ordinary PvP. Legitimate players can hit close to reach limits. The accuracy of compensated target estimates and latency estimates also moves the value.
The notes advise against automatic killing or high-stakes punishment without labeled calibration. The automatic-kill option ships disabled. Settings in files generated by an older version are kept, so review them after an upgrade.
Treat each diagnostic line as one data point in a labeled set, not as a conclusion about a player.
Staging evaluation, step by step
What the notes do not verify
Per the 4.0.7 notes, a Java 8 compile and a 25-assertion smoke test of the pure detector logic passed. A Java 8 syntax parse of the changed files also passed, but that is not a type check. The full Maven build and JUnit execution were not verified, because Maven was absent and model-weight resources were missing from the snapshot. No Minecraft server was launched.
Treat the timing signal as unvalidated until your own labeled runs exist. Until the full build and tests run in your environment, the detector logic is evidence about the code path only, not about how your server behaves.
FAQ
Does this check ban players automatically?
Not in the design the notes describe. The check is diagnostic and experimental, and the automatic-kill option ships disabled. Any punishment policy should wait for labeled calibration on your own server.
Why do the speed fields show NaN?
NaN means no causal packet history was available for that attack. The notes say it is not a player speed of zero, so it counts neither for nor against the player.
Should debug stay on in production?
No. The notes call per-hit debug high volume and synchronous. Collect samples in a bounded window, then turn debug off and reload.
Could one attack show up twice in the reach logs?
Per the notes, reach FAIL dispatch is not duplicated. One attack should not produce two reach FAIL records, so count each attack once when you review logs.