How to Let Bedrock Players Join Without a Java Account Using Floodgate
Why Floodgate Is Needed
By default, Geyser passes Bedrock players through Java authentication, which means they need a Java Edition account. Floodgate is a companion plugin that lets Bedrock players join using only their Bedrock/Xbox Live identity, so no Java account is required. Install Floodgate on the same server (or proxy) as Geyser.
Setting the Auth Type
In Geyser's config.yml, find the remote section and set auth-type to floodgate. This tells Geyser to trust Floodgate's authentication instead of Mojang's Java session servers. If you run Geyser and Floodgate behind a proxy like BungeeCord or Velocity, make sure Floodgate is installed on both the proxy and the backend servers so player data is recognized everywhere.
Username Prefixes and Permissions
Floodgate prefixes Bedrock usernames (commonly with a dot or a configurable prefix) so they don't collide with Java names. You can change this prefix in Floodgate's config. Many permission plugins need to recognize this prefix — check your permissions setup so Bedrock players get the right groups. After changing configs, restart the server. Bedrock players should now be able to join with just their Xbox Live login, and Java players continue to log in normally.