How to Host a Lag-Free Modded Minecraft Server: Performance Tuning & Best Settings
Expert guide to running a heavily modded Minecraft server with high TPS, fast chunk generation, and zero lag - using VPSLab's NVMe Minecraft hosting.

A modded Minecraft server can turn into a lag-filled nightmare the moment a few players start chunk-loading or automation kicks in. The difference between a smooth 20 TPS experience and a stuttering mess often comes down to how you configure the server - and the hardware underneath.
VPSLab's Minecraft server hosting runs on NVMe SSD storage with dedicated CPU cores and free DDoS protection, giving you a solid foundation. This guide shows you how to tune the server software side to squeeze out every last bit of performance.
#1. Choose the right plan and server software
#RAM and CPU sizing
| Players | Mods/Plugins | Recommended RAM | CPU Threads |
|---|---|---|---|
| 2-5 | Light (<30) | 4 GB | 2 |
| 5-10 | Medium (30-80) | 8 GB | 3-4 |
| 10-20 | Heavy (80+) | 12-16 GB | 4-6 |
Because VPSLab uses dedicated vCPU threads (not shared, oversold cores), the CPU allocation you pick is what you actually get.
#Server jar selection
- For mods: Forge or Fabric (with performance mods like Lithium, Phosphor, and Sodium if the client also uses Fabric). Fabric often runs lighter for purely server-side modpacks.
- For plugins (and some mods): Paper or Purpur are excellent, especially if you combine mods with plugins via a hybrid loader like Magma or Mohist. Be ready for a bit more CPU overhead with hybrids.
Start with the jar your chosen modpack recommends, then tweak.
#2. Configure server.properties for performance
Edit server.properties in your server's root directory. The following
settings have the biggest impact on lag:
network-compression-threshold=256
simulation-distance=6
view-distance=8
max-tick-time=60000
max-players= (set to your expected peak, not max theoretical)
allow-flight=true
enable-jmx-monitoring=false
view-distance=8(or lower) drastically reduces the number of chunks the server sends to players, lowering CPU and bandwidth usage.simulation-distance=6limits the distance at which entities and redstone are processed. For modded worlds with heavy automation, dropping this to 4 can save massive CPU cycles.max-tick-time=60000prevents the watchdog from killing the server if a single tick takes too long (common with world-generating mods). This setting is safe on dedicated resources like VPSLab's.
#3. Tune the JVM flags
Don't use the default java -jar command. Pass optimised JVM arguments in
your start script:
java -Xms4G -Xmx8G -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 -Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true -jar server.jar nogui
Replace -Xms4G and -Xmx8G with your actual allocated RAM (Xms = minimum,
Xmx = maximum). Using G1GC with Aikar's flags is the industry standard for
Minecraft servers and keeps garbage-collection pauses short.
#4. Install performance-boosting mods & plugins
#Forge / Fabric mods (server-side)
- Lithium (Fabric) - improves mob AI, physics, and block ticking.
- Phosphor / Starlight (Fabric) - rewrites the lighting engine for huge speed gains.
- FerriteCore (Forge/Fabric) - reduces memory usage.
- LazyDFU (Forge/Fabric) - delays DataFixerUpper initialisation, cutting startup time and memory.
#Paper / Purpur plugins
- ClearLag - removes ground items and entities on a configurable schedule.
- Chunky - pre-generates chunks so players don't generate new terrain on the fly.
- Spark - profiles CPU and memory usage in real time to spot lag sources.
#5. Pre-generate the world
One of the biggest lag spikes comes from new chunk generation. Use a plugin
like Chunky or the /forge generate command to pre-generate a radius of at
least 5,000 blocks before opening the server to players. Your NVMe storage
makes this process significantly faster than traditional HDD-based hosts.
#6. Schedule automatic restarts
Modded servers leak memory over time. A daily restart at off-peak hours
clears caches and prevents memory creep. On Linux you can use a simple cron
job or screen with a restart script; VPSLab's game server panel
includes built-in scheduled tasks once the feature rolls out for all titles.
#Why VPSLab works for modded Minecraft
- NVMe SSDs - fast chunk loading and world saves, even with huge modpacks.
- Dedicated vCPU threads - no noisy neighbours stealing your tick time.
- DDoS protection - keeps your server online, even if someone tries to knock it offline.
- Instant setup - deploy a Minecraft server in minutes and start tweaking immediately.
Ready to build a lag-free modded world? Deploy your Minecraft server now and put these settings to work on enterprise NVMe hardware.
Ready to deploy your own VPS?
Privacy-first hosting with crypto payments and instant setup.
Related articles
The Ultimate Guide to Securing Your Linux VPS in 2026
A step-by-step tutorial to hardening your new Linux VPS. Learn how to configure SSH keys, set up UFW, and install Fail2Ban to keep your unmanaged server safe.
The Ultimate Guide to Buying a VPS with Cryptocurrency
Why pay with Bitcoin or Monero for hosting, how to complete your first crypto VPS purchase safely, and what to look for in a privacy-first provider.
How to Set Up a Secure, Privacy-First Windows RDP Server on VPSLab
Step-by-step guide to deploying a hardened Windows RDP VPS with full admin access, crypto payments, and zero KYC - perfect for privacy-conscious remote work.