Direct answer

Install the build of Geyser that matches your deployment platform. Geyser bridges Bedrock players into a Java Edition server; Bedrock clients use UDP and cannot connect through the Java TCP port alone.

Recommended procedure

  1. Choose one deployment location: Paper/Spigot backend, supported mod loader, Velocity/Bungee proxy or standalone, according to Geyser’s setup selector.
  2. Download Geyser from the official project and place it in that platform’s appropriate plugins or mods directory.
  3. Restart once to generate configuration, then review the Bedrock UDP listening address/port (commonly 19132).
  4. Open and forward that UDP port at your host/provider firewall, router or tunnel; keep the Java backend protected.
  5. Configure authentication correctly; install Floodgate only when Bedrock accounts without Java authentication are intended.

Why this matters

The Java server and Geyser must agree on protocol support. Some setups require a Java protocol translation plugin when Geyser targets a newer protocol than the server accepts. Geyser does not magically supply client-side mods.

Practical example: Example: Bedrock users timing out while Java players join normally points first to Geyser’s UDP listener and firewall, not Paper’s TCP port. A Bedrock login error after successfully reaching Geyser instead suggests protocol/authentication/forwarding issues. Test those phases separately and avoid making a backend publicly reachable to test the bridge.

How to verify the result

  • Run geyser connectiontest <public-ip-or-domain> <udp-port> when available.
  • Join with a Bedrock client from outside the host network and verify movement, chat and player identity.
  • Confirm the Java Edition server remains reachable and no unexpected backend port became public.

Version and compatibility notes

  • A TCP-only port checker cannot prove a Bedrock UDP port is open.
  • Follow current Geyser release notes for supported game versions; they change frequently.

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