Geyser is a translation layer that lets Minecraft Bedrock players join a Java server. This guide covers how it works and, just as important, what it does and does not give you.
The single most important thing to understand: a Geyser server is a Java server underneath. Geyser sits in the middle and translates Bedrock's network language into Java's so a Bedrock client can connect. It does not turn your server into a Bedrock server. Everything that actually runs on the box is Java. Keep that in mind and most of the "why doesn't X work" questions answer themselves.
How Geyser works
When a Bedrock player connects, Geyser translates their packets (the little chunks of data a game client and server send back and forth) into the Java equivalent, then translates the Java server's replies back into Bedrock. The server thinks it is talking to a Java player. The Bedrock player thinks they are on a Bedrock server. Geyser is the interpreter standing between them.
Because the server logic is 100 percent Java, the game rules, world, plugins and datapacks are all the Java ones. There is no Bedrock game engine running anywhere.
What crossplay DOES give you
- Bedrock players (phone, console, Windows 10/11 edition, tablet) can join and play on your Java server.
- They see the same world, the same builds and the same other players as everyone on Java.
- Java plugins and datapacks that change the actual game apply to Bedrock players too, because that behaviour runs on the server and Geyser just shows the result.
- Pair it with Floodgate (a companion to Geyser) so Bedrock players do not need a Java account to join. If Floodgate is not already installed, add it the same way you added Geyser, as a plugin in the plugins folder.
What crossplay does NOT give you
This is where people get caught out. None of the following work, and no setting flips them on, because they are Bedrock-engine features and your server is Java:
- Bedrock behavior packs and addons will not work. Behavior packs are Bedrock's way of adding custom mobs, items and mechanics. They run inside a Bedrock server. Yours is not one, so they do nothing here. If you want custom behaviour that everyone sees, it has to be a Java plugin or datapack (see below).
- Bedrock resource packs are visual only, and go in a specific place. You can drop a Bedrock resource pack in Geyser's packs folder and Bedrock players will see those textures, models and sounds. That is purely how things look, not how they behave. It changes nothing about the game itself.
- Java-only mods do not reach Bedrock players. Something like Simple Voice Chat is a Java client mod. A Bedrock player is running the normal Bedrock app with no mod support, so features like that simply are not there for them. Nothing crashes, they just will not have it.
- Anything you want everyone to see must run on the server. If a feature only exists on one side's client, the other side cannot see it. The reliable path is to make it a Java plugin or datapack, because the Java server is the one thing both Java and Bedrock players are genuinely connected to.
A simple rule: if the behaviour runs on the server (Java plugin or datapack), everyone gets it. If it only lives on a client (a Bedrock addon or a Java mod), the other side does not.
Setting up custom looks for Bedrock players
If you want to give Bedrock players custom textures through Geyser:
- Open the panel and go to the Files tab.
- Find your Geyser config folder and open the packs folder inside it. On a Spigot or Paper server that is usually plugins/Geyser-Spigot/packs.
- Upload your Bedrock resource pack (usually a .mcpack or .zip) into that folder.
- Go to the Console tab and restart the server so Geyser picks it up.
- Join on Bedrock and accept the pack when prompted.
Remember, this only changes what Bedrock players see. It does not add items, mobs or mechanics.
Troubleshooting
Bedrock players cannot connect. Bedrock connects on a different port to Java. Check the port shown at the top of your server view in the panel and make sure Bedrock players are using that exact port, not the default 19132. If it still fails, confirm Geyser is actually running by checking the Console tab for Geyser startup messages.
My Bedrock addon does nothing. That is expected. Addons and behavior packs are Bedrock-engine features and your server is Java. Rebuild the feature as a Java plugin or datapack.
Bedrock players do not get the resource pack. Make sure the pack is in Geyser's packs folder and that you restarted the server. Some packs made for a newer or older Bedrock version will not load if they do not match the version your server is running.
Bedrock players are asked for a Java account. That usually means Floodgate is not set up. Floodgate is what lets Bedrock players join without a Java login. Install Floodgate as a plugin alongside Geyser, then restart the server.
Still stuck? Jump into our Discord at discord.gg/GuavaHost and the team will help you out.