Minecraft anticheat guide

Minecraft Anticheat Terms Glossary for Server Admins

Plain definitions of core Minecraft anticheat terms, including check, violation level, alert, mitigation, and ban wave, with the log and config names.

What do the core Minecraft anticheat terms mean?

Core anticheat terms describe how a detection is recorded, shown to staff, and acted on. A check is one detection rule, a violation is one failed check, and a punishment is the action taken once violations build up. The table defines each term in one or two sentences and names where it appears in FairPlay files or alerts.

Core anticheat terms, plain definitions, and where to find them.
TermPlain definitionWhat you will see in logs or config
CheckOne detection rule that looks for a specific pattern. FairPlay documents 169 checks, grouped by category.A check name in the alert text, which you can look up in the checks reference.
Violation (VL)One recorded failure of a check. Violation level is the running count for one player and one check.A VL value in staff alerts and in the threshold settings of webhook.yml.
Violation expiration windowThe time after which an old violation stops counting toward a player's level. The documented default is 10,000 ms.A millisecond window value in punishments.yml.
AlertA message sent to online staff who have the notify permission when a check fails.A staff message that names the player and the check.
Alert cooldownThe minimum delay before staff see another alert for the same player and check. The default is 1,000 ms. Violations still count while alerts are suppressed.alert-cooldown-ms, set in milliseconds.
Target filterA per-viewer setting that hides alerts for chosen players, so one staff member can focus on others.The alertsTarget value saved for a staff viewer.
MitigationAn action FairPlay can take on a failed check to limit its effect. Mitigations are set per check.Per-check groups in mitigations.yml.
PunishmentAn action taken after violations, such as a kick or a ban, defined as tiers.Action and tier entries in punishments.yml.
Ban waveA queued batch of ban actions that staff run with a command. Scheduling is off by default, and the queue holds up to 5,000 players.The schedule and queue values in banwave.yml, and the /fp banwave run command.
False positiveAn alert against a player who did not break a rule. FairPlay's docs do not publish a rate, so measure it yourself.Found through staff review and appeals. It is not a single log value.

How do you read these terms in a real alert?

Start with one alert line from your own server and trace each part back to a term. The line below uses an illustrative format only. Copy the text your server actually prints, because wording varies by version.

Illustrative alert line. Replace it with a line from your own console or staff chat.
[FairPlay] PlayerName failed <check name> (VL 4)

Which terms are easy to mix up?

Several terms in this glossary sound alike but control different parts of the system. Use the table to decide which setting you are changing before you edit a file.

Commonly confused anticheat term pairs.
PairThe differenceWhere to check
Violation vs alertA violation is recorded on each failure. An alert is only the staff message, and the cooldown can suppress it.The VL in the alert text versus the message itself.
Alert cooldown vs expiration windowThe cooldown limits how often staff see messages. The expiration window decides when old violations stop counting.alert-cooldown-ms and the expiration window in punishments.yml.
Mitigation vs punishmentA mitigation is set per check and limits that check's effect. A punishment is a tiered action taken after violations.Per-check groups in mitigations.yml versus tiers in punishments.yml.
Kick or ban gate vs punishment tierA gate is an on or off switch with its own allowlist. A tier picks the action for a given level.Gate settings in mitigations.yml versus tier entries in punishments.yml.
Ban wave vs single banA ban wave is a queued batch run by a command. A single ban acts on one player when a tier reaches that action.banwave.yml and the /fp banwave run command versus punishment tiers.
Check vs cheat nameA check is a FairPlay detection rule. A cheat name describes what a client does, and one name can relate to several checks.The checks reference versus the cheat glossary.

How should you use this glossary?

Use the table as a lookup, then confirm each value in the generated file. Cheat names such as KillAura are covered in the cheat glossary.

What we have not verified

This glossary does not state detection rates, false positive rates, or performance numbers for any term. Test each setting on a staging server before you rely on it in production.

FAQ

Is a violation the same as a ban?

No. A violation is one recorded failure of a check. Kicks or bans follow only when your punishment tiers and enabled gates say so.

Why does one alert appear when a player fails many times?

The alert cooldown suppresses repeat staff messages for the same player and check. Violations still count on every failure, so check the level first.

Does FairPlay publish a false positive rate?

No. The documentation does not publish one. Measure false positives with your own staging tests and appeal records.

What does a ban wave do on my server?

It runs a queued batch of ban actions. Staff need the fairplay.command.banwave permission, scheduling is off by default, and the queue is capped at 5,000 players.

Why does a violation level drop without any punishment?

Old violations expire after the configured window, which defaults to 10,000 ms. Check the window in punishments.yml on your server, since an old count can fall out of the total without any staff action.

Related sources and official pages

Browse all anticheat guides