Optimise Paper and Purpur settings for better performance
A few safe changes to view distance, simulation distance, entity and item settings make a big difference. Change one thing at a time and measure with spark.
- Difficulty:
- Intermediate
- Time:
- 15 minutes
On this page
Paper and Purpur are already much faster than Vanilla or Spigot, and a few well-known settings can make them faster still. The changes below are safe for most servers. Some change gameplay a little, so read the note on each one, change a few at a time, and compare with spark before and after.
Make a backup in Backups first. Don't paste in whole "optimised" config files from the internet: they often break farms, plugins or redstone. Edit the files in Files and restart the server after saving.
Where the files are
server.properties: main folder, or use the Properties tab.bukkit.ymlandspigot.yml: main folder.config/paper-global.ymlandconfig/paper-world-defaults.yml: Paper 1.19 and newer. Per-world overrides go inpaper-world.ymlinside a world folder.purpur.yml: main folder, Purpur only.
1. View and simulation distance (biggest win)
In Properties (server.properties):
view-distance: how many chunks players can see. The default is 10. 6 to 8 is a good balance.simulation-distance: how far from players mobs move, crops grow and redstone runs. The default is 10. 4 to 6 saves a lot of CPU. Farms only work when a player is within this distance, so keep it high enough for your players' farms.
You can also set these per world in spigot.yml under world-settings; by default they follow server.properties.
2. Entity and item settings in spigot.yml
Under world-settings: default:
merge-radius: how close dropped items and XP orbs must be to merge into one. Slightly larger values (for exampleitem: 2.5andexp: 3.0) mean fewer entities. Very large values can make items jump through walls.entity-activation-range: mobs further than this from players are ticked less often. Loweringanimals,monstersandmisca little (for example by a quarter) saves CPU. Too low and mob farms slow down.nerf-spawner-mobs: true: mobs from spawners have no AI. Great for performance, but it changes how spawner farms behave.
3. Paper world settings
In config/paper-world-defaults.yml. Indentation matters in YAML: use spaces, not tabs.
collisions:
max-entity-collisions: 2
environment:
optimize-explosions: true
misc:
redstone-implementation: ALTERNATE_CURRENT
chunks:
max-auto-save-chunks-per-tick: 8
prevent-moving-into-unloaded-chunks: truemax-entity-collisions(default 8): limits how many collisions one entity checks per tick. Helps a lot with crowded mob farms.optimize-explosions: faster TNT and creeper explosions.redstone-implementation: ALTERNATE_CURRENT: a much faster redstone engine. A few very timing-sensitive contraptions may behave differently, so test your important builds.max-auto-save-chunks-per-tick(default 24): spreads auto-saves out to reduce save lag spikes.prevent-moving-into-unloaded-chunks: stops fast players from forcing chunk loads on the main thread.
You can also limit how many of certain entities a chunk saves with chunks.entity-per-chunk-save-limit (for example arrows or experience orbs), which stops piles of them building up.
4. Mob limits in bukkit.yml
spawn-limits controls how many mobs of each group can spawn per player. Lowering monsters from 70 to around 50 reduces entity load. It also means fewer mobs for players to fight and farm, so change it carefully.
5. Purpur
Purpur reads all the Paper, Spigot and Bukkit settings above. purpur.yml is mostly extra gameplay options, so there is no need to change it for performance.
What not to do
Don't edit Java startup flags. We already start your server with tuned memory settings. Only change what the Startup tab offers you.
Don't touch
unsupported-settingsor turn off ticking. These can break the game.Don't rely on ClearLagg-style plugins. They delete items and mobs to hide lag instead of fixing it. See How to fix server lag.
Don't set view distance below 4 or simulation distance below 3. The game feels broken for players.
Also pregenerate your world. It often helps more than any setting.
Frequently asked questions
I can't find paper-world-defaults.yml
It is in the config folder on Paper 1.19 and newer and appears after the first start. Older Paper versions use a single paper.yml with different option names.
My server won't start after editing a .yml file
That is almost always a YAML formatting mistake, such as a tab or wrong indentation. Check the Console for the line number, fix it, or restore your backup.
Was this article helpful?
Related articles
Pick the right plan for your player count, plugins and modpacks — with a plan comparison table and chart.
Choose Paper for plugins, Fabric or NeoForge/Forge for mods, Vanilla Bedrock for Bedrock players and Velocity for networks. Switch any time in the Versions tab (Bedrock: Change Egg).
Plugins tab → Browse Plugins → pick a platform (Modrinth, CurseForge, Hangar or SpigotMC) → search → Install → restart. Or upload any plugin .jar to the plugins folder in Files.
Properties tab → search a setting → flip the switch or type a value → SAVE → restart. Here is what the most useful settings do, and the defaults on a fresh server.
