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 measuredThresholdWhat it catches
Movement speed115% of the maximum the rules allowSpeed hacks
Displacement in one step3× the maximum a legal step can coverTeleports
Time between shots15 ms under the weapon's fire intervalRapid fire
Reload completion50 ms under the weapon's reload timeInstant reload
AccuracyOver 95%, measured after at least 50 shotsAimbots
Headshot shareOver 90% of hits in a 60-second window, minimum 20 hitsHead-locking aimbots
Aim snap6 snaps of 1.2 rad or more, each followed by a hit within 120 ms, inside 60 secondsSnap aimbots
Input floodMore than 30 consecutive over-cap ticks, streak broken by a 100 ms gapInput spam
Kills per secondMore than 1 per second of match timeImpossible scoreboards
Active timeMore than 120% of the match durationForged 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.