Skip to main content
← All Guides
Troubleshooting · 7 min read

How to Diagnose & Fix TPS Drops on Minecraft Servers

Step-by-step guide to diagnosing and fixing TPS drops on Minecraft servers, profiling with Spark, entity culling, tick analysis and Paper optimisation.

Understanding TPS

TPS stands for Ticks Per Second. A Minecraft server targets 20 TPS, meaning it processes one game tick every 50 milliseconds. When a tick takes longer than 50 ms, TPS drops below 20, and players experience lag: delayed block breaks, slow mob movement, rubber-banding. A reliable minecraft tps drops fix requires finding which tick operations are too slow.

Use /spark tps to view current TPS, or /tps for the built-in approximation. Spark is far more accurate and also shows tick duration percentiles.

Step 1: Profile with Spark

Install Spark on your server. Run:

/spark profiler start --thread server
# Wait 5-10 minutes during peak load
/spark profiler stop

The generated report shows a flame graph of server thread activity. Expand the top-level nodes to find which subsystem consumes the most tick time. Common culprits:

  • Entity ticking: Mobs, items, armor stands processing AI and physics.
  • Chunk loading/generation: Generating new terrain is extremely expensive.
  • Plugin listeners: Event handlers that run expensive logic on every tick or event.
  • Tile entity ticking: Hoppers, furnaces, beacons, each ticks every server tick.

Step 2: Monitor Tick Duration

Run /spark tickmonitor --threshold 50. This alerts you every time a tick exceeds 50 ms and shows what caused the spike. Leave it running during gameplay and note patterns: do spikes happen during mob farms, chunk exploration, or specific plugin commands?

Step 3: Fix Entity-Related TPS Drops

Entities are the most common cause of TPS drops. Paper provides extensive entity tuning in paper-world-defaults.yml:

spawn-limits:
  monsters: 50
  animals: 8
  water-animals: 3
  water-ambient: 5
  ambient: 1
entity-per-chunk-save-limit:
  arrow: 16
  ender_pearl: 8
  experience_orb: 16
  fireball: 8
  small_fireball: 8
  snowball: 8
tick-rates:
  behavior:
    villager:
      validatenearbypoi: 60
  sensor:
    villager:
      secondarypoisensor: 80

Villagers are especially expensive because of their complex AI (job site validation, pathfinding, gossip). Increasing villager tick rates or using a plugin like VillagerOptimiser can dramatically reduce their CPU cost.

Step 4: Fix Chunk-Related TPS Drops

If the Spark profiler shows chunk generation or loading as a major consumer:

  • Pre-generate with Chunky: /chunky radius 5000 then /chunky start.
  • Lower simulation-distance in server.properties.
  • Paper's async chunk loading helps, but generating new chunks is always CPU-intensive.

Step 5: Fix Hopper and Redstone TPS Drops

Hoppers are checked every tick and fire inventory move events. In paper-world-defaults.yml:

hopper:
  disable-move-event: true
  cooldown-when-full: true

For redstone, switch to Paper's alternate current implementation:

redstone-implementation: alternate-current

This is a complete rewrite of the redstone engine that is significantly faster than vanilla while maintaining identical behaviour for most circuits.

Step 6: Plugin Audit

If Spark shows plugin methods in the hot path:

  1. Identify the plugin from the class name in the flame graph.
  2. Check if an update exists that fixes the performance issue.
  3. Disable the plugin and confirm TPS improves.
  4. Consider replacing it with a lighter alternative.

The minecraft tps drops fix is iterative, profile, change one thing, profile again. Never change multiple settings at once or you will not know what helped.

For lag caused by network issues rather than tick performance, see our general lag fix guide. If TPS drops coincide with memory pressure, check the OOM guide.

Need reliable hosting that handles these issues out of the box? Astroworld Hosting runs optimised Paper servers on NVMe SSDs with 24/7 support.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe