Optimizing spigot.yml to Reduce Lag

NOTE: This article is specifically for Minecraft Java Edition servers, and depends on Spigot or Paper to work.

If you’re running a Spigot server you have a handful of options you can use to optimize your server to ensure optimal performance. This guide will show you the settings offered by Spigot that you can take advantage of to optimize your server’s performance.

Below is a list of settings from spigot.yml and their recommended values for optimal performance in the order of most impact to least impact on performance. For help editing this file, reference our guide on modifying your Spigot configuration.

OPTION DESCRIPTION RECOMMENDED VALUES
save-user-cache-on-stop-only
Enabling this prevents user data from being saved constantly while players are online, which improves server performance. However, if your server crashes, user data will not be saved, so make backups and regularly stop your server to protect your player data. Default: false
Optimized: true
entity-activation-range
This group of settings will adjust how close mobs and other entities have to be to activate their AI. The numbers denote the distance in blocks that entities can go before being deactivated. Entities will be reactivated when a player gets close enough to them.

animals: 16
monsters: 24
raiders: 48
misc: 8

merge-radius
By increasing the merge radius, items and experience will clump together more often, reducing the number of items on the ground ticking. If the numbers are too high, it can cause issues where items will be teleported through blocks and sometimes into dangerous places (like lava).

item: 4.0
exp: 6.0

nerf-spawner-mobs
For servers that rely on mob spawners, this option will grant a nice server performance boost by making mobs spawned from spawners have no AI. Default: false
Optimized: true
max-tick-time
Because of the risk involved with enabling this feature, due to how it skips ticking on some entities and tiles in a way that can break gameplay, it is best to set this to 1000, which effectively disables the feature. tile: 1000
entity: 1000
mob-spawn-range
You can adjust the distance in chunks away from a player that mobs will spawn, which can help make sure that fewer mobs are active in an area where players cannot reach. Keep this number lower than the view-distance so that mobs actually spawn for players.

Default: 8
Optimized: 6

arrow-despawn-rate
This will force arrows fired by players in survival mode to despawn more quickly (counted in number of ticks), reducing the number of entities ticking. The recommended 300 ticks is equal to about 15 seconds. Default: 1200
Options: 300
item-despawn-rate
This will cause items dropped on the ground to despawn after a certain number of ticks. Be careful not to set this too low, or your players will lose valuable items.  The recommended  4000 ticks is equal to about 3.3 minutes. Default: 6000
Options: 4000
tick-inactive-villagers
When 1.14 was released, it introduced new Villager mechanics that can severely lag a server if not optimized. Setting this to false will prevent Villagers outside of the activation range (see above) from being ticked. Default: true
Optimized: false

You can further improve performance on your Spigot server by optimizing Bukkit and Paper. Learn more on how to optimize your Bukkit configuration with our guide on optimizing Bukkit’s bukkit.yml. If you’re running PaperMC, learn more about optimizing Paper with our guide on optimizing Paper’s paper.yml.

Credit to Celebrimbor for their Server Optimizations Guide on SpigotMC.

If you require any further assistance, please contact our support at: https://shockbyte.com/billing/submitticket.php

Mitchell Smith

Managing Director @ Shockbyte

  • Minecraft Java Edition, Minecraft PC, Spigot, lag, Spigot config, spigot.yml
  • 35 Users Found This Useful
Was this answer helpful?

Related Articles

How to Analyze a Timings v2 Report

Pre-requisites: You can create a timings report by following our guide. Once you have the...

Optimizing bukkit.yml to Reduce Lag

NOTE: This article is specifically for Minecraft Java Edition servers, and depends on...

How to Allocate More Memory to your Minecraft Client

When you are running a large variety of plugins or mods on your server, sometimes your client...

How to Analyze any Timings Report

Are you experiencing lag on your Minecraft server? Lag can be eliminated by finding and resolving...

How to Enable Startup Parameters on Your Server

A startup parameter is an advanced instruction for your server that is issued when the server...