How to Maintain Constant 20 TPS on Minecraft: Complete Optimization Guide
Essential Paper, Purpur, and Aikar Flags configurations to eliminate lag spikes and maintain a steady 20 TPS even under heavy player load.

#Introduction to Minecraft Server Optimization
Maintaining 20 TPS (Ticks Per Second) is the top priority for any multiplayer Minecraft community. When TPS falls below 18, players experience block break delays, desynced mob movement, and noticeable input lag.
On CoalByte Cloud infrastructure, every server instance runs on high-frequency enterprise processor cores and fast NVMe storage. However, tuning your configuration files remains essential to get the maximum efficiency out of your allocated memory and CPU.
1. Select the Right Server Software
Running the official Vanilla server jar from Mojang is not recommended for public multiplayer environments. Instead, use modern optimized software:
- Purpur: Currently the top performance fork, based on Pufferfish and Paper, providing granular control over entity tick rates and gameplay settings.
- Paper: The industry benchmark for stability, security patches, and broad Spigot plugin compatibility.
- Fabric + Lithium: Ideal for technical servers that must preserve 100% vanilla redstone parity and precise mechanics.
2. Essential Settings in purpur.yml and paper-world-defaults.yml
In config/paper-world-defaults.yml, optimize tick distances and entity activation ranges:
# Recommended simulation distance for balanced CPU usage
simulation-distance: 4
# Player view distance (render chunks)
view-distance: 7
# Limit tick processing on idle mobs
entity-activation-range:
animals: 16
monsters: 24
raiders: 32
misc: 8
water: 12
tick-inactive-villagers: false3. Server Properties Fine-Tuning
Open server.properties in your CoalByte File Manager and verify these values:
view-distance=6simulation-distance=4network-compression-threshold=256max-tick-time=60000(prevents watchdog crash timeouts during temporary heavy world gen)
4. Aikar's Garbage Collector Flags
For Java startup parameters, always utilize Aikar's Flags for the G1 Garbage Collector:
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -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=1These flags virtually eliminate GC stop-the-world pauses and keep frame times smooth.
5. Profile Performance with Spark
Install the free spark plugin and run this command from console when players report lag:
/spark sampler --timeout 60The generated web profile accurately highlights runaway redstone clocks, entity clusters, or slow plugin hooks consuming CPU cycles.
Galería de Recursos e Imágenes


