Retix › How Retix detects cheating
How Retix detects cheating
The thresholds are published, not hidden. A ceiling that only works while it is secret is a ceiling that punishes honest players the moment it drifts out of step with the rules, so here are all of them.
The part that is not a heuristic
Most of the work is not detection at all. The server runs the authoritative simulation. It owns positions, health, magazines, weapon stats and every hit resolution, and your browser only ever sends intent: which direction you are holding, where you are aiming, whether the trigger is down. No message a client can send says it dealt damage, and no field lets it name its own weapon stats.
Weapon stats reach a match through a one-time ticket the economy server writes before you connect, with a thirty-second lifetime. The game server reads the ticket at authentication and uses only what is in it. A client that claims better stats is not disbelieved; it is never asked.
So the detectors below exist for a narrow class of problem. Not "can a client lie about damage", since it cannot, but "is this player physically doing something the rules do not allow".
Input is rate-limited before it is examined
Two guards run before any heuristic sees a packet. Every input frame is structurally validated, so angles outside ±4π and unknown button bits are rejected outright, and at most three inputs are accepted per simulation tick. A client that queues more than two frames of backlog has the excess dropped instead of replayed.
That combination makes a naive speed hack pointless. Sending input twice as fast does not make you move twice as fast.
It makes half your input land in a bin.
The ceilings
| What is measured | Threshold | What it catches |
|---|---|---|
| Movement speed | 115% of the maximum the rules allow | Speed hacks |
| Displacement in one step | 3× the maximum a legal step can cover | Teleports |
| Time between shots | 15 ms under the weapon's fire interval | Rapid fire |
| Reload completion | 50 ms under the weapon's reload time | Instant reload |
| Accuracy | Over 95%, measured after at least 50 shots | Aimbots |
| Headshot share | Over 90% of hits in a 60-second window, minimum 20 hits | Head-locking aimbots |
| Aim snap | 6 snaps of 1.2 rad or more, each followed by a hit within 120 ms, inside 60 seconds | Snap aimbots |
| Input flood | More than 30 consecutive over-cap ticks, streak broken by a 100 ms gap | Input spam |
| Kills per second | More than 1 per second of match time | Impossible scoreboards |
| Active time | More than 120% of the match duration | Forged results |
Why the numbers are not tighter
Every threshold above has a tolerance built into it, and the tolerance is there to measure noise, not to grant slack. Fifteen milliseconds on fire cadence is a network jitter allowance and not a free extra shot. Fifteen percent on speed absorbs the difference between the client's predicted position and the server's authoritative one on a bad connection.
The displacement ceiling is the loosest of the set at three times a legal step, because a legal step is not the only legal displacement. A dash, a knockback and an explosion all move you further than walking does, and a tighter number would flag a Scout using its second dash charge.
The accuracy detector needs fifty shots before it says anything, and the headshot detector needs twenty hits. A hot streak over five shots is a hot streak; over fifty it is a program.
Sample sizes are the difference between a detector and a superstition.
Why aim snap is measured the way it is
Turning quickly is not cheating. Everyone does it.
What is measured is a turn of 1.2 radians or more immediately followed by a hit inside 120 milliseconds, which is the shape of an aimbot acquiring a target instead of a player finding one. One of those is a lucky flick. Six inside a minute is a program.
Ammunition is watched in three separate places
The magazine is the part of the game with the most ways to cheat, so it carries three detectors. A reload that completes early is caught by the 50-millisecond tolerance. A magazine that refills without a reload having been started is caught separately. And a refill arriving from a source the server did not grant, meaning an ammunition pickup that was never picked up, is caught by a third.
They exist as three because they fail differently. Collapsing them into one "my magazine is fuller than it should be" check would catch all three, and would also catch every legitimate ammunition box on every arena map.
Every new mechanic has to tell the detectors about it
Of everything on this page, this section matters most to the people playing honestly, not to the people cheating. A server-granted advantage the ceiling has not been told about is, from the ceiling's point of view, identical to a cheat. Add a speed buff and forget the speed ceiling, and the ceiling starts flagging the players who used the feature as intended.
Widening the tolerance until the new mechanic fits underneath it is the wrong fix. A tolerance stretched to cover a game mechanic is no longer measuring network noise; it is a hole with a cheat-shaped gap in it. The right fix raises the ceiling to whatever the rules now permit and leaves the tolerance where it was.
Which is also why the thresholds on this page are treated as part of the gameplay rules and not as a security layer bolted on afterwards. Change how a player moves, shoots, reloads or acquires a weapon, and the matching detector changes in the same breath.
The melee exception
Bare-handed melee is kept out of the accuracy and headshot detectors entirely, and carries one ceiling of its own: its cooldown.
A punch only resolves when it has already connected. Counting swings as shots and landings as hits would report a permanent 100% accuracy for everybody who ever used their fists, and since a fist has no head band it would produce a 0% headshot share alongside it. The correct fix leaves melee out of both. Widening the accuracy ceiling until fists fit under it would let a real aimbot in through the same door.
What a flag costs
A single flagged match is not a ban. Two are: two flagged matches produce a seven-day suspension, and there is no appeal path built into the system.
Which is the whole reason the thresholds are published and the reason every one of them ships with a test that fails without it. A detector cannot be verified by playing the game. A false positive is invisible to everybody except the person who lost an account to it. If a gameplay rule changes and its matching ceiling does not, the ceiling now describes a game nobody is playing, and it starts firing on honest play.
Anti-cheat flags never touch the reward arithmetic. Gold is computed from raw stats regardless, and what a flagged result costs is decided separately, which keeps the scoring rules and the enforcement rules from quietly becoming each other.
What this does not claim
None of this stops somebody from being better than you. The detectors bound what is physically possible, not what is skilful, and the accuracy ceiling sits at 95% because a very good player with a Railgun on a long sightline can genuinely spend a match near it.