GuavaHost
Language & currency
Client AreaGame Panel Toggle navigation
Games All Games
Minecraft JavaMinecraft BedrockMinecraft GeyserRustRuneScape: DragonwildsPalworldValheimValheim + BepInExARK: Survival EvolvedARK: Survival AscendedProject ZomboidEnshroudedDon't Starve TogetherCounter-Strike 2TerrariatModLoaderHytaleMulti-Game ServerDiscord Bot Hosting
Navigation PricingReviewsHelp CenterSupport Company About UsFAQRefer to earnSLATerms of ServicePrivacy Policy
Language & currency
Client AreaGame Panel

What Geyser costs you in performance, and what it cannot translate

Geyser is a translation layer, and translation is not free. This guide is an honest account of the CPU and memory it adds, the features that do not carry across, and the rough edges you will meet.

6 min read · Updated Oct 21, 2026 · By GuavaHost Team

None of this is a reason to avoid crossplay. Plenty of busy servers run it happily. But it is better to know what you are signing up for than to spend a week blaming your plugins.

Where the cost actually lands

Start from what Geyser explained sets out: the server is Java, and Geyser sits in front of it turning Bedrock packets (the small chunks of data a client and server exchange) into Java ones and back. On a plugin setup it runs inside the same Java process as your server, so its work shows up in your server's own CPU and memory numbers.

That gives three separate costs:

  • CPU, per Bedrock player. Every packet in both directions has to be rewritten. Chunks are the expensive part, because the two editions store blocks differently, so a Bedrock player walking into fresh terrain is markedly more work than a Java player doing the same thing.
  • Memory, per Bedrock session. Geyser keeps a translated picture of what each Bedrock client has been told: loaded chunks, entities, inventory state. One session is small, but it scales with player count and render distance.
  • Nothing extra for the world itself. Your world, your mobs and your plugins cost exactly what they always did. Geyser does not touch them.

So Geyser makes your server more sensitive to CPU and a bit hungrier for RAM, without changing how heavy your world is. If you are already pushing your tick budget with mob farms or plugins, Geyser will make it worse rather than being the cause.

What it means for player counts

There is no honest multiplier to give you here, and anyone who quotes one is guessing. The cost per Bedrock player depends on how much they move, their render distance, your version and how many entities are near them.

What is safe to say is the direction: a Bedrock player costs more than a Java player, so a slot budget worked out for an all-Java server will not stretch as far once half your players are on phones. Plan some headroom rather than sizing to the limit, and treat your own measurements as the only real answer. How many players can my server handle? covers slots in general.

The levers that help most are the ordinary ones, not Geyser-specific tricks: fewer loaded chunks, fewer entities, a sane view distance, and plugins that are not doing silly things every tick.

What does not translate at all

These are not settings you have missed. They are structural, because the two editions run different game engines:

  1. Bedrock behavior packs and addons do nothing. They need a Bedrock server to run inside, and yours is Java. Custom mobs, items and mechanics have to be built as Java plugins or datapacks instead, and then everyone sees them.
  2. Java client mods do not reach Bedrock players. A Bedrock player runs the standard app with no mod loader, so anything living in a Java client, including voice chat mods and minimaps, is simply absent for them.
  3. A Java server resource pack does not apply to them. Bedrock players need a Bedrock pack in Geyser's packs folder, so custom textures have to be authored twice if both editions are to see them. Custom item models are the classic casualty: a Java pack that turns an item into a custom sword model shows a Bedrock player the plain item.

The rough edges

These are things Geyser does translate, but imperfectly. Expect to meet some of them:

Area What Bedrock players get
Chat formatting No hover text and no clickable links. Plugin messages that rely on either lose their interactive half.
Scoreboards and tab lists Bedrock has tighter limits on line length and layout, so long sidebar lines can be cut or look cramped.
Custom GUIs Chest-style plugin menus generally work. Menus built on anvils, looms or other special screens are much less reliable.
Books and signs Writing and editing work differently on Bedrock, and long or formatted text can come across imperfectly.
Player heads Decorative heads with custom textures are a known weak spot and may render as a default head.
Maps Image-style map art and custom-rendered maps are limited compared with a Java client.
Villager trading The trade screen is translated, but it is one of the areas that behaves least like the Java original.

Geyser improves on all of these over time, and GeyserMC's issue tracker is the place to check whether something is a known limitation or something you have misconfigured. If a feature is central to your server, test it with a Bedrock client before you build around it.

Redstone, PvP and Bedrock habits

Two things catch out Bedrock players rather than the server.

Redstone behaves the Java way. The game logic runs on a Java server, so Java rules apply, including the quirks Bedrock does not have. A Bedrock player whose contraption works at home may find it does nothing here. That is correct behaviour, not a fault.

PvP is Java PvP. Modern Java combat has an attack cooldown that Bedrock does not, and a Bedrock client does not show the indicator for it. Bedrock players fighting experienced Java players will feel at a disadvantage, and no setting fixes that.

Anti-cheat is the one to watch

Movement arrives at your server after being translated, and that translation is not bit-perfect. Anti-cheat plugins that judge players on precise movement maths are the most common source of trouble on a crossplay server: Bedrock players get flagged, rubber-banded or kicked while doing nothing wrong.

Before blaming Geyser, check whether your anti-cheat has a documented way to exempt or loosen checks for Geyser players. The good ones do. Test it with one Bedrock account and real movement, including boats, elytra and ice, which are the usual triggers. Minecraft anti-cheat plugins covers picking one.

Measure it on your own server

Guesswork is the enemy here, and you have the tools to replace it:

  1. Watch MSPT, the milliseconds your server spends per tick. That is the number that tells you whether you are keeping up, and Reading TPS and MSPT explains how to read it.
  2. Take a profile while Bedrock players are actually online, not while the server is idle. Find lag with Spark walks through getting one and reading it.
  3. Watch the Usage card on your server's Overview for CPU and RAM, and click View history for the chart, so you can see whether a bad evening lines up with a busy one.
  4. Change one thing at a time. Dropping view distance and adding RAM in the same restart tells you nothing.

If the profile shows the time going to Geyser's chunk work, your lever is view distance and player count. If it shows entities or a plugin, Geyser is innocent and you have an ordinary optimisation job.

Common questions

Does Geyser slow down Java players too?

Indirectly, yes. Geyser's translation work happens on the same server as everything else, so if it is heavy enough to push your tick time up, every player feels that, Java players included. It does not add anything to a Java player's own connection.

How many Bedrock players can I run?

There is no fixed number, because it depends on your plan, your world and how much your players move around. Treat a Bedrock player as costing more than a Java one, leave headroom rather than sizing to your limit, and use MSPT from a real busy evening as your actual answer.

Can I give Bedrock players the same custom items as Java players?

Only by building the Bedrock version as well. The Java resource pack that makes a custom model will not reach a Bedrock client, so you need an equivalent Bedrock pack loaded through Geyser. The underlying item and its behaviour are shared, because that part runs on the server.

Is it better to run two separate servers instead?

Two servers give each edition native behaviour and no translation cost, but your players no longer share a world, which is usually the whole reason for crossplay. Most people accept Geyser's rough edges to keep one community together.

Still stuck? Jump into our Discord at discord.gg/GuavaHost and the team will help you out.

  • geyser
  • crossplay
  • performance
  • bedrock
  • java
  • minecraft

Host a Minecraft Geyser server From $3.99/mo, with instant setup and DDoS protection.

Still need help? Our team is online 24/7 to answer questions.

Contact support

Related guides

More from Crossplay.