SoulNode
Search…
Optimisation Guide
Credit: https://www.spigotmc.org/threads/283181/

Server Software

Picking a suitable server jar is the first step in optimising your server. We strongly recommend you use Paper which is an optimised version of the classic Spigot server jar. Along with Paper, and Spigot - you can easily install a variety of servers jar from the Versions tab with any servers you have with SoulNode.

Server Configuration

Bukkit.yml

spawn-limits

While there is more to this than "mobs per player", lower values mean fewer mobs. Avoid going too low or the mob shortages will be noticeable. Subsequent values in the guide will make the reduction less noticeable.
The following values are highly recommended;
spawn-limits:
monsters: 50
animals: 8
water-animals: 8
water-ambient: 5
ambient: 5

chunk-gc.period.in.ticks

This unloads vacant chunks faster, ticking fewer chunks meaning a reduced TPS consumption.
chunk-gc:
period-in-ticks: 400

ticks-per.(type)-spawns

This sets how often (in ticks) the server attempts to spawn entities. Increasing the time between spawn attempts should not impact gameplay. Offsetting the tick rates spreads them out more.
ticks-per:
animal-spawns: 400
monster-spawns: 5
water-spawns: 11
water-ambient-spawns: 21
ambient-spawns: 31

Spigot.yml

save-user-cache-on-stop-only
Should the server constantly save user data (false) or delay that task until a stop/restart (true)? This is nice TPS savings on Spigot (less on Paper since it's more efficient).
Take regular backups to avoid data loss in the rare event of a fatal crash, if you enabled this feature.
settings:
...
save-user-cache-on-stop-only: true
...

mob-spawn-range

This sets the max mob spawning distance (in chunks) from players. After limiting spawns in Bukkit, this will condense mobs to mimic the appearance of normal rates.
If your view distance is 6 or smaller, set the spawn range to 1 less than the view distance.
world-settings:
default:
...
mob-spawn-range: 6
...

entity-activation-range

Entities past this range will be ticked less often. Avoid setting this too low or you might break mob behaviour (mob aggro, raids, etc).
Villages should be left alone (if possible) to protect standard game mechanics.
world-settings:
default:
...
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
...
tick-inactive-villagers
Enabling this prevents the server from ticking villagers outside the activation range.
Vanilla behaviour ticks all villagers in loaded chunks. Enable villagers-active-for-panic to save some iron farms from breaking.
world-settings:
default:
...
entity-activation-range:
...
tick-inactive-villagers: false
...

merge-radius

Merging items means less ground item ticking. Higher values allow more items to be swept into piles.
world-settings:
default:
...
merge-radius:
exp: 6.0
item: 4.0
...
nerf-spawner-mobs
When enabled, mobs from spawners will not have AI (will not swim/attack/move). This is big TPS savings for massive mob farms but also messes with behaviour. A farm limiter plugin might be a better solution.
world-settings:
default:
...
nerf-spawner-mobs: true
...

item-despawn-rate

The time (in ticks) before a ground item is removed. While the TPS savings can be significant if reduced, it also impacts gameplay on servers where returning to dropped items is critical.
Use your own judgement for what value you should set this to. It's measured in ticks and there are 20 ticks are in 1 second.
world-settings:
default:
...
item-despawn-rate: 6000
...

arrow-despawn-rate

Similar to item-despawn-rate, but for arrows. Some servers may want to keep arrows on the ground longer, but most will have no complaints if removed faster.
world-settings:
default:
...
arrow-despawn-rate: 300
...

Paper.yml

Server.properties

Other