Reach: ta přímočará, s jednou výhradou
Ruka hráče dosáhne asi tři bloky. Zásah z větší dálky se nestal, ať drží cokoli. To je jedno porovnání a potřebuje jednu věc, kterou kontrola z útočícího klienta nedostane: kde cíl doopravdy byl. To ví tok paketů, který posílá server — a proto detekce soubojů potřebuje proxy čtoucí oba směry, ne jen stranu klienta.
Výhradou je latence. Hráč s pomalým připojením opravdu švihá tam, kde cíl býval, protože jinou pozici jeho klient nedostal. Měření je poctivé — vzdálenost je skutečně příliš velká — ale hráč nepodvádí. Tolerance tedy musí být velkorysá a musí růst s dobou odezvy session. Těsná reach kontrola je kontrola trestající vzdálenost od serveru, což hráči nespraví a nevybrali si to.
Je tu druhá past, která s cheatováním nesouvisí vůbec. Aby proxy věděla, kde cíl byl, musí parsovat pakety o pohybu entit — a jejich rozložení polí se mezi verzemi hry mění. Špatně rozparsované rozložení dá pozici, která je tiše špatná, a špatná pozice je reach flag proti nevinnému hráči. Správné řešení je, aby byl každý dekodér délkově přesný: musí spotřebovat právě tolik bajtů, kolik paket deklaroval, jinak se entita zahodí a kontrola prostě nemá názor. Degradovat na „žádnou pozici" je bezpečné. Degradovat na „věrohodně vypadající špatnou pozici" ne.
Killaura: podpisem je sekání kolem sebe
Killaura je modul, který útočí na to, co je poblíž. Viditelný ho nedělá jednotlivý zásah — každý může být naprosto legální — ale množina věcí, do kterých se seká.
Člověk bijící se s davem trefí za okamžik dvě tři entity, protože ruka a kamera se dají namířit jen na omezený počet věcí. Modul seká kolem sebe. Dávka útoků proti mnoha různým entitám v krátkém okně je podpis, který nic jiného nevyrobí — a je to to, co odlišuje killauru od někoho, kdo je prostě lepší než ten, kdo ho nahlásil.
Killaura na jeden cíl: prozradí ji kamera
Podpis sekání kolem sebe nezabere, když je modul zaměřený na jednoho soupeře, což je běžné nastavení v duelu. Kontrola, která chytá tenhle případ, je o kameře.
Skutečný útok začíná kliknutím na hitbox. Hráč se na to, co trefil, díval — fyzicky tak ten klik vznikl. Killaura pošle útočný paket bez pohnutí pohledem, protože nemuset mířit je celá její funkce. Cíl tak leží výrazně mimo směr, kam ukazuje zaměřovač, a ten nesoulad se dá změřit.
Tolerancí musí být vlastní úhlová velikost cíle — velký mob zblízka zabírá mnohem víc obrazovky než hráč z dálky — plus široká rezerva. A obviňovat musí až série minutí, nikdy jedno: zásah do cíle, který se pohnul mezi napsáním paketu a přečtením jeho pozice, je obyčejný lag a stává se to každému.
Aim: co se ověřit dá a co ne
Na toku natočení stojí za to mít dvě pravidla.
Nemožný sklon nepotřebuje okno. Žádný klient se nepodívá výš než přímo nahoru nebo níž než přímo dolů. Jediný paket mimo ten rozsah je sám o sobě průkazný.
Snap je velký skok, po kterém okamžitě následuje téměř nehybnost — přesně tak vypadá zamknutí se na cíl. Jeden je náhoda, protože hráči se na věci otáčejí neustále. Obviňuje až jejich série.
Stejně cenné je vědět, co nefunguje, protože jde o nejčastěji navrhovanou kontrolu aimbotů a je špatná. Myšlenka: skutečná myš hlásí celé jednotky škálované konstantou citlivosti, takže poctivé rozdíly natočení by měly sdílet společného dělitele, zatímco úhel spočítaný z pozice cíle ne. V praxi je krok natočení v Minecraftu kubickou funkcí nastavení citlivosti a na úhlový kvantum protokolu padne čistě v podstatě u jediné hodnoty a u žádné jiné. U všech ostatních nastavení se největší společný dělitel sesype na samotné kvantum a pravidlo označí skoro každého poctivého hráče. Je to dobrá připomínka, že elegantní statistický test nemá cenu, dokud neproběhl proti skutečným klientům se skutečným nastavením.
Autoclickery: pravidelnost, ne rychlost
Zjevná kontrola autoclickerů je rychlost klikání, kterou ruka neudrží, a stojí za to ji mít — ale je slabší z těch dvou pravidel, protože vážný nástroj si rychlost zastropuje pod cokoli zjevně nemožného.
Silnějším pravidlem je rozptyl intervalů. Klikání člověka kolísá, protože ruka není hodinový strojek. Intervaly autoclickeru jsou z konstrukce téměř identické a žádné stropování rychlosti na tom nic nezmění. Přidat náhodnost jde, ale je to věc, kterou levné nástroje nedělají, a věc, která nástroj měřitelně zhorší v tom, kvůli čemu byl pořízen.
Obě pravidla potřebují dost vzorků, aby něco znamenala — proto se verdikt musí zadržet, dokud okno není opravdu plné. Označit někoho za autoclicker po čtyřech kliknutích je způsob, jak vyhodit poctivého hráče uprostřed souboje.
Velocity: zásah, po kterém se nic nestalo
Když je hráč zasažen, server mu pošle rychlost a vanilla klient ji aplikuje — to je knockback. Velocity modul si z ní nechá jen zlomek, obvykle nic, což dělá hráče nekombovatelným a je to jeden z nejotravnějších cheatů, proti kterým se dá hrát.
Jeden ignorovaný knockback nedokazuje nic. Hráč přitlačený ke zdi nebo už mířící do rány se legitimně nikam nepohne. Každý naměřený knockback se proto boduje a obvinění přijde, teprve když několik po sobě skončilo bez pohybu. Je to nejjasnější příklad v celém anticheatu, proč jsou série lepší než události.
Proč to potřebuje proxy čtoucí oba směry
Každá kontrola na téhle stránce potřebuje něco, co útočící klient nikdy neposílá: kde byly ostatní entity a jakou rychlost server aplikoval. Ta informace je v toku od serveru ke klientovi. Plugin ji samozřejmě má — ale plugin taky spotřebovává tick budget serveru na to všechno spočítat a sedí na stroji, který se útok snaží přetížit.
Čtení obou směrů na proxy dá stejnou informaci bez utrácení ticků serveru a bez čehokoli na stroji hráče, do čeho by cheat klient mohl zasáhnout. Kompromis je poctivý a stojí za zopakování: aby proxy četla pakety místo přeposílání bajtů, musí mluvit přesnou verzí protokolu daného klienta a musí odmítnout hádat, když ji nezná. Celkový obrázek dává Co je Minecraft anticheat?, pohybovou stranu pak Fly, speed a timer hacky.