Optimising ShreddedPaper

Various changes you can make to improve the performance of ShreddedPaper

netty-threads (required change for 250+ players)

Increasing the number of netty threads allows the server to handle more packets. If the server does not have enough netty threads, the tps will start to drop while the server tries to send more packets.

# spigot.yml
settings:
  netty-threads: 32

maximum-trackers-per-entity

When there are a signficiant number of players in such a small area that they can all see eachother, a lot of resources are spent rendering each player to eachother at an exponential rate. Cap the number of players each player can see. Increasing tracker-full-update-frequency also decreases how often an expensive recalculation of what player can be seen is performed.

# shreddedpaper.yml
optimizations:
  maximum-trackers-per-entity: 200
  tracker-full-update-frequency: 40

disable-vanish-api

The Bukkit vanish api (Player.hidePlayer) is inefficient. If you aren’t using it, disable it.

# shreddedpaper.yml
optimizations:
  disable-vanish-api: true

ticks-per

Trying to spawn mobs is expensive. Reducing how often they try to spawn saves a lot of resources.

# bukkit.yml
ticks-per:
  animal-spawns: 400
  monster-spawns: 400
  water-spawns: 400
  water-ambient-spawns: 400
  water-underground-creature-spawns: 400
  axolotl-spawns: 400
  ambient-spawns: 400

simulation-distance

The less chunks you’re ticking, the more performant the server.

# server.properties
simulation-distance=2

view-distance

The less chunks you’re sending the players, the more performant the server.

# server.properties
view-distance=8