This comprehensive guide focuses on optimizing Minecraft Java servers. Please read the entire guide for a thorough understanding of server optimization techniques.
Before diving into optimization, let's look at choosing the right server JAR:
Each of these JARs provides excellent performance improvements over vanilla Minecraft. PaperMC is the standard for performance and compatibility, but the other JARs offer additional benefits.
Consider these plugins to help with server performance:
view-distance=8
simulation-distance=6
network-compression-threshold=256
max-players=20
max-tick-time=60000
use-native-transport=true
enable-command-block=false
sync-chunk-writes=true
spawn-protection=16
entity-broadcast-range-percentage=100
settings:
save-user-cache-on-stop-only: true
max-tick-time:
tile: 1000
entity: 1000
world-settings:
default:
mob-spawn-range: 6
entity-activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
tick-inactive-villagers: false
merge-radius:
item: 2.5
exp: 3.0
item-despawn-rate: 6000
arrow-despawn-rate: 1200
nerf-spawner-mobs: true
max-entity-collisions: 8
hopper-amount: 1
dragon-death-sound-radius: 0
seed-village: 10387312
seed-desert: 14357617
seed-igloo: 14357618
seed-jungle: 14357619
seed-swamp: 14357620
seed-monument: 10387313
seed-shipwreck: 165745295
seed-ocean: 14357621
seed-outpost: 165745296
seed-endcity: 10387313
seed-slime: 987234911
seed-nether: 30084232
seed-mansion: 10387319
seed-fossil: 14357921
seed-portal: 34222645
spawn-limits:
monsters: 50
animals: 10
water-animals: 5
water-ambient: 20
ambient: 5
chunk-gc:
period-in-ticks: 600
ticks-per:
animal-spawns: 400
monster-spawns: 1
autosave: 6000
aliases: now-in-commands.yml
max-auto-save-chunks-per-tick: 24
optimize-explosions: true
mob-spawner-tick-rate: 2
container-update-tick-rate: 3
grass-spread-tick-rate: 4
despawn-ranges:
monster:
soft: 32
hard: 128
hopper:
disable-move-event: true
anti-xray:
enabled: true
engine-mode: 1
use-faster-eigencraft-redstone: true
armor-stands-tick: false
per-player-mob-spawns: true
alt-item-despawn-rate:
enabled: true
items:
COBBLESTONE: 300
NETHERRACK: 300
DIRT: 300
SAND: 300
max-entity-collisions: 2
tick-rates:
sensor:
villager: 1
raid: 1
hoglin: 1
collisions:
allow-vehicle-collisions: false
fix-climbing-bypassing-cramming-rule: true
only-players-collide: true
entity-per-chunk-save-limit:
experience_orb: 16
snowball: 16
ender_pearl: 16
arrow: 16
prevent-moving-into-unloaded-chunks: true
use-faster-threadlocalrandom: true
lava-flow-speed:
normal: 30
nether: 10
settings:
use-alternative-item-despawn-rate: true
use-faster-night-skip: true
use-faster-eigencraft-redstone: true
dont-send-useless-entity-packets: true
dont-send-useless-lightning-packets: true
keep-spawn-loaded: false
keep-spawn-loaded-range: 8
world-settings:
default:
mobs:
cow:
ridable: true
controllable: true
chicken:
ridable: true
controllable: true
gameplay-mechanics:
disable-ice-and-snow: true
disable-teleportation-suffocation-check: true
disable-chest-cat-detection: true
disable-end-credits: true
disable-phantom-spawns: true
disable-pillager-patrols: true
network-compression-threshold
in server.properties for better network performance.max-entity-cramming
gamerule to limit the number of entities that can be pushed into one block.Continuous monitoring and troubleshooting are crucial for maintaining an optimized Minecraft server. Here are some tools and techniques to help you keep your server running smoothly:
/timings report
in-game or console to generate a detailed report of server performance. This helps identify plugins or areas of the game causing lag./spark profiler
to get more detailed performance analysis, including CPU usage breakdowns.To keep your Minecraft server optimized over time, consider the following best practices:
Optimizing a Minecraft server is an ongoing process that requires attention to detail, regular maintenance, and a willingness to adapt to changing conditions. By implementing the configurations and practices outlined in this guide, you'll be well on your way to running a smooth, efficient Minecraft server.
Remember that every server is unique, with its own set of plugins, player behaviors, and hardware limitations. Use this guide as a starting point, but don't be afraid to experiment and find the perfect balance for your specific server.