Hosting

Minecraft server mods and optimization for performance

Complete Minecraft server performance guide: optimization mods, JVM flags, view-distance, entity limits, Spark profiler and practices to keep TPS stable on vanilla, Paper and modpacks.

Samuel AkiresCEO RoxyCloud
2 min read367 words
Minecraft server mods and optimization for performance

Low TPS comes from high view-distance, uncontrolled farms, heavy plugins or a weak CPU. This guide collects settings that work on Paper, Purpur and Forge/NeoForge modpacks.

TPS and MSPT

MetricIdealWarning
TPS20Below 18
MSPT< 45 msAbove 55 ms
RAM60-80%Above 90% constantly

Paper and Purpur

Paper already optimizes on top of Spigot. Purpur inherits that and adds options in purpur.yml. Lower simulation-distance separately from view-distance: players see far, the server simulates less.

paper-world-defaults.yml (excerpt)
entities:
  spawning:
    alt-item-despawn-rate:
      enabled: true
      items:
        cobblestone: 300
    despawn-ranges:
      monster:
        hard: 56
  • view-distance: 8-10 · simulation-distance: 6-8
  • Pre-generate chunks with Chunky before opening to the public
  • Monitor with /tps or the Spark plugin

Forge and NeoForge mods

ModRole
ModernFixFaster boot and less RAM
FerriteCoreMemory compression
AI ImprovementsOptimized mob pathfinding
ClumpsGroups XP orbs
ChunkyChunk pre-generation

JVM flags

start.sh (4 GB)
java -Xms4G -Xmx4G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+DisableExplicitGC \
  -jar paper.jar nogui

Use Java 21 LTS for Minecraft 1.20.5+. G1GC is the default for a 4 GB+ heap. Do not allocate 100% of RAM to Java.

Spark profiler

  1. Install Spark (plugin on Paper/Purpur, mod on Forge/NeoForge).
  2. Reproduce the lag with an active farm or many players.
  3. /spark profiler start → wait 2-5 min → /spark profiler stop.
  4. Read the link: plugins, mods or entities at the top are the culprit.

World and entities

  • Limit giant automatic farms with staff rules.
  • Turn off excessive random_tick_speed if it was changed via gamerule.
  • Use WorldBorder to contain infinite exploration.
  • Clear-lag plugins or Paper configs for distant items/mobs.
  • Scheduled restarts clean plugin memory leaks.

High-clock CPU and NVMe SSD matter as much as config. Minecraft depends on single-core. Measure, change incrementally and take a backup before drastic changes.

Frequently asked questions

Straight answers before you order

Ideal: a constant 20 TPS. Below 18, combat, redstone and movement become inconsistent.

Yes. Paper is an optimized Spigot fork with performance patches and granular settings. It is the default choice in 2026.

ModernFix, FerriteCore, AI Improvements and Clumps reduce RAM and CPU. Availability depends on the modpack and loader.

Yes. Each increment increases simulated chunks and entities exponentially. Use 8-10 on most servers.

A profiler that shows what uses CPU: plugins, mods, entities or chunks. Essential to diagnose lag that is not obvious.

No. RAM fixes OutOfMemoryError. Low TPS from a saturated CPU needs config, hardware or a lighter load.