Reducing Lag - Historical

Applied By ssamjh: Jun 30, 2015 at 11:17 AM

Reducing Lag
Reducing Lag - Basic Guide
Hey all! ssamjh here! I'm going to make this wiki because there is no other wiki that I can find that lists most of the ways to reduce lag.
Now, this isn't going to be a perfect guide. But I aim to make it the best I can. Anyone is welcome to improve it!


spigot.yml
anti-xray
Now, depending on your server you may want to have this enabled or not. Truth is, players love to cheat. If players can't cheat they will likely move onto the next server. This option is completely up to you but I recommend setting it to:
Code (Text):
    anti-xray:
      enabled: false


merge-radius
These settings specify how close items on the ground have to be before they will merge. You can get away with setting it to:
Code (Text):
    merge-radius:
      item: 4
      exp: 6



item-despawn-rate

This is how long in ticks that dropped items will stay on the ground. If you have a lot of entities loaded (/gc with essentials) then try lowering this to 1200 which is 1 minute. Keep in mind that players may not be able to recover their items if keep-inventory is off.
Code (Text):
    item-despawn-rate: 1200



view-distance

One of the biggest factors in server lag. This is like the render distance for your server. Now try experimenting with this option, a good place to start if your having lag is:
Code (Text):
    view-distance: 4



entity-activation-range

This is basically how close in blocks you have to be before mobs/animals will react. Now lowering this does have some cons, as mobs will not "see" you from a long distance but if you really need the boost try setting it to the bare minimum:
Code (Text):
    entity-activation-range:
      animals: 8
      monsters: 10
      misc: 2


entity-tracking-range
Pretty similar to entity-activation-range but this is how many blocks a mob will track you after it's "seen" you. I mean you really need to experiment with this one yourself, but try these settings:
Code (Text):
    entity-tracking-range:
      players: 32
      animals: 32
      monsters: 32
      misc: 24
      other: 24


ticks-per
The amount of ticks between the server checking if there are items in hoppers and moving the items. Try these settings anyways:
Code (Text):
    ticks-per:
      hopper-transfer: 20
      hopper-check: 20


max-tnt-per-tick
This is the maximum amount of TNT that can explode in 1 tick. If you are having trouble with players using too much TNT and lagging your server, then try limiting it to 10:
Code (Text):
    max-tnt-per-tick: 10


max-tick-time
According to the spigot.yml wiki "The time - in ms - that (tile) entity operations can consume to calculate before the server skips on to the next task." Try changing it to these values:
Code (Text):
    max-tick-time:
      tile: 8
      entity: 16



bukkit.yml
spawn-limits
This is the maximum amount of mobs and animals that can spawn around a player. If you are getting major lag and lots of entities, try changing this to:
Code (Text):
spawn-limits:
  monsters: 50
  animals: 10
  water-animals: 3
  ambient: 4


chunk-gc
This feature is meant to unload unused chunks at a regular time. Where period-in-ticks is how long and load-threshold the minimum amount of chunks that have to be loaded since the last unload for it to unload any more. Basically if no one is loading any chunks then it won't try to unload any:
Code (Text):
chunk-gc:
  period-in-ticks: 300
  load-threshold: 300


ticks-per
Self explanatory really. Just try changing it to this:
Code (Text):
ticks-per:
  animal-spawns: 400
  monster-spawns: 3
  autosave: 3000

More to come soon! Watch this space!