Find us on social media
Optimize your server's TPS
Improve server performance by tuning Paper configuration, view distance, and entity limits.
Understanding TPS
TPS (Ticks Per Second) measures server performance. The target is 20 TPS. Below 18 TPS, players notice lag.
Check your TPS:
tpsOutput: TPS from last 1m, 5m, 15m: 20.0, 19.98, 19.95
Step 1: Use Paper or Purpur
If you're running Vanilla or Spigot, switch to Paper (or Purpur) for significant performance improvements out of the box.
Change your server type in the Startup tab at panel.baires.host.
Step 2: Optimize view and simulation distance
Edit server.properties:
view-distance=7
simulation-distance=5Lower values = better performance. Players can still see far with client-side render distance.
Step 3: Paper configuration
Edit config/paper-global.yml:
chunk-system:
gen-parallelism: default
io-threads: -1
worker-threads: -1Edit config/paper-world-defaults.yml:
chunks:
auto-save-interval: 6000
max-auto-save-chunks-per-tick: 8
delay-chunk-unloads-by: 10s
entities:
spawning:
monster-spawn-range: 6
environment:
optimize-explosions: true
hopper:
disable-move-event: true
tick-rates:
mob-spawner: 2
sensor:
villager:
secondarypoisensor: 80
behavior:
villager:
validatenearbypoi: -1Step 4: Limit entities
Too many entities (mobs, items, vehicles) kill TPS.
In bukkit.yml:
spawn-limits:
monsters: 50
animals: 8
water-animals: 3
water-ambient: 2
water-underground-creature: 3
axolotls: 3
ambient: 1
ticks-per:
monster-spawns: 4
animal-spawns: 400
water-spawns: 400Step 5: Pre-generate chunks
Chunk generation is expensive. Pre-generate your world:
- Install Chunky plugin
- Run:
chunky radius 5000
chunky startThis pre-generates chunks in a 5000-block radius, eliminating generation lag during gameplay.
Step 6: Optimize plugins
- Remove unused plugins
- Replace heavy plugins with lighter alternatives
- Use Spark profiler to identify slow plugins:
spark profiler start
# Wait 5 minutes
spark profiler stopReview the generated report to find performance bottlenecks.
Quick wins checklist
- Switch to Paper/Purpur
- Lower view-distance to 7-8
- Lower simulation-distance to 4-5
- Reduce mob spawn limits
- Pre-generate world chunks
- Remove unused plugins
- Disable hopper move events
- Optimize entity tick rates
Tips
- Use Spark (spark.lucko.me) for detailed performance profiling
- Monitor TPS over time, not just instant readings
- Restart the server every 12-24 hours to clear memory
- Consider splitting worlds across multiple servers with Velocity if one server can't handle the load