NewSchokr 13 is here. A whole new UI, seven locations, snapshots and more. Read more →

Geyser performance: memory and CPU for crossplay servers

How much extra memory and CPU Geyser uses for Bedrock players, and how to keep a crossplay Paper server smooth on Schokr's free resources.

Updated · 2 min read

Geyser adds some overhead because it translates every packet between Bedrock and Java, and that cost grows with the number of Bedrock players online. For a typical friends server the impact is small; for larger servers, give the server a bit more memory and keep view distance sensible.

Where the overhead comes from

  • Translation: every chunk, entity update and inventory change sent to a Bedrock player is converted to Bedrock's format. Chunk translation is the heaviest part.
  • Per-player state: Geyser keeps a session for each Bedrock player, which uses memory.
  • Startup: Geyser loads its mappings and resources at boot, adding a little to startup time and baseline memory.

Java players are not affected; they connect to Paper directly.

Sizing on Schokr

Your team's free pool is 6 GB memory, 1.5 CPU cores and 10 GB disk, split across up to 4 servers. You choose how much each server gets in its Resources settings.

Rough guidance for a Paper server with Geyser:

Players onlineSuggested memory
Up to about 52 to 3 GB
About 5 to 153 to 4 GB
More than 15, or heavy plugins4 GB or more, and tune settings below

These are starting points, not guarantees. Plugins, world size and farms matter more than Geyser itself. If you need more, the store sells permanent upgrades such as 1 GB memory for 450 credits or 50% CPU for 300 credits. See pricing.

Settings that help

View and simulation distance

Bedrock clients often request a large render distance. The server only sends what view-distance allows, so keep it moderate in server.properties:

view-distance=8
simulation-distance=6

Lower view distance means fewer chunks for Geyser to translate per player.

Paper settings

Paper's own optimization options (entity limits, chunk loading) help all players, Bedrock included. See the Paper documentation.

Resource packs

Large Bedrock packs make every join slower. Keep packs compressed. See resource packs for Bedrock players.

Spotting a performance problem

  • Bedrock players lag but Java players do not: check Bedrock players' own connection first (mobile data and Wi-Fi vary a lot). If many Bedrock players lag at once, look at CPU use in the console.
  • Everyone lags: it is the server, not Geyser. Use a profiler such as spark to find the cause:
spark profiler start
spark profiler stop
  • Out of memory crashes: raise memory for the server or reduce plugins and view distance.

Keep Geyser updated

Newer Geyser builds include performance fixes. See update Geyser and Floodgate.

Big networks

On a BungeeCord network, Geyser runs on the proxy, so translation load sits there. Give the proxy enough memory and CPU for your Bedrock player count. See Geyser on a BungeeCord network.