10 Pro Tips to Optimize Your Minecraft Server Performance
Eliminate lag, boost TPS, and deliver buttery-smooth gameplay. These battle-tested optimization techniques are used by professional server administrators to keep thousands of players happy.
Server lag is the eternal enemy of every Minecraft administrator. That frustrating rubber-banding, delayed block breaks, and choppy gameplay drive players away and kill communities. But it doesn't have to be this way.
After years of managing servers ranging from small friend groups to networks with thousands of concurrent players, we've compiled the most effective optimization techniques. These aren't theoretical tips—they're battle-tested strategies that consistently deliver measurable improvements.
✨ What You'll Learn
By the end of this guide, you'll have a comprehensive toolkit to diagnose performance issues, implement optimizations, and maintain a smooth server experience regardless of your player count.
Understanding TPS: The Health Metric
Before diving into optimizations, you need to understand TPS (Ticks Per Second). Minecraft runs at 20 TPS—meaning the server processes game logic 20 times per second. When TPS drops below 20, the game slows down:
| TPS | Status | Player Experience |
|---|---|---|
| 20 | Perfect | Smooth, responsive gameplay |
| 18-19 | Good | Mostly unnoticeable |
| 15-17 | Degraded | Slight lag, minor delays |
| 10-14 | Poor | Noticeable lag, frustrating |
| <10 | Critical | Unplayable, players will leave |
Use /tps (Spigot/Paper) or /spark tps to monitor your server's health.
Tip 1: Use Optimized Server Software
The foundation of a performant server is the right software. Vanilla Minecraft server is notoriously unoptimized. Here's the performance hierarchy:
Paper (Recommended)
Fork of Spigot with aggressive optimizations. 30-50% better TPS than vanilla with full plugin compatibility.
Purpur
Fork of Paper with additional configuration options and features. Excellent for customization.
Spigot
Good optimization, massive plugin ecosystem. Use if specific plugins don't support Paper.
đź’ˇ Migration Tip
Switching from vanilla to Paper is usually seamless. Copy your world folder, update your start script to use paper.jar, and start. Most plugins work without changes.
Tip 2: Fine-Tune JVM Arguments
Java Virtual Machine (JVM) arguments control how Minecraft uses memory and runs garbage collection. Poor JVM configuration causes lag spikes even on powerful hardware.
# Recommended startup flags (Aikar's Flags)
java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar paper.jar noguiKey points:
- • Set
-Xmsand-Xmxto the same value to prevent memory resizing - • G1GC is recommended for Minecraft; avoid ZGC or Shenandoah
- • Don't allocate more than 12GB unless running massive modpacks
- • More RAM isn't always better—poorly tuned GC causes worse lag
Tip 3: Reduce View Distance Strategically
View distance has a quadratic impact on server load. Each additional chunk doubles the processing area. Default is often too high.
server.properties
view-distance=6Controls chunk loading for game logic
paper.yml (Paper only)
simulation-distance: 4Controls mob AI/redstone (can be lower than view)
Recommendation: Set view-distance to 6-8 and simulation-distance to 4. Players can still see distant chunks, but the server only processes nearby ones.
Tip 4: Limit Entity Counts
Entities (mobs, items, minecarts) are major performance killers. A single player's poorly designed mob farm can tank your TPS.
# bukkit.yml spawn limits
spawn-limits:
monsters: 50
animals: 8
water-animals: 3
water-ambient: 5
ambient: 1Also consider plugins like ClearLag to periodically remove ground items and excess mobs. Enable mob stacking if running survival servers.
Tip 5: Optimize Your Plugins
Plugins are necessary for functionality but can destroy performance if not chosen carefully:
- Avoid poorly coded plugins
Use Spark profiler to identify which plugins consume the most resources. Replace or remove offenders.
- Choose quality over quantity
One well-made plugin is better than three mediocre ones. Premium plugins are often worth the investment.
- Configure async operations
Many plugins have options to run heavy tasks asynchronously. Enable these wherever possible.
Tip 6: Use NVMe SSD Storage
Storage speed directly impacts chunk loading, world saves, and plugin data access. The difference between HDD and NVMe is dramatic:
~150 MB/s
HDD
~550 MB/s
SATA SSD
~7000 MB/s
NVMe SSD
If your hosting provider uses HDD storage, seriously consider switching. The performance difference for Minecraft is immediately noticeable.
Tip 7: Pre-Generate Your World
Generating new chunks on-the-fly is computationally expensive. Pre-generating terrain eliminates this load during gameplay.
Use plugins like Chunky to pre-generate a defined area:
/chunky radius 5000
/chunky startThis generates all chunks within a 5000 block radius. Run this during low-activity periods or before server launch. Combine with a world border to prevent players from generating new terrain.
Tip 8: Configure Tick Timings
Paper offers extensive configuration options in paper.yml to control how frequently various systems tick:
# paper.yml optimization examples
tick-rates:
sensor:
villager:
secondarypoisensor: 80
behavior:
villager:
validatenearbypoi: 60
alt-item-despawn-rate:
enabled: true
items:
cobblestone: 300
netherrack: 300These settings reduce how often computationally expensive tasks run without noticeably affecting gameplay.
Tip 9: Regular Maintenance
Even optimized servers degrade over time. Implement regular maintenance routines:
Daily
- • Scheduled restarts
- • Clear ground items
- • Backup world data
Weekly
- • Review Spark profiler reports
- • Update plugins/server software
- • Check entity counts by chunk
Tip 10: Smart Resource Allocation
Finally, ensure your server has adequate resources for your player count and plugins:
- • RAM: 4-6GB for under 20 players, 8GB+ for modded or 50+ players
- • CPU: Minecraft is single-threaded; fast single-core performance matters most
- • Network: Ensure low-latency connection to your player base
Monitor actual usage with your hosting panel. If consistently hitting limits, upgrade before performance degrades.
Conclusion
Optimizing a Minecraft server is an ongoing process, not a one-time task. Start with the fundamentals—proper server software, tuned JVM flags, and reasonable view distances—then progressively refine based on your specific situation.
Use profiling tools like Spark regularly to identify bottlenecks. Every server is unique, and what works for one may not work for another. The key is continuous monitoring and iterative improvement.
QeinTech Gaming Team
Our gaming infrastructure specialists have optimized servers for communities ranging from 10 to 10,000+ players. These tips come from real-world experience, not theory.
Learn more about our expertise →Need Optimized Hosting?
Our Minecraft hosting comes pre-optimized with Paper, tuned JVM flags, and NVMe storage. Focus on your community while we handle performance.