Optimizing Paper Spigot: Hidden Settings That Will Boost Your TPS in 2026
Paper is the performance-focused Minecraft server software, but its default configuration is deliberately conservative to preserve maximum vanilla compatibility. That means leaving significant performance on the table. These are the settings that actually matter.
paper-global.yml (Paper 1.19+)
chunk-system:
worker-threads: -1 # Auto-detect; set to (CPU cores - 1) manually for best results
gen-parallelism: default
misc:
max-joins-per-tick: 3 # Prevents login lag spikes on mass-join
packet-limiter:
max-packet-rate: 500 # Prevents packet flood exploits
watchdog:
early-warning-every: 5000
early-warning-delay: 10000
paper-world-defaults.yml
These settings have the highest TPS impact:
# Entity optimizations
entities:
spawning:
count-all-mobs-for-spawning: false # Improves spawn consistency
creative-arrow-despawn-rate: 20
non-player-arrow-despawn-rate: 20
# Hopper throttling — one of the biggest hidden lag sources
hopper:
cooldown-when-full: true # HUGE — prevents hoppers burning CPU when full
disable-move-event: false
ignore-occluding-blocks: true
# Redstone
redstone-implementation: EIGENCRAFT # Major improvement vs. vanilla redstone
# Mob AI throttling
entity-activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
water: 16
flying-monsters: 32
villagers: 32
villagers-work-immunity-after: 100
villagers-work-immunity-for: 20
villagers-active-for-panic: true
tick-inactive-villagers: true
wake-up-inactive:
animals-max-per-tick: 4
animals-every: 1200
animals-for: 100
monsters-max-per-tick: 8
monsters-every: 400
monsters-for: 100
villagers-max-per-tick: 4
villagers-every: 600
villagers-for: 100
flying-monsters-max-per-tick: 8
flying-monsters-every: 200
flying-monsters-for: 100
The Hopper Cooldown Setting
This is the single most impactful setting on servers with any automated item sorting. By default, hoppers attempt to transfer items on every game tick — even when they are full. cooldown-when-full: true makes hoppers stop attempting transfers when they have nowhere to put items. For servers with large sorting systems, this drops hopper-related CPU usage by 40–60%.
Spawn Limits in bukkit.yml
spawn-limits:
monsters: 50
animals: 10
water-animals: 5
water-ambient: 20
water-underground-creature: 5
axolotls: 5
ambient: 5
The default monsters: 70 allows 70 hostile mobs per player chunk radius. Lowering this to 50 has no noticeable gameplay impact on survival servers but reduces mob AI processing by ~25%.
Measuring Your Improvements
Before applying these settings, run:
/spark tps --milliseconds
Note the average MSPT (milliseconds per tick). Apply one configuration change, restart, let the server run for 15 minutes, then re-measure. Changes that improve MSPT are keepers.
On a 50-player Space-Node test server, applying the above settings collectively dropped average MSPT from 28ms to 18ms — a meaningful improvement that brings TPS from ~16 to a stable 19+.