← All anticheat guides

Minecraft anticheat guide

PacketEvents Anticheat Architecture for Minecraft Servers

Why packet-level player action tracking matters for reach, hitbox, scaffold, fastbreak, inventory, and combat detections on modern Minecraft servers.

Packets expose timing that Bukkit events hide

Bukkit events are useful, but many cheat signals live before or between high-level events. Packet order, swing timing, movement packets, block placement packets, digging packets, slot changes, inventory clicks, and entity interactions create a more precise timeline than post-processed server events alone.

FairPlay requires PacketEvents because packet-level input is central to combat checks, scaffold checks, hitbox and reach validation, fastbreak timing, inventory movement checks, AutoTotem tracking, and hook-aware mitigation.

Packet checks should not mutate the world directly

The safe model is decode packets, update player state, run math, cancel illegal packets, and schedule any Bukkit entity or world mutation on the correct server ownership context. That matters for Folia, Paper, and legacy compatibility.

FairPlay's public positioning is intentionally strict: packet handling gives visibility; mitigation and server-side actions stay controlled and configurable.

Practical cheat families improved by packets

Reach and hitbox checks need exact attack timing and rotation state. Scaffold checks need right-click and block-placement sequence data. FastBreak checks need START, CANCEL, and FINISH digging order. AutoClicker checks need interval windows. Inventory checks need movement plus inventory click timing.

For server owners searching for a PacketEvents anticheat, the core decision is not whether packets are used, but whether packet data becomes staff-readable proof and configurable enforcement. FairPlay is built around that requirement.

FAQ

Does FairPlay require PacketEvents?

Yes. PacketEvents is required because FairPlay's packet tracking is part of the detection design.

Does packet-based mean unsafe?

No. Packet-based detection is safe when packet listeners avoid direct world/entity mutation and route enforcement through the correct scheduler or server context.

Related sources and official pages