Ruckler, Verzögerungen beim Blockabbau, „springende" Mobs – fast immer steckt eine zu niedrige TPS dahinter. Die gute Nachricht: Die meisten Performance-Probleme auf einem Minecraft-Server lassen sich mit der richtigen Server-Software, passenden JVM-Flags und ein paar Konfigurationswerten deutlich entschärfen. Diese Anleitung zeigt dir Schritt für Schritt, wie du die Ursachen findest und behebst.
Was ist TPS – und warum ruckelt mein Server?
TPS steht für Ticks per Second. Ein Minecraft-Server berechnet die Welt 20-mal pro Sekunde – das Ziel sind also 20 TPS. Sinkt der Wert darunter, läuft die Spielwelt langsamer als in Echtzeit: Der Server „hängt".
Genauso wichtig ist MSPT (Milliseconds per Tick) – wie lange der Server für einen Tick braucht. Bei 20 TPS bleiben 50 ms pro Tick. Werte dauerhaft über 50 ms bedeuten Lag.
| Wert | Bedeutung |
|---|---|
| 20 TPS / < 40 ms MSPT | Alles optimal |
| 18–20 TPS | Leichte Last, meist unkritisch |
| < 18 TPS | Spürbarer Lag – Ursache suchen |
| < 10 TPS | Server kämpft stark, dringend handeln |
/tps und /mspt (auf Paper und Forks verfügbar). Das ist immer der erste Schritt bei Lag.Schritt 1: Die richtige Server-Software wählen
Der größte Performance-Sprung gelingt oft schon durch den Wechsel der Server-Software. Vanilla und Spigot sind deutlich langsamer als moderne Forks:
| Software | Empfehlung |
|---|---|
| Vanilla | Nur für Puristen – wenig optimiert |
| Spigot | Besser als Vanilla, aber veraltet |
| Paper | Empfohlener Standard – schnell & kompatibel |
| Purpur / Pufferfish | Paper-Forks mit noch mehr Tuning-Optionen |
Für die meisten Server ist Paper die beste Wahl: hohe Kompatibilität mit Plugins und spürbar bessere Performance als Spigot.
Schritt 2: Java-Version & Arbeitsspeicher
Moderne Minecraft-Versionen brauchen eine aktuelle Java-Version:
- Minecraft 1.17–1.20.4 → Java 17
- Minecraft 1.20.5 und neuer → Java 21
Beim RAM gilt: so viel wie nötig, nicht so viel wie möglich. Zu viel zugewiesener Speicher verlängert die Pausen der Garbage Collection und kann sogar mehr Lag verursachen.
-Xms und -Xmx auf denselben Wert (z. B. beide 4 GB). So muss die JVM den Heap nicht ständig vergrößern/verkleinern, was Ruckler vermeidet.Als Richtwert für RAM (ohne große Modpacks):
| Spieler | Empfohlener RAM |
|---|---|
| 1–5 | 2–3 GB |
| 5–15 | 4–6 GB |
| 15–40 | 6–10 GB |
| Modpacks | 8 GB und mehr |
Schritt 3: Aikar's Flags – die optimalen JVM-Startparameter
Die Standard-JVM-Einstellungen sind für Minecraft nicht ideal. Aikar's Flags sind ein bewährter Satz von Startparametern, der die Garbage Collection (G1GC) so einstellt, dass Lag-Spikes minimiert werden. Trage sie als Startparameter deines Servers ein (Beispiel für 4 GB):
java -Xms4G -Xmx4G --add-modules=jdk.incubator.vector -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 -jar server.jar --nogui
Passe -Xms und -Xmx an deinen RAM an. Ab 12 GB solltest du zusätzlich diese vier Werte ändern:
-XX:G1NewSizePercent=40
-XX:G1MaxNewSizePercent=50
-XX:G1HeapRegionSize=16M
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=20
Schritt 4: Ursachen für schlechte TPS finden
Rate nicht – miss. Das Plugin spark zeigt dir genau, was den Server ausbremst:
sparkals Plugin installieren/spark profiler starteingeben, ein paar Minuten laufen lassen/spark profiler stop– du erhältst einen Link mit detaillierter Auswertung
So siehst du sofort, ob Entities, ein bestimmtes Plugin oder Weltgenerierung die Last verursachen.
Schritt 5: Häufige Lag-Ursachen & Lösungen
| Ursache | Lösung |
|---|---|
| Zu viele Entities (Mobfarmen, Items) | Mob-Limits senken, Item-Despawn prüfen |
| View-/Simulation-Distance zu hoch | In server.properties reduzieren |
| Redstone- & Hopper-Maschinen | Anzahl begrenzen, Hopper-Alternativen nutzen |
| Zu viele oder schlechte Plugins | Nicht genutzte entfernen, mit spark prüfen |
| Chunks werden live generiert | Welt mit Chunky vorgenerieren |
| Zu wenig/zu viel RAM | Zuweisung an Spielerzahl anpassen |
Schritt 6: server.properties & Paper-Config feintunen
Zwei Werte in der server.properties haben den größten Effekt:
view-distance=8
simulation-distance=6
- view-distance = wie weit Spieler sehen.
10ist Standard,8spart viel Last bei kaum sichtbarem Unterschied. - simulation-distance = wie weit entfernt die Welt aktiv „tickt" (Mobs, Wachstum).
6ist ein guter Kompromiss.
In der Paper-Konfiguration (config/paper-world-defaults.yml) lohnen sich zusätzlich niedrigere mob-spawn-range und angepasste entity activation range – teste die Werte mit spark gegen.
Schnell-Checkliste
- Paper (statt Vanilla/Spigot) verwenden
- Passende Java-Version (17 bzw. 21) wählen
-Xms=-Xmx, RAM an Spielerzahl anpassen- Aikar's Flags als Startparameter setzen
- Mit
/tpsund spark messen statt raten - view-distance und simulation-distance senken
- Welt mit Chunky vorgenerieren
Mit diesen Schritten holst du das Maximum aus deinem Server heraus. Wenn deine aktuelle Maschine dauerhaft am Limit läuft, hilft am Ende nur mehr Leistung – dann lohnt sich ein Blick auf einen leistungsstärkeren Gameserver.