Direct answer

Floodgate allows Bedrock users connecting through Geyser to authenticate without purchasing Java Edition. It is not a replacement for Geyser; install it on the correct server or proxy for your network.

Recommended procedure

  1. Confirm Geyser is installed and working, then download the matching Floodgate build from GeyserMC.
  2. For a single Paper backend, install Floodgate there and set Geyser authentication to floodgate where applicable.
  3. For a Velocity or BungeeCord network, install Floodgate on the proxy; backend Floodgate is usually only needed for its API or extra skin support.
  4. If backend Floodgate is required, follow the official proxy forwarding instructions and securely copy key.pem only to authorized backend instances.
  5. Restart the relevant servers and proxy and test joining with a Bedrock account.

Why this matters

The Floodgate key is an authentication secret. Leaking key.pem, or exposing backends that trust proxy forwarding, can enable player impersonation. Do not include the key in public tickets or Git repositories.

Practical example: Example: when Floodgate runs at Velocity, a backend may not need its own Floodgate JAR unless a backend plugin requires the Floodgate API. In that special case the backend must trust the correct proxy and share the documented secret securely. Never publish key.pem; it is not a harmless generated configuration file.

How to verify the result

  • Verify a Bedrock-only account can connect via Geyser and receives the expected UUID/prefix.
  • Check that Java users still authenticate normally and have their original inventory and permissions.
  • Confirm the proxy/backend network firewall blocks unauthorized direct joins.

Version and compatibility notes

  • The exact auth-type setting location depends on whether Geyser is plugin, mod, proxy or standalone.
  • Do not disable authentication for the whole Java server simply to get Floodgate working.

Official references

These sources were checked for the current MSH revision. Version-sensitive details should always be confirmed against the project documentation for the release you run.

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000