Back to Guides
Server ManagementIntermediate
Minecraft Server Performance Optimization
Comprehensive guide to optimize your Minecraft server for better performance, higher TPS, and reduced lag.
Blockhead Support Team
12 minutes
This guide will help you achieve better TPS (ticks per second) and reduce lag for a smoother gameplay experience.
1
Optimize JVM Arguments
Use optimized Java startup flags for better garbage collection and memory management:
java -Xmx4G -Xms4G -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 server.jar nogui
Replace 4G with your desired RAM allocation. Never allocate more than 80% of your system RAM.
2
Configure server.properties
Optimize key server settings for better performance:
# Performance Settings
view-distance=6
simulation-distance=6
entity-broadcast-range-percentage=100
network-compression-threshold=256
# Reduce resource usage
max-tick-time=60000
spawn-protection=0
max-world-size=10000
# Entity limits
spawn-limits.monster=50
spawn-limits.creature=15
spawn-limits.ambient=15
spawn-limits.water=5
3
Install Paper or Fabric
Switch from vanilla Minecraft to optimized server software:
Paper (Bukkit/Spigot fork):
- Better performance than vanilla
- Plugin support
- Download from papermc.io
Fabric (Lightweight modding):
- Excellent performance with optimization mods
- Lithium, Phosphor, and Sodium server-side
- Download from fabricmc.net
4
Optimize World Settings
Configure world generation and loaded chunks efficiently:
- Pre-generate chunks: Use plugins like WorldBorder to pre-generate your world
- Limit world size: Set a reasonable world border (e.g., 5000x5000 blocks)
- Unload unused chunks: Configure aggressive chunk unloading
- Optimize mob spawning: Reduce mob spawn rates in low-traffic areas
# Paper config - paper-world-defaults.yml
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
entity-per-chunk-save-limit: 8
5
Manage Entities and Redstone
Control resource-intensive game mechanics:
Entity Management:
- Clear dropped items regularly:
/kill @e[type=item]
- Limit mob farms and entity counts
- Use entity clearing plugins like ClearLag
Redstone Optimization:
- Limit hopper usage and item transportation
- Use water streams instead of hoppers when possible
- Avoid clock circuits and excessive redstone contraptions
6
Database and Storage Optimization
Optimize data storage for better I/O performance:
- Use SSD storage: Significantly improves chunk loading times
- Regular backups: Automated backups to prevent data loss
- Optimize database: If using plugins with databases, ensure proper indexing
- Clear old log files: Remove old logs to save disk space
7
Network Optimization
Reduce network lag and improve connection quality:
# server.properties network settings
network-compression-threshold=256
rate-limit=0
max-players=20
# Paper config - paper-global.yml
packet-limiter:
kick-threshold: 300
max-packet-rate: 500
8
Monitor Performance
Use tools to monitor and identify performance bottlenecks:
- Timings reports:
/timings on
then/timings report
- Spark profiler: Advanced profiling plugin for detailed analysis
- TPS monitoring: Use
/tps
command to check server performance - Resource monitoring: Monitor CPU, RAM, and disk usage
Target TPS: 20.0 (perfect), 19+ (good), 18+ (acceptable), below 18 (needs optimization)
With these optimizations, you should see improved TPS, reduced lag, and better overall server performance. Monitor your server regularly and adjust settings as needed.
Need More Help?
Our support team is available 24/7 to help with any Minecraft server issues.