NapNodes

← Minecraft guides

Minecraft · updated 24 October 2026

Optimize a Minecraft Paper Server: The Settings That Really Reduce Lag

Paper already runs much better than the official server, but its default settings are cautious. With four files and half an hour you gain quite a lot, without anyone noticing while they play. Measure first, then change things.

1. Measure before changing anything

A Minecraft server does almost everything on a single thread, 20 times a second (each time is a “tick”). If each tick takes less than 50 ms, it runs at 20 TPS and everything is smooth; if it takes longer, it drops below 20 and the game stutters. On Paper, “/tps” and “/mspt” tell you.

To find out what's eating the time there's spark: “/spark profiler start”, play for a couple of minutes as usual and “/spark profiler stop” gives you a link showing what weighs most (a farm, a type of mob, a plugin). It's already included in Paper; step by step in the spark guide.

If only one player lags and everyone else is fine, it isn't the server: it's their connection or their computer, and these settings won't fix it (how to tell them apart).

Rather not set it up yourself? Minecraft servers from €6 a month, no contract and a full refund within 72 hours. Or create a free Minecraft server, no card needed.

2. server.properties: simulation distance

These are two different settings. view-distance is how much of the world is sent to each player so they can see it; simulation-distance is how far the world actually “runs”: mobs, crops, redstone and farms. The second one uses the most CPU.

The biggest win in this whole guide: simulation-distance at 6 and view-distance between 8 and 10. You still see far, and the server works much less. If you have big farms, have someone stay nearby while they run: beyond that distance they stop. The file's other options are in server.properties explained.

3. bukkit.yml: fewer mobs at once

spawn-limits sets how many mobs of each type there can be per player. The defaults are the game's (70 monsters, 15 bats…). Lowering monsters a little and bats (“ambient”), which are useless, almost entirely takes work off the server without anyone missing them. If mob farms then work worse or “nothing spawns”, see why mobs aren't spawning.

bukkit.yml (find spawn-limits and change these two)
spawn-limits:
  monsters: 50
  ambient: 3

4. spigot.yml: distant mobs think less

entity-activation-range is how close to a player mobs move at their normal pace; further away, they're updated less often. Lowering it a bit is barely visible and saves a lot with many animals.

Careful with mob farms: if yours rely on mobs walking far from you, they may produce a bit less. Try it and, if you notice, raise it again.

spigot.yml (inside world-settings → default)
entity-activation-range:
  animals: 24
  monsters: 24
  misc: 8

5. paper-world-defaults.yml: what Paper leaves off

It's in the server's config/ folder and applies to every world (each world can have its own paper-world.yml inside its folder to change something just there). Each setting has its place in the file: search for the name and change the value. If one doesn't appear on your version, don't add it blindly: Paper moves things around from time to time.

Optimised explosions (optimize-explosions) so TNT and creepers cost less; more efficient redstone (redstone-implementation: ALTERNATE_CURRENT), which behaves the same in almost every circuit; fewer collisions between crowded mobs (max-entity-collisions); stray arrows and experience orbs not piling up without limit (entity-per-chunk-save-limit); and not being able to walk into unloaded parts of the world (prevent-moving-into-unloaded-chunks).

Two that depend on your plugins: armor-stands → tick set to false saves work if you don't use moving armour stands, and hopper → disable-move-event set to true speeds up hoppers, but some protection plugins use it so nobody can steal from you through a hopper. If you have one, leave it as it is.

config/paper-world-defaults.yml (the values to change)
chunks:
  entity-per-chunk-save-limit:
    arrow: 16
    experience_orb: 16
    snowball: 8
  prevent-moving-into-unloaded-chunks: true
collisions:
  max-entity-collisions: 2
environment:
  optimize-explosions: true
misc:
  redstone-implementation: ALTERNATE_CURRENT
tick-rates:
  mob-spawner: 2

6. With mods (Fabric, Forge, NeoForge)

Paper's files don't exist on a modded server. There, what works is adding performance mods that don't change the game: Lithium (faster game logic) and FerriteCore (less memory) on Fabric; ModernFix on Forge and NeoForge. The simulation distance setting works just the same.

And pregenerate the world with Chunky: generating new terrain while exploring is one of the biggest causes of stutter, with or without mods.

What's best left alone

Plugins that promise to “clear lag” by deleting items on the ground every few minutes: they remove the symptom, lose your players' stuff and almost never fix the cause. Better to find it with spark.

Settings lists copied wholesale from the internet: many are for old versions and some break farms or mechanics. Change one at a time, restart and measure.

And RAM: more memory only helps if what you have is maxed out. If spark says the time goes on mobs or redstone, more RAM changes nothing.

How to do it on NapNodes

  1. Make a backup

    In “Backups”, before changing anything (the free server has no backups: download the .yml files from “Files”). If something goes wrong, you go back to how it was.

  2. Distances without opening files

    In “Settings”, “Performance” section, you'll find “View distance” and “Simulation distance”. They save as soon as you change them and apply when the server restarts.

  3. The .yml files, in “Files”

    bukkit.yml and spigot.yml are in the main folder; paper-world-defaults.yml, inside config. You open and edit them right in the panel.

  4. Restart and measure

    Press “Restart” and check “/tps” or spark while you're playing. If a change doesn't improve anything, put it back as it was.

  5. If it's still tight

    spark comes with Paper; Lithium or FerriteCore, if you use mods, install from “Mods & plugins”, and the terrain around the spawn point is already generated when the server is created. If memory is still maxed out, give it more RAM with “Adjust” in “My servers” (or “Buy RAM” if you have none free), without reinstalling.

Frequently asked questions

Which setting reduces lag most on a Minecraft server?

Lowering simulation-distance to 6 in server.properties. You still see far (view-distance) and the server simulates much less of the world.

Where is paper-world-defaults.yml?

In the server's config/ folder. It applies to every world; each world can have its own paper-world.yml to change something just in that one.

How many TPS should a Minecraft server have?

20, which is the maximum. That means each tick takes less than 50 ms; “/mspt” on Paper tells you how long it takes.

Do “clear lag” plugins work?

Almost never: they delete items on the ground every so often and the lag comes back because the cause is still there. Find what's heavy with spark and fix that.

Does switching redstone to ALTERNATE_CURRENT break circuits?

In almost all of them it behaves the same and it's much lighter. A technical circuit that depends on how redstone updates might change: if you have one, test it after the change.

Shall we set it up for you?

Minecraft servers from €6 a month, never oversold: your RAM is yours alone. And if you'd rather start without paying, there's a free Minecraft server, no card needed.

Your server doesn't show up in the game? Check it in a second with “Is my Minecraft server online?”: players, version and MOTD, free. Need a player's UUID for the whitelist or permissions? Look it up here. Handing out enchanted items? Build the command with the /give generator.

Rather not edit the file by hand? Use the server.properties editor: every option explained, with a warning on the ones that no longer work.

How many GB do you need? Work it out with the RAM calculator: server type, players and view distance.

Free tool: Chunky pre-generation calculator. How much disk and time pre-generating your world with Chunky takes for a given radius, with the console commands ready.

Keep reading

All Minecraft guides, sorted →