Ruckelt dein Paper-Server? Diese Anleitung zeigt dir, wie du die Ursache findest und gezielt behebst – statt blind Werte zu ändern. Das reine Nachschlagen, welche Config-Option was bedeutet, findest du im Referenzartikel Paper-Konfiguration erklärt.

TPS und MSPT verstehen

  • TPS (Ticks per Second): Wie oft der Server die Welt pro Sekunde berechnet. 20 = Soll. Ab 19 wird es spürbar, unter 15 kritisch.
  • MSPT (Milliseconds per Tick): Wie lange ein Tick dauert. Das ist die aussagekräftigere Zahl. Bei 20 TPS stehen 50 ms pro Tick zur Verfügung – Ziel: dauerhaft unter 50 ms, idealerweise unter 35 ms.

TPS/MSPT messen: /tps, /mspt und – am aussagekräftigsten – das Spark-Plugin.

Erst diagnostizieren, dann konfigurieren

Das ist der wichtigste Abschnitt. Miss zuerst, wo die Zeit verloren geht – rate nicht.

  1. Spark installieren (Plugin)
  2. Profiler starten: /spark profiler start, ein paar Minuten unter Last laufen lassen
  3. Stoppen mit /spark profiler stop – du erhältst einen Link mit detailliertem Report
  4. Im Report ablesen, welche Systeme die Zeit fressen (Entities, Chunks, Redstone, Plugins, Hopper)
  5. Für plötzliche Ruckler: /spark tickmonitor zeigt Lag-Spitzen
  6. Alternativ: der klassische Timings-Report
Wichtig
Merksatz: Config-Tuning bringt 2–5 TPS – ein kaputtes Plugin kostet 15. Wer ohne Diagnose an der Config schraubt, optimiert oft an der falschen Stelle.

Lag-Ursachen nach Kategorie

KategorieTypische Ursache
Arbeitsspeicher / JVMZu wenig RAM oder fehlende/falsche JVM-Flags (Aikar's Flags)
Java-VersionFalsche Java-Version für die Minecraft-Version
SichtweiteZu hohe view-distance / simulation-distance
EntitiesMob-Farmen, herumliegende Item-Drops, Boote/Loren in Massen
ChunksSpieler generieren mit Elytra ständig neue Chunks
RedstoneRedstone-Uhren, lange Hopper-Ketten
PluginsZu viele oder schlecht programmierte Plugins
HardwareHDD statt SSD, überbuchte/geteilte Hardware
NetzwerkNetzwerk-Lag ≠ Server-Lag: hoher Ping bei guten TPS = Netzwerk, nicht der Server
Info
Ping und TPS sind zwei verschiedene Dinge. Ein hoher Ping bei stabilen 20 TPS ist ein Verbindungs-Problem (Route, WLAN, Distanz) – kein Server-Lag.

Konkrete Config-Empfehlungen

Die folgenden Hebel bringen erfahrungsgemäß am meisten. Zu jedem: was es an Gameplay kostet – ehrlich benannt. Die vollständige Erklärung jedes Schlüssels steht im Referenzartikel.

Einstellung (Datei)EmpfehlungKosten fürs Gameplay
view-distance / simulation-distance (server.properties)An Spielerzahl anpassen, z. B. view 8, simulation 6Etwas geringere Sichtweite; kaum spürbar
redstone-implementation (paper)ALTERNATE_CURRENTKeine – schnellere, kompatible Redstone-Engine
per-player-mob-spawns (paper)trueKeine spürbaren; fairere Mob-Verteilung
tick-rates.behavior.villager / sensor.villager (paper)Werte erhöhen (seltener ticken)Villager reagieren minimal träger
max-auto-save-chunks-per-tick (paper)SenkenSpeichern verteilt sich; minimal höheres Datenverlust-Risiko bei Absturz
despawn-ranges (paper)ReduzierenMobs verschwinden etwas früher in der Ferne
entity-activation-range (spigot.yml)Pro Mob-Typ senkenEntfernte Mobs „schlafen" früher; bei Farmen beachten
merge-radius (spigot.yml)Für Items/XP-Orbs erhöhenDrops/Orbs verschmelzen großzügiger
max-entity-collisions (paper)Senken (z. B. 2)Weniger Schiebe-Physik bei Mob-Massen
hopper.disable-move-event (paper)true⚠️ Kann Hopper-abhängige Plugins stören
Achtung
hopper.disable-move-event: true spart spürbar Leistung, unterdrückt aber das InventoryMoveItemEvent. Plugins, die auf Hopper-Bewegungen reagieren (manche Shop-/Sortier-Plugins), funktionieren dann nicht mehr. Vorher prüfen.

JVM & Hardware

  • Aikar's Flags verwenden – aber verstehen, nicht nur hinklatschen: Sie stimmen den G1-Garbage-Collector so ab, dass Lag-Spitzen durch GC-Pausen minimiert werden. Den vollständigen Flag-Satz findest du im Artikel Minecraft-Server-Performance optimieren.
  • RAM: Mehr ist nicht automatisch besser. Zu viel Heap verlängert die GC-Pausen. Weise so viel zu, wie der Server realistisch braucht (-Xms = -Xmx).
  • CPU: Minecraft ist überwiegend single-threaded – der Haupt-Tick läuft auf einem Kern. Single-Core-Leistung schlägt Kernanzahl. Ein schneller 4-Kerner ist besser als ein langsamer 16-Kerner.
  • Java-Version passend zur Minecraft-Version wählen (aktuelle Versionen brauchen Java 21).
Tipp
Auf geteilter/überbuchter Hardware helfen keine Config-Tricks, wenn schlicht die CPU-Leistung fehlt. Ein Server mit garantierter, starker Single-Core-Leistung ist die Basis – hier lohnt der Blick auf einen leistungsstärkeren Gameserver.

Plugin-Hygiene

  • Bei Verdacht: Plugins einzeln deaktivieren und TPS beobachten, um den Übeltäter einzugrenzen
  • Typische Performance-Fresser: Dynmap (Rendering), schwere Protection-/World-Management-Plugins
  • Spark ist Pflicht zur Diagnose; ClearLag & Co. kritisch bewerten – sie kaschieren Symptome oft nur
  • Vorsicht bei „Optimierungs"-Plugins, die selbst spürbar Last erzeugen

Was NICHT hilft

  • Blind RAM hochsetzen – ab einem gewissen Punkt schadet mehr Heap durch längere GC-Pausen sogar
  • Random-Configs aus YouTube-Videos kopieren – oft veraltet, für andere Versionen oder blind übernommen
  • Chunk-Cleaner als Dauerlösung – bekämpft Symptome statt der Ursache; besser die Quelle der Entities finden

Kurz-Checkliste

  1. Messen mit /spark profiler – nicht raten
  2. Plugins ausschließen (einzeln deaktivieren)
  3. Java 21 + Aikar's Flags, -Xms = -Xmx
  4. view-/simulation-distance an Spielerzahl anpassen
  5. redstone-implementation: ALTERNATE_CURRENT, per-player-mob-spawns: true
  6. Villager-Tick-Rates hoch, max-auto-save-chunks-per-tick runter, despawn-ranges runter
  7. Erst danach an Feintuning denken

Weiter geht's