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.
What changes and why
| Key | Before | After | What 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.
