Minecraft anticheat guide
Purpur and Folia Anticheat Planning for Server Owners
What to check before running anticheat logic on Purpur or Folia-style threaded Minecraft servers.
Purpur and Folia change different risks
Purpur is still a single-threaded Bukkit-style server with extra configuration, so its anticheat risk is mostly about altered game behavior rather than thread ownership. Folia-style threaded servers change the ownership rule itself: entity work, region work, global work, and file or network work each belong to a different context.
An admin planning for both should therefore ask two separate questions. On Purpur the question is whether tuned gameplay settings shift what normal movement and combat look like. On Folia the question is whether every detection write and every enforcement action runs on its owning context.
A Purpur-versus-Folia risk matrix
Use the matrix below to plan checks for your Purpur or Folia server. Each row names a risk area, what changes between platforms, and the server workflow to test before deployment.
| Risk area | Purpur | Folia-style threading |
|---|---|---|
| Detection threading | Packet callbacks behave as on Paper; verify against your build | Decode on packets, mutate only on the owning scheduler context |
| Gameplay tuning | Purpur settings can shift normal behavior; re-baseline alerts | Same concern where gameplay is tuned; verify separately |
| Enforcement actions | Standard command and mitigation paths; verify on your stack | Punishment commands and teleports must resolve to the correct owner |
| External hooks | Hook events arrive on plugin threads; verify ordering | Same, plus confirm enforcement ownership before enabling triggers |
Testing stays with the admin
Record the exact server software and build, the PacketEvents release, the FairPlay artifact, and every hook plugin version before drawing conclusions. Start with alerts and debug review, then enable mitigation and punishment tiers only after the checks match the live environment.
Keep a decision log per check family: observed alert volume, investigated samples, tuning changes, and the staff member who approved enforcement. No descriptor flag or architecture page replaces that log.
FAQ
What should I test on Folia?
Test plugin loading, combat checks, staff commands, integrations, and punishment workflows with the exact Folia build and dependencies you plan to use.
What should I test on Purpur or Folia?
Test plugin loading, combat checks, staff commands, hooks, and punishment workflows on the exact server build you plan to operate.