How to Optimize Your Minecraft Server Performance and Reduce Lag

Running a smooth Minecraft server takes more than just hitting “Start.” Performance issues like low TPS, high ping, and constant lag spikes can quickly frustrate your players and drive them away. This guide walks you through the most effective, up-to-date strategies to optimize your Minecraft server and eliminate lag for good.
Understand TPS — The Heartbeat of Your Server. Minecraft servers target 20 TPS (Ticks Per Second). When your server drops below 20 TPS, gameplay becomes noticeably slower — affecting mob movement, block breaking, crop growth, and every player interaction. Keeping your TPS consistently at 19–20 is the ultimate goal of server optimization.
Switch to a Performance-Optimized Server JAR. Vanilla Minecraft server software was never built for heavy multiplayer performance. Switching to PaperMC is one of the single biggest improvements you can make — it reduces unnecessary chunk updates, optimizes entity processing, and unlocks advanced configuration settings. For even more control, Purpur is a performance-focused PaperMC fork that adds extra tuning for AI behavior and physics.
Tune Your Server Configuration Files. Lowering your view distance to 6–8 chunks drastically reduces how many chunks the server keeps loaded per player, cutting CPU usage with almost no visible impact on gameplay. Similarly, reducing simulation distance to 4–6 in server.properties limits how many chunks are actively ticked around each player — a major win for large bases and farms.
Control Entities to Prevent Lag Spikes. Entities are the biggest performance drain on most Minecraft servers. Every mob, dropped item, minecart, and armor stand consumes CPU cycles every tick. Setting mob spawn limits in bukkit.yml, spigot.yml, or paper.yml is one of the fastest ways to stabilize TPS. Villagers are especially costly — they check for beds, pathfind to workstations, and run trade logic every single tick.
Pre-Generate Your World to Avoid Runtime Chunk Lag. Real-time chunk generation is one of the most CPU-intensive operations a Minecraft server performs. Using the Chunky plugin to pre-generate your world prevents sudden lag spikes when players explore new areas. You can also use a WorldBorder to cap world size, ensuring the server never has to generate chunks on the fly during active play.
Use the Right Plugins — and Remove the Rest. A lean plugin list is a fast plugin list. Use Spark to monitor CPU and memory usage and pinpoint lag sources in real time. Add ClearLag to automate entity removal and periodically unload unused chunks. Remove or disable any plugins you’re not actively using — even idle plugins consume server resources on every restart.
Schedule Restarts and Automate Maintenance. Setting automatic server restarts every 12 hours frees up accumulated memory and clears entity buildup that grows over time. Enable automated world saves to prevent data loss and reduce chunk corruption. Combine scheduled restarts with regular TPS monitoring using Spark to catch performance regressions before your players ever notice them.
Scroll to top