Minecraft anticheat guide
Fixing Anticheat Kicks for Bedrock Players on Geyser
Why anticheats kick Bedrock players on Geyser servers, how to confirm the flagged check, and how to set Floodgate-aware exemptions and updates safely.
Why do Bedrock players get kicked by an anticheat?
Bedrock players usually get kicked because a check written for Java clients misreads movement, mining, or input that Geyser translates into Java packets. Confirm which check fired, adjust that check for Bedrock players, and test the change on staging before production.
Geyser is the translation layer that lets Bedrock clients join a Java server. Floodgate identifies which connected players came from Bedrock, so other plugins can treat them differently. Per GrimAC docs, Geyser players are exempt. Other anticheats handle this differently, so read each vendor's documentation instead of assuming the same behavior.
How do I confirm which check caused the kick?
A kick from a network timeout or proxy disconnect looks different from a check kick. Compare the disconnect reason before you blame the anticheat. When the reason points to a check, follow these steps.
What evidence should I keep for a Bedrock kick?
Keep the alert timestamp and the player's recent actions together. A flag that fires after a menu interaction, a form, or a fast block placement reads differently from one that fires during a clean fight. Staff reviewing the case later need that context to decide whether the flag reflected a real violation.
Store the case with the check name, violation level, client platform, and the Geyser and Floodgate versions in use. Without those versions, a fix that works today may be impossible to explain after the next update.
What should I check in Geyser and Floodgate?
Run Geyser and Floodgate versions that match each other and your server software. Read the Geyser setup guide and the Floodgate wiki for the current settings. This article does not list their configuration keys, because those change between releases.
If you run a proxy with backends, keep the Geyser and Floodgate setup consistent across the proxy and each backend that accepts Bedrock players. A mismatch there can make one backend behave differently from the others.
How do I set a FairPlay Bedrock exemption?
The FairPlay configuration reference lists Bedrock eligibility as a policy area in config.yml and gives the example setting bedrockCheck=true. Back up the generated file, then change only the Bedrock eligibility option for the check you need to adjust.
Apply the change per check where you can. A broad exemption removes coverage for every Bedrock account, which is harder to justify in a staff review.
How do I exempt Bedrock accounts with LuckPerms?
Place Bedrock accounts in a dedicated group. How you assign them depends on your login setup. Many networks use a Floodgate-aware plugin or a naming rule. Then grant only the exemption node that your anticheat's permission reference lists for the check you are tuning.
/lp creategroup bedrock-players
/lp group bedrock-players permission set <exemption-node-from-permissions-docs> true
/lp user <bedrock-test-account> parent add bedrock-playersHow do I update Geyser, Floodgate, and the anticheat safely?
Update the three together in staging, then rerun your Bedrock test. Version skew between a Geyser release and an anticheat check is a common reason a fix stops working after an update.
Read the release notes for each plugin. Keep a copy of the previous jars and config files so you can roll back one layer at a time.
What have we not verified?
We have not tested any Geyser, Floodgate, or anticheat release combination, and this article makes no claim about accuracy or false-positive rates on Bedrock traffic. Your own staging run with Bedrock accounts is the evidence that counts.
Use the vendor docs for each anticheat. Where a vendor does not document Bedrock handling, test it before you open the server to Bedrock players.
FAQ
Does a Bedrock exemption turn off every check for that player?
Not by default. An exemption covers only the nodes or settings you grant. Test which checks still run for a Bedrock test account before you rely on the exemption.
Can I identify a Bedrock player from the kick message alone?
Usually not. A kick message names a reason, not the client platform. Confirm the platform through Floodgate or your join logs.
Why does a Bedrock kick happen on one server but not another?
Server software, Geyser and Floodgate versions, and enabled checks differ between servers. Compare those settings before you assume one install is broken.
Should I disable the anticheat for Bedrock players entirely?
Avoid that as a default. A full exemption removes combat coverage for that group. Scope the change to the check that misfires.