What it does
BadPackets is the umbrella name for packets an honest client never sends: a head pitch beyond 90° up or down, a slot number outside the hotbar, a click on a window slot that doesn't exist, a player attacking themselves, infinite coordinates, two start-sprinting packets in a row with no stop between them.
Different things hide behind such packets: attempts to crash or freeze the server, dupe exploits, anticheat bypasses, sloppy cheat modules that fake the player's state. They hurt in different ways — from a dropping TPS to duped items that devalue the economy and the leaderboards.
How to spot it
- Kicks for invalid packets or packet-handling errors in the console, all from the same player
- The server stalls or TPS drops whenever a particular player is online
- A player flagged for strange packets suddenly has extra valuables — worth checking for a dupe
How it gets caught
The check compares every field of a packet with what the vanilla client can produce: angle and slot ranges, whether the slot exists in the open window, the attack target, the sequence of states — sprinting, sneaking, an open window. The client limits many of these fields itself, so going past the limit can't be explained by ping or the mouse.
Care is still needed: players join from different versions through ViaVersion, which translates packets, and mods sometimes send unusual but harmless data. So a rule has to know what's valid in each case, and punishment rests on accumulated evidence, not one odd packet.