How to Optimize Performance using Spigot or PaperSpigot

Improving general server performance using Spigot or PaperSpigot

  1. Richard_BN
    ***Please note that this guide was written and posted by frash23 on the SpigotMC forums - any credit/appreciation, or suggestions on alterations etc... should be made on their original post found HERE -- The section on Java & Launch flags has been removed from this post as this is handled on our end***

    Last updated 2016-04-04

    Spigot has a lot of performance improvements disabled by default, as they often alter the server so it no longer replicates vanilla behaviour. This guide is supposed to help you tweak the settings for optimal performance while understanding what you are actually changing. If you do not understand a setting frash mentions here, don't change it. If you are curious, reply to the thread (make sure to @tag frash23) and ask what it does. If you are still having issues with performance, take timings (2-5 minutes) and reply here, or make a new thread on the SpigotMC forums.

    Frash lists all the config values you can consider tuning to improve performance while doing his best to explain what the setting does and when you do/don't want to change it.

    The guide is currently written for 1.9. Most options appear in 1.8 as well. If they don't, just go to the next option.



    1. paper.yml

    You will need Paper/PaperSpigot, a fork of Spigot, to have this file available.

    optimize-explosions
    Default: false
    Suggested: true


    mob-spawner-tick-rate
    Default: 1
    Suggested: 2 - 3


    disable-chest-cat-detection
    Default: false
    Suggested: true


    use-hopper-check
    Default: false
    Suggested: true


    container-update-tick-rate
    Default: 1
    Suggested: 3 - 4


    queue-light-updates
    Default: false
    Suggested: true


    fire-physics-event-for-redstone
    Default: true
    Suggested: false



    grass-spread-tick-rate

    Default: 1
    Suggested: 2 - 4



    2. spigot.yml

    late-bind
    Default: false
    Suggested: true


    mob-spawn-range
    Default: 4
    Suggested: 3


    entity-activation-range
    Default: animals:32, monsters:32, misc:16
    Suggested: animals:6, monsters:16, misc:2


    hopper-transfer, hopper-check, hopper-amount
    Default: transfer:8, check:8, amount:1
    Suggested: transfer:24, check:24, amount:3


    max-entity-collisions
    Default: 8
    Suggested: 1 - 2


    merge-radius
    Default: item:2.5, exp:3.0
    Suggested: item:3.5, exp:6.0


    view-distance
    Default: 10
    Suggested: 3 - 5



    3. bukkit.yml

    spawn-limits
    Default: monsters:70, animals:15, water-animals:5, ambient:15
    Suggested: monsters:50, animals:10, water-animals:3, ambient:4


    chunk-gc
    Default: period-in-ticks:600, load-threshold:0
    Suggested: period-in-ticks:300, load-threshold:300


    ticks-per.monster-spawns
    Default: 1
    Suggested: 2 - 5



    4. server.properties

    network-compression-threshold
    Default: 256
    Suggested (standalone server): 512
    Suggested (behind local Waterfall/BungeeCord): -1