Crossplay is one of the best ways to grow a Minecraft server: a friend on a phone or a console can join the same world as everyone on PC. But if you run an anti-cheat, Bedrock players raise a question most server owners only notice after the first complaint: is the anti-cheat treating them fairly, or at all?
How Geyser works, briefly
Geyser sits between Bedrock players and your Java server and translates between the two versions of the game. Floodgate, its companion plugin, lets Bedrock players join without owning a Java account. By default, Floodgate gives Bedrock players' names a prefix (a dot, unless you've changed it), which makes them easy to spot in alerts and logs.
Why Bedrock players look different
From your server's point of view, a Bedrock player isn't just a Java player on a different device:
- Different input. Many Bedrock players use touch screens or controllers, which aim and move very differently from a mouse and keyboard. Checks built around mouse aim don't make sense for them.
- Different mechanics. Bedrock movement, combat and inventory rules don't match Java's exactly, and Geyser has to paper over the gaps.
- Translated actions. Some Bedrock actions arrive at the server as bursts of Java actions a Java player could never produce, such as moving a whole stack or crafting in bulk.
An anti-cheat that expects Java behaviour will read some of that as cheating.
What most anti-cheats do about it
Broadly, anti-cheats take one of three approaches to Bedrock players: ignore them entirely, check them with Bedrock-specific handling, or check them like Java players and produce false positives. GeyserMC keeps a public anticheat compatibility list that records which is which, based on testing. At the time of writing, several of the best-known anti-cheats are listed as not monitoring Bedrock players at all. Check the list's own "last checked" dates, because anti-cheats change.
Why ignoring Bedrock players is a gap
Exempting Bedrock players avoids false bans, which is the right call if the alternative is banning honest players. But it leaves a gap: Bedrock has its own cheat clients, and a cheater who knows your anti-cheat ignores Bedrock can simply join that way. On a server with lots of Bedrock players, that gap can be most of your player base.
What to check before you install
- Look the anti-cheat up on GeyserMC's compatibility list, and read its own documentation on Geyser support.
- Confirm it detects Floodgate players, and whether you can switch checks on or off per edition.
- Test with a real Bedrock player on a phone or console, not just a Java account. Have them build, fight, sprint, swim and use inventories for a while, and watch the alerts.
- Filter your alerts by the Bedrock prefix for the first week. If Bedrock players are flagged far more often than Java players, tune before you punish.
- Keep Geyser and Floodgate updated, and on versions that match your server. Many "anti-cheat problems" on crossplay servers are really version mismatches.
How Argus handles Bedrock players
Argus identifies Bedrock players who join through Geyser and Floodgate and judges them with the checks that don't depend on a mouse: click rate, attacks outside the player's view, speed, and flight. Checks that can't judge them fairly are switched off for them, and the in-game status command says why, so nothing is guessed at. Argus is in development and hasn't been tested with real players yet, so treat this as where we're headed rather than something to rely on today.