Paper server optimization

Server setup

Paper configuration changes to reduce lagLearn more

Does your server lag with twenty players online? Select your server software to generate changes for bukkit.yml, spigot.yml, and paper-world-defaults.yml, with an explanation of each setting. You can preserve farm behavior.

My Game select version

Save your preferences in this browser and apply them to supported tools. Settings in a shared link take priority. Wiki version labels are not affected.

Which server?

6–8 GB, up to 60 players.

Farms

Result

25 edits

server.properties

view-distance=8
simulation-distance=6

bukkit.yml

spawn-limits:
  monsters: 60
  water-ambient: 5
  ambient: 1
ticks-per:
  monster-spawns: 5

spigot.yml

world-settings:
  default:
    merge-radius:
      item: 2.5
      exp: 3.0
    arrow-despawn-rate: 300
    entity-activation-range:
      animals: 24
      villagers: 24
      tick-inactive-villagers: false
    entity-tracking-range:
      animals: 64
      monsters: 64
      misc: 48
    nerf-spawner-mobs: true

config/paper-world-defaults.yml

chunks:
  max-auto-save-chunks-per-tick: 12
  prevent-moving-into-unloaded-chunks: true
  entity-per-chunk-save-limit:
    experience_orb: 16
collisions:
  max-entity-collisions: 4
environment:
  optimize-explosions: true
  treasure-maps:
    find-already-discovered:
      villager-trade: true
hopper:
  ignore-occluding-blocks: true
misc:
  redstone-implementation: ALTERNATE_CURRENT
tick-rates:
  grass-spread: 4
Download edits

Only modified keys are present in the files. Enter them into your server files and restart the server — world settings are read upon startup.

What changes and why

KeyBeforeAfterWhat it gives
view-distance
server.properties
10 8 How many chunks around the player are sent to them. This is the main memory and network consumption.
simulation-distance
server.properties
10 6 Within what chunk radius does the world live: crops grow, mobs spawn, redstone functions.
spawn-limits.monsters
bukkit
70 60 Ceiling of hostile mobs on a player. Fewer mobs means fewer path calculations.
spawn-limits.water-ambient
bukkit
20 5 Fish in water: there are many, and they don't interfere with or help gameplay.
spawn-limits.ambient
bukkit
15 1 Bats are useless in caves.
ticks-per.monster-spawns
bukkit
1 5 How often does the server attempt to spawn a monster. Once every 10 ticks instead of each
world-settings.default.merge-radius.item
spigot
0.5 2.5 Dropped items nearby merge into one stack — fewer entities.
world-settings.default.merge-radius.exp
spigot
-1 3.0 Experience orbs merge into one — especially noticeable on farms and spawners.
world-settings.default.arrow-despawn-rate
spigot
1200 300 Stuck arrows disappear after 15 seconds, not one minute.
world-settings.default.entity-activation-range.animals
spigot
32 24 Animals beyond this radius hardly think — a savings on pastures.
world-settings.default.entity-activation-range.villagers
spigot
32 24 Villagers outside the simulation radius stop ticking, so an iron farm far from the player stops working.
world-settings.default.entity-activation-range.tick-inactive-villagers
spigot
true false Inactive villagers do not work within the activation radius.
world-settings.default.entity-tracking-range.animals
spigot
96 64 How far players can see animals. Less means fewer chunks.
world-settings.default.entity-tracking-range.monsters
spigot
96 64 How far monsters are visible.
world-settings.default.entity-tracking-range.misc
spigot
96 48 Frames, items on the ground, experience: visible closer, lighter to carry.
world-settings.default.nerf-spawner-mobs
spigot
false true Mob spawners don't think — spawner farms will stop working.
chunks.max-auto-save-chunks-per-tick
paper
24 12 Auto-save spreads over ticks — smooth, no jumps, every five minutes.
chunks.prevent-moving-into-unloaded-chunks
paper
false true The player does not fly into unloaded chunks — the server does not load them abruptly.
chunks.entity-per-chunk-save-limit.experience_orb
paper
-1 16 How many experience orbs a chunk keeps — protection against lag on abandoned farms.
collisions.max-entity-collisions
paper
8 4 How many neighbors a mob counts for collision checks. Mob crowds are cheaper.
environment.optimize-explosions
paper
false true Fast TNT explosion calculation: dynamite cannons and creepers cause less server instability.
environment.treasure-maps.find-already-discovered.villager-trade
paper
false true Stops villager treasure maps from searching thousands of chunks for a new destination, a common source of freezes.
hopper.ignore-occluding-blocks
paper
false true Hopper under a solid block does not search for items above it.
misc.redstone-implementation
paper
VANILLA ALTERNATE_CURRENT Fast redstone. The triggering order is slightly different — delicate circuits may fail.
tick-rates.grass-spread
paper
1 4 Grass spreads four times less often — not noticeable to the eye.

What to know about Paper optimization

  • Keys — Paper 26.3. List of defaults and values — from PaperMC documentation, same as in the wiki "Server Configs". On older versions, some keys may have different names.
  • The main factor is range. view-distance and simulation-distance in server.properties provide more benefit than all other tweaks combined: each chunk in the radius is a square of chunks around each player.
  • Edits are not magic. If the server lags due to one plugin or a farm with a thousand mobs, a profiler named spark will help identify it, not the config file.
  • Memory — separately. To choose a memory allocation and generate startup flags, use server launch file.

The other server.properties entries are explained. server.properties config.

Frequently asked questions

How to optimize a Paper server?

Reduce view-distance and simulation-distance in server.properties, narrow mob activation radius in spigot.yml, and enable fast algorithms in paper-world-defaults.yml. The page will compile patches for your server.

Why did the farm break after optimization?

Some optimizations reduce distant mob activity, check hoppers less often, or change redstone behavior. Preserve farms skips those changes.

What view-distance should be set on the server?

6–8 chunks on a regular server: this is the main factor for memory and network usage. simulation-distance is 2 less.