top of page

⚙️ Optimizing Paper.yml to Reduce Lag

  • Foto del escritor: PixelHost
    PixelHost
  • 13 ago 2024
  • 3 Min. de lectura

Actualizado: 23 ago 2024

Note: This article is specifically for Minecraft Java Edition servers and requires Paper to function.


If you're running a Paper server, you have several options that you can use to optimize your server and ensure optimal performance. This guide will show you the settings offered by Paper that you can tweak to reduce lag and improve the overall performance of your server.

Below is a list of paper.yml settings and their recommended values for optimal performance, ordered from highest to lowest impact on performance. For help on how to edit this file, refer to our guide on modifying Paper settings.


📁 Key Paper.yml Settings and Recommendations

max-auto-save-chunks-per-tick

  • Default: 24

  • Optimized: 6

  • Impact: High

This setting slows down the incremental saving of chunks during the world's save task, which is crucial for modern servers. Lowering this too much could result in unsaved chunks, so avoid setting it too low.


optimize-explosions

  • Default: false

  • Optimized: true

  • Impact: Low

Paper has a highly efficient algorithm for handling explosions without impacting gameplay.


mob-spawner-tick-rate

  • Default: 1

  • Optimized: 2

  • Impact: Low

This setting adjusts the delay (in ticks) before an active spawner attempts to spawn mobs. Doubling the delay does not affect spawn rates and only increases if spawners cause

significant tick loss.


disable-chest-cat-detection

  • Default: false

  • Optimized: true

  • Impact: Low

Chests check for a cat's presence on top when a player opens them. Disabling this removes vanilla behavior (cats blocking chests), which most players don't need.


container-update-tick-rate

  • Default: 1

  • Optimized: 3

  • Impact: Low

This changes how often inventories are updated while open. Avoid setting this higher than 4 to prevent visual glitches.


max-entity-collisions

  • Default: 8

  • Optimized: 2

  • Impact: Medium

Entities in crowded spaces (e.g., farms) will collide less and consume less TPS (ticks per second).


grass-spread-tick-rate

  • Default: 1

  • Optimized: 4

  • Impact: Medium

This setting controls the time (in ticks) before the server attempts to spread grass in chunks. It generally does not impact gameplay.


despawn-ranges

  • Default: soft: 32, hard: 128

  • Optimized: soft: 28, hard: 96

  • Impact: Low

  • Soft: The distance (in blocks) from a player where mobs will be periodically removed.

  • Hard: The distance where mobs are instantly removed.

Lowering these values removes background mobs and allows more to spawn in active areas, further reducing the impact on gameplay.


hopper.disable-move-event

  • Default: false

  • Optimized: true

  • Impact: High

This setting significantly reduces lag caused by hoppers by preventing the InventoryMoveItemEvent from being called for every slot in a container.

Warning: Plugins that listen to InventoryMoveItemEvent will break with this setting.


non-player-arrow-despawn-rate

  • Default: -1 (follows arrow-despawn-rate from Spigot)

  • Optimized: 60 (3 seconds)

  • Impact: Low

This applies to arrows shot by skeletons, which players cannot retrieve. It's mainly an aesthetic change.


creative-arrow-despawn-rate

  • Default: -1 (follows arrow-despawn-rate from Spigot)

  • Optimized: 60 (3 seconds)

  • Impact: Low

Similar to the previous setting but for arrows shot by players with infinity bows.


prevent-moving-into-unloaded-chunks

  • Default: false

  • Optimized: true

  • Impact: Medium

This setting prevents players from entering an unloaded chunk (due to lag), which would otherwise cause more lag. Setting this to "true" will return players to a safe location instead.

Note: If you haven't pre-generated your world, this setting is crucial.


use-faster-eigencraft-redstone

  • Default: false

  • Optimized: true

  • Impact: High

This reduces redundant redstone updates by up to 95% without breaking vanilla devices. Empirical tests show up to a 10x performance improvement.

Note: If you use a plugin to modify redstone algorithms, consider replacing it with this option, as plugins tend to alter redstone behavior more significantly.


armor-stands-tick

  • Default: true

  • Optimized: false

  • Impact: Low

Armor stands are entities that require ticking since they interact with the world. Non-ticked armor stands won’t be pushed by water (which most players don't mind).

Note: Paper also staggers item frame ticking to avoid all frames ticking simultaneously. This is not configurable but provides TPS savings without gameplay impact.


per-player-mob-spawns

  • Default: false

  • Optimized: true

  • Impact: Low

This enforces single-player spawn behavior instead of Bukkit's random algorithms, preventing other players' actions (e.g., massive farms) from affecting server spawn rates.

Note: If you've reduced spawn limits in Bukkit and notice a lack of animals or monsters, consider increasing those values until you find a balance.


alt-item-despawn-rate

  • Default: false

  • Optimized: true

  • Impact: Medium

This setting allows certain items to despawn faster (or slower) than the item-despawn-rate set in Spigot, reducing tick load from massive piles of junk.


Note: Use Spigot's material list when adding items.


no-tick-view-distance

  • Default: -1

  • Optimized: # > view-distance setting

  • Impact: N/A

This is the distance at which chunks load but do not tick outside your view distance.

Note: If you had to set your view distance very low (like 3 or 4), you could set this to 5 or 6 to improve gameplay experience.


anti-xray.enabled

  • Default: false

  • Optimized: true

  • Impact: N/A


While this setting does consume TPS, Paper's anti-xray is the most efficient available. Engine 1 might be less taxing (mainly for clients), but Mode 2 is much more effective.


Best Regards,

João @PixelHost.


Comments


bottom of page