Crossplay is one of the best growth decisions a Minecraft server can make. It lets a player on a phone, console, or Windows Bedrock client join the exact same world as a Java player. The tool that makes this possible is GeyserMC, a proxy layer that translates the Bedrock protocol into Java. But there is a catch that surprises almost every owner: installing Geyser does not magically make every Java plugin Bedrock-friendly. Some plugins convert perfectly, some work with caveats, and some quietly break the moment a phone player joins.
This guide is written to help server owners, admins, and plugin developers choose plugins that actually work across Bedrock. It is built from the official GeyserMC documentation, testing on a Paper 1.21 server with Floodgate, and the practical experience of running crossplay communities. If you have already read [A Guide to GeyserMC: Bridging the Gap Between Java and Bedrock], this article answers the follow-up question: which plugins should go on that server?
How GeyserMC Changes What Plugins Can Do
Geyser sits between Bedrock clients and your Java server, converting packets in both directions. Floodgate then lets Bedrock players authenticate faster without owning a Java account. Because the two editions expose different features, every plugin falls into one of three buckets:
- Fully compatible – logic that lives on the server and uses standard chat, commands, blocks, and entities.
- Partially compatible – works, but custom GUIs, items, or visuals look or behave differently.
- Incompatible – relies on features Bedrock does not have, such as Java resource-pack models or certain client-side inputs.
Sources: GeyserMC | GeyserMC Wiki | Floodgate.
Java Plugins That Work Great on Bedrock
These are the workhorses of a crossplay server. They deal in commands, chat, permissions, and world data, all of which Geyser translates cleanly.
| Plugin | Bedrock status | Notes |
|---|---|---|
| LuckPerms | Excellent | Permissions and prefix meta work; chat prefixes need a Vault chat plugin |
| EssentialsX | Good | Most commands and economy work; some GUI menus look different |
| WorldEdit / FAWE | Excellent | Purely command and build based |
| CoreProtect | Excellent | Logs and rollbacks are server side |
| DiscordSRV | Excellent | Chat bridge is edition agnostic |
| Vault economy plugins | Good | Command based; confirm your shop GUI works |
| ViaVersion family | Excellent | Runs on the proxy or backend to widen version support |
If you are still choosing which of these to install first, start with the stack in [10 Essential Minecraft Server Plugins for 2026] and add Geyser plus Floodgate on top.
Plugins That Need Careful Testing on Bedrock
Custom GUI and Menu Plugins
Plugins that render custom inventories, such as GUI shops, quest menus, and cosmetic browsers, are the most common source of crossplay bugs. Geyser maps Java containers to Bedrock equivalents, but complex click handling, drag behavior, and placeholder items often misbehave. Always test every menu with a real phone client, not just a desktop Bedrock launcher.
Anti-Cheat
Anti-cheat is the hardest category. Bedrock clients send different movement and input data, so aggressive Java checks can flag honest Bedrock players as cheaters. Choose an anti-cheat with documented Geyser support, keep the Bedrock profile conservative, and review every ban before it sticks. The fair-evidence workflow in our security guide applies here directly.
Cosmetic and Custom-Item Plugins
Custom items that rely on Java model data, custom textures, or client-side rendering will not appear the same on Bedrock. The mechanical effect (extra damage, speed, right-click ability) usually survives, but the visual does not unless you ship a matching Bedrock resource pack. Convert Java packs with Cumulus or the Geyser pack tools listed on the wiki. This is why our [Best Minecraft 1.21 Cosmetic Plugins] picks are tested for crossplay before we recommend them.
Step-by-Step: A Crossplay Server Setup
- Run a Java server on Paper 1.21. Geyser needs a Java edition server to bridge to.
- Install Geyser and Floodgate. On a network, put Geyser on the proxy (Velocity or BungeeCord); on a single server, run it as a plugin.
- Decide on authentication. Floodgate lets Bedrock players join without a Java account; pure Java setups keep standard online-mode auth.
- Install your core plugins: LuckPerms, EssentialsX, WorldEdit, CoreProtect.
- Test each plugin’s GUI with a Bedrock client and note anything that looks wrong.
- Ship a Bedrock resource pack for any custom textures you want Bedrock players to see.
- Launch a small Bedrock beta group before you announce crossplay publicly.
When Geyser is on a proxy, server transfer and backend routing become important as you grow. Our [Scaling Your Crossplay Server: Managing 100+ Bedrock Connections] guide covers the capacity side, and [Geyser vs. Bedrock Dedicated Server] helps you choose the architecture.
The Resource Pack Problem, Explained
Java resource packs and Bedrock resource packs are different formats. Geyser can serve a separate Bedrock pack to Bedrock clients, but it cannot automatically translate a Java pack. That means:
- Custom block and item textures need a Bedrock copy.
- Custom fonts and GUI overlays usually need manual rebuilding.
- Model-engine custom items will simply not render for Bedrock players.
Plan for this early. It is far easier to design Bedrock-friendly visuals from day one than to retrofit them after launch.
Pros and Cons of Geyser Crossplay
- Pros: A much larger potential player base, one world for every device, easy growth into console and mobile markets, and full command and chat parity.
- Cons: Extra complexity, GUI and resource-pack caveats, anti-cheat tuning, and a second set of support questions from Bedrock players.
Common Mistakes to Avoid
- Assuming all plugins are compatible. Test every GUI with a real Bedrock client.
- Forgetting Floodgate. Without it, Bedrock players need Java accounts and the experience is worse.
- Running an aggressive anti-cheat profile. You will ban legitimate Bedrock players.
- Ignoring resource packs. Untranslated custom items look broken to half your players.
- Placing Geyser on the wrong layer. On networks, the proxy is usually the right home.
Frequently Asked Questions
Do Java plugins work on Bedrock Edition?
Many do, through GeyserMC. Command, chat, permission, and world-based plugins work best. Plugins that rely on custom GUIs, Java resource packs, or client-side rendering need testing or a Bedrock equivalent.
What is Floodgate and do I need it?
Floodgate is a GeyserMC companion that lets Bedrock players join without a Java account. It removes a huge onboarding barrier for console and mobile players.
Can Bedrock players use WorldEdit?
Yes. WorldEdit and FAWE are command and build based, so they translate well. Only the in-game wand and selection visuals may differ slightly.
Which anti-cheat works with Geyser?
Choose one with documented Geyser support and use a conservative Bedrock profile. Always verify bans manually, and consult the GeyserMC wiki for current compatibility notes.
Conclusion: Crossplay Is a Feature, Not a Checkbox
GeyserMC opens your Java server to the entire Bedrock ecosystem, but the quality of that experience depends on your plugin choices. Favor command, chat, permission, and world plugins, test every GUI on a real Bedrock client, tune anti-cheat gently, and ship a Bedrock resource pack for any custom visuals. Do that and crossplay becomes a genuine competitive advantage.
Your next step: install Geyser and Floodgate on a test server, then walk through your plugin list and mark each as compatible, partial, or broken. For the client-side context, read [How to Get Xbox and Switch Players on Your Java Server].
Server-Specific Compatibility Notes
Compatibility is not just about the plugin, it is about the server software underneath it. The wrong base server can break crossplay before Geyser ever loads.
- Folia. Region-based threading breaks many Bedrock-friendly plugins and Geyser itself. Do not run crossplay on Folia without checking each plugin’s thread safety.
- Purpur and Pufferfish. Generally fine as Paper derivatives, but test every custom GUI.
- Velocity networks. The best home for Geyser on a multi-server setup, since one Geyser instance can route Bedrock players to any backend.
- Modded servers. Crossplay gets fragile fast; vanilla-plus modpacks convert far better than total conversions.
When you choose your base software, weigh crossplay compatibility alongside performance, as discussed in [A Beginner’s Guide to Minecraft Server JARs: Paper, Purpur, and Beyond].
Performance: What Bedrock Players Cost Your TPS
Geyser adds a translation layer, so every Bedrock player costs slightly more CPU than a Java player on the same server. In practice the overhead is modest, but it is not zero, and it grows with player count. Plan capacity with this in mind.
- Budget extra CPU headroom for every few dozen Bedrock connections.
- Keep MSPT under the 50 ms tick budget and monitor it with spark.
- Pre-generate your world so exploration does not spike the tick time when new Bedrock players wander.
- Put Geyser on the proxy to isolate its CPU cost from your game servers.
For the full capacity picture, read [Scaling Your Crossplay Server], and for world generation tips see [The Ultimate Guide to Pre-Generating Your World with Chunky].
Does Geyser hurt server performance?
It adds a small CPU cost per Bedrock player because it translates packets, but on modern Paper servers with sensible capacity planning the impact is manageable.
Quick Compatibility Cheat Sheet
- Always safe: permission, chat, logging, and world tools.
- Test first: any plugin that opens a custom inventory.
- Expect breakage: custom models, client-side visuals, and aggressive anti-cheat.
- Do not attempt on Folia: most crossplay plugins without thread-safety review.
Print this list, or keep it in your staff notes, and check it against every plugin before you add it to a crossplay server. A five-minute review saves hours of Bedrock support tickets later.

Leave a Reply