Fortgeschritten7 minAktualisiert: 2026-09-13

Paper & Purpur Server Optimization: Fixing TPS Drops and Lag

Comprehensive guide to configuring chunk, entity, and mob tick limits to maintain a solid 20 TPS.

Geprüft mit

Minecraft
1.20.x – 1.21.x
Engine
Paper / Purpur
Java
17 / 21
Zuletzt geprüft
2026-09-13
Auf dieser Seite
Alle Anleitungen
Lesefortschritt

As player counts grow or automated mob farms expand, TPS (Ticks Per Second) can drop below 20, leading to delayed block breaks, rubberbanding, and server lag.

Minecraft Server Worlds and Optimization Architecture
World size, chunk generation, and entity density directly govern TPS stability.
Clodo
clodo.net / panelLIVE

Minecraft Purpur/Paper Cluster

System normal

Clodo Minecraft Panel Optimization Overview

Purpur engine, Aikar JVM arguments, and NVMe caching are active by default on the Clodo control panel.

Live TPS & MSPT
Panelde görünür
CPU / RAM usage
Anlık grafik
Engine & version
Panelden değiştirilir
Console & file manager
Tarayıcıdan
Clodo-Panel-Automatisierungen1-CLICK READY
Paper / Purpur / Fabric / ForgePanelden seçilir
Aikar G1GC startup flagsHazır gelir
Modrinth plugin installTek tık
server.properties editingDosya yöneticisi
SettingWhich load it reducesTrade-off
view-distanceChunks loaded and sent per playerPlayers see less far
simulation-distanceEntity, redstone and growth tickingDistant farms stall
despawn-rangesMonsters kept in memoryMob farms slow down
mob-spawn-range / limitsSpawned mobs, hence entity tick costFewer natural spawns
network-compression-thresholdCPU spent compressing tiny packetsSlightly more bandwidth
sync-chunk-writesMain thread waiting on diskHigher risk on hard shutdown

Diagnosing bottlenecks with the Spark profiler#

Before tweaking configs randomly, you must diagnose which plugin, entity, or chunk causes lag using Spark.

Minecraft Oyun İçi / Konsol
/spark profiler start --timeout 180
# 3 dakika sonra profil linki otomatik oluşturulur
/spark health --memory
Auf deinen Dienst anwenden

Install the Spark profiler

Downloads Spark from Modrinth into your plugins (or mods) folder. The version is picked to match your engine and Minecraft version.

  • A compatible Spark build is downloaded from Modrinth
  • After a restart, /spark profiler and /spark health become available

Der Server muss neu gestartet werden, damit die Änderung wirkt.

Wenn du einen Clodo-Dienst hast, kannst du diese Schritte ohne Terminal anwenden. Du siehst immer zuerst die Änderungen, bevor etwas geschrieben wird.

Critical optimization parameters#

The settings below in your server's root config files govern most of the CPU cost. Change them one at a time and measure with /spark health; changing everything at once tells you nothing about which one helped.

config/paper-world-defaults.yml
entities:
  spawning:
    despawn-ranges:
      monster:
        soft: 28
        hard: 96
    ticks-per-spawn:
      monster: 8
      animal: 400
chunks:
  auto-save-interval: 6000 # 5 dakika
  max-auto-save-chunks-per-tick: 8
Config File & ParameterDefaultRecommended ValuePerformance Impact
paper-world-defaults.yml > despawn-ranges.monster.hard12896 (or 72)Despawns distant mobs quickly, slashing entity overhead by 35%.
paper-world-defaults.yml > ticks-per-spawn.monster18Attempts mob spawning every 8 ticks rather than every tick.
paper-world-defaults.yml > auto-save-interval600012000 (10 min)Eliminates disk I/O lag spikes caused by overly frequent world flushes.
spigot.yml > entity-tracking-range.players4836Minimizes network packet processing across clients.

server.properties: the quickest win#

Before touching any YAML file, review two values in server.properties. view-distance controls how many chunks the server loads and streams per player; simulation-distance controls how many chunks actually tick. The default 10/10 can double MSPT on its own once you pass roughly 20 players.

server.properties
# Oyuncunun gordugu mesafe (chunk). 10 -> 8 gorsel olarak zor fark edilir.
view-distance=8
# Gercekten tick alan mesafe. Her zaman view-distance'tan kucuk veya esit olmali.
simulation-distance=6
# Bu esigin altindaki paketler sikistirilmaz; kucuk paketlerde CPU tasarrufu.
network-compression-threshold=256
# Chunk yazimi ana thread'i bekletmez. Ani kapanmada son saniyeler kaybolabilir.
sync-chunk-writes=false
Auf deinen Dienst anwenden

Apply view distance and chunk settings

Writes the server.properties values from this guide to your server. Your other settings are left untouched; only the keys below change.

  • view-distance = 8 (fewer chunks loaded per player)
  • simulation-distance = 6 (narrows entity and redstone ticking)
  • network-compression-threshold = 256 (CPU/bandwidth balance)
  • sync-chunk-writes = false (moves disk writes off the main thread)

Der Server muss neu gestartet werden, damit die Änderung wirkt.

Wenn du einen Clodo-Dienst hast, kannst du diese Schritte ohne Terminal anwenden. Du siehst immer zuerst die Änderungen, bevor etwas geschrieben wird.

Proper Java startup arguments (Aikar's Flags)#

Default Java garbage collection is ill-suited for Minecraft, causing severe 'Stop-The-World' pauses where the entire server freezes. Aikar's Flags tune G1GC parameters to compress pauses down to imperceptible milliseconds.

run.sh / Java Arguments
java -Xms12G -Xmx12G -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:InitiatingHeapOccupancyPercent=15 \
  -XX:SurvivorRatio=32 \
  -jar purpur.jar --nogui

Common mistakes and fixes#

Implementation method comparison#

Methodenvergleich

Wie setzt man das um?

Clodo Control Panel Quick Method

1-Click Optimized Engine & Live Metrics

Aikar's Flags are pre-configured out of the box; Purpur engine and Spark can be enabled in 1-click.

Wo im Panel? Panel > Service detail > 'Version & Engine' tab, then set the engine to 'Purpur'.
Schritt für Schritt:
  1. 1Switch the engine to Purpur on the 'Version & Engine' tab; no need to download and upload a jar by hand.
  2. 2Startup flags ship preconfigured; edit the startup command on the same tab if you want to change the Aikar parameters from this guide.
  3. 3Edit configuration files in-browser without SFTP downloads.
  4. 4Monitor live CPU, RAM and disk usage curves in real-time.

War diese Anleitung hilfreich?

Feedback geht direkt an das Team, das diese Anleitung pflegt.

Verwandte Anleitungen