Zurück zum Blog

Minecraft Server Lag: Niedrige TPS und Lösungen

Warum laggt Ihr Minecraft Server? TPS und MSPT, Messung mit spark, Chunk-Generierung, Sichtweite, Entities, Plugins und Aikar-Flags als Lösungen erklärt.

Nodesty-Team7 Min. LesezeitGameserver
Der Schriftzug Minecraft Lag mit TPS, MSPT und spark auf dunklem Nodesty-Hintergrund

Minecraft Server Lag geht fast immer auf dasselbe Problem zurück: Der Server versucht, die Welt 20-mal pro Sekunde zu aktualisieren (Tick), und muss jeden Tick in 50 Millisekunden abschließen. Schafft er das nicht, fallen die TPS (Ticks pro Sekunde) unter 20; Blöcke brechen verzögert ab, Mobs hängen, Spieler teleportieren sich. Die gute Nachricht: Wenn Sie mit dem richtigen Werkzeug messen, finden Sie die Ursache des Lags meist in wenigen Minuten und beheben sie mit ein paar Einstellungen.

In dieser Anleitung erklären wir die Arten von Lag, wie Sie TPS und MSPT messen, wie Sie mit spark den Engpass finden und wie Sie die häufigsten Ursachen für Lag beheben. Wenn Sie Ihren Server noch nicht eingerichtet haben, beginnen Sie mit unserer Anleitung Minecraft Server erstellen.

Drei Arten von Lag

Was Spieler „Lag“ nennen, kann auf drei verschiedene Probleme zurückgehen:

ArtSymptomPrüfen
Server-LagAlle ruckeln gleichzeitig, Blöcke brechen verzögert abTPS und MSPT
NetzwerklagEinige Spieler teleportieren sich, andere spielen problemlosPing der Spieler
Client-LagDas Bild ruckelt, aber Server und andere Spieler sind unauffälligFPS des Spielers

Wer das Problem richtig einordnet, sucht nicht an der falschen Stelle nach einer Lösung. Ruckeln alle Spieler gleichzeitig, liegt das Problem sehr wahrscheinlich beim Server. Ruckeln nur bestimmte Spieler, sehen Sie sich deren Verbindung an; die Ursachen für Ping und Latenz erklären wir in unserem Artikel Was ist Ping?.

Was sind TPS und MSPT?

  • TPS (ticks per second): Wie viele Ticks der Server pro Sekunde verarbeitet. Das Ziel ist 20; mehr als 20 TPS sind nicht möglich.
  • MSPT (milliseconds per tick): Wie viele Millisekunden ein Tick dauert. Unter 50 ms ist gesund; jeder Tick über 50 ms bedeutet, dass die TPS sinken.

MSPT warnt früher als TPS: Zeigt der Server 20 TPS, aber die MSPT sind auf 45 ms gestiegen, arbeitet er am Limit, und sobald ein paar Spieler mehr kommen, beginnt der Lag. Auf Paper-Servern messen Sie beides in der Konsole oder im Spiel mit diesen Befehlen:

/tps
/mspt

Den Engpass mit spark finden

Messen Sie, statt zu raten. spark ist ein kostenloses Profiling-Werkzeug, das zeigt, wofür der Server seine Zeit aufwendet. In aktuellen Paper-Versionen ist es bereits enthalten; andernfalls installieren Sie es als Plugin.

/spark tps
/spark health
/spark profiler start

Starten Sie den Profiler, während der Server laggt, warten Sie einige Minuten und stoppen Sie ihn dann:

/spark profiler stop

spark gibt Ihnen einen Link. In diesem Bericht sehen Sie in einer Baumansicht, auf welches Plugin, welche Welt oder welche Aufgabe (Chunk-Generierung, Entities, Redstone) die Tick-Zeit entfällt. Die folgenden Abschnitte zeigen die Lösungen für die Ursachen, die im Bericht am häufigsten auftauchen.

1. Chunk-Generierung

Betreten Spieler Gebiete, in denen noch niemand war, generiert der Server die Welt in Echtzeit. Das ist eine der aufwendigsten Aufgaben in Minecraft und die häufigste Ursache für plötzlichen Lag beim Erkunden.

Die Lösung besteht darin, die Welt vorab zu generieren und eine Weltgrenze zu setzen. Mit dem Plugin Chunky:

/chunky radius 5000
/chunky start

Dieser Befehl generiert das Gebiet im Radius von 5.000 Blöcken um den Mittelpunkt, bevor die Spieler dort ankommen. Der Vorgang kann lange dauern; starten Sie ihn zu einer Zeit, in der wenige Spieler online sind. Setzen Sie anschließend eine Weltgrenze, damit die Spieler dieses Gebiet nicht verlassen:

/worldborder set 10000

2. Sichtweite und Simulationsdistanz

Zwei Einstellungen in der Datei server.properties legen fest, wie viel Gebiet der Server für jeden Spieler lädt und verarbeitet:

view-distance=8
simulation-distance=6
  • view-distance: Die Chunk-Distanz, die an die Spieler gesendet wird. Hohe Werte erhöhen die RAM- und Netzwerkauslastung.
  • simulation-distance: Die Distanz, in der Mobs, Pflanzen und Redstone aktiv sind. Sie bestimmt direkt die Prozessorlast.

Für die meisten Server sind 8–10 für view-distance und 6–8 für simulation-distance ein guter Kompromiss. In Paper gibt es außerdem eigene Einstellungen, mit denen Spieler weiter sehen können, ohne den Server zu belasten.

3. Entities: Mobfarmen und Items

Der Server verarbeitet in jedem Tick alle Entities (Mobs, Tiere, Items auf dem Boden, Loren, Rüstungsständer). Stehen Entities im spark-Bericht weit oben:

  • Begrenzen Sie große Mobfarmen oder lenken Sie die Spieler zu effizienteren Bauweisen.
  • Räumen Sie Items auf, die sich auf dem Boden sammeln; Farmen, die Items einsammeln, und die Items gestorbener Spieler häufen sich mit der Zeit an.
  • Nutzen Sie die Einstellungen für Entities und das Zusammenführen von Items in den Welteinstellungen von Paper (paper-world-defaults.yml).
  • Tritt das Problem in einem bestimmten Gebiet auf, führen Sie der Bericht von /spark profiler und die Warnungen in der Konsole zum richtigen Chunk.

4. Plugins

Ein einziges schlecht geschriebenes Plugin oder eines, das unnötigerweise in jedem Tick läuft, kann den gesamten Server verlangsamen. Nimmt ein Plugin im spark-Bericht einen großen Anteil ein:

  • Aktualisieren Sie das Plugin; Performance-Probleme werden häufig in neuen Versionen behoben.
  • Prüfen Sie seine Einstellungen und schalten Sie häufig laufende Timer und unnötige Funktionen ab.
  • Suchen Sie nach einer leichteren Alternative oder entfernen Sie das Plugin, wenn Sie es nicht wirklich brauchen.

5. Server-Software

Die Vanilla-Server-Software ist nicht auf Performance optimiert. Paper und das darauf aufbauende Purpur erhalten den Großteil des Vanilla-Gameplays, liefern eine deutlich bessere Performance und unterstützen Plugins. Wenn Sie noch Vanilla oder Spigot verwenden, kann allein der Wechsel zu Paper einen großen Unterschied machen; erstellen Sie vor dem Wechsel ein Backup Ihrer Welt.

6. RAM und Java-Einstellungen

Ist zu wenig RAM vorhanden, führt der Server häufig eine Garbage Collection durch und ruckelt; zu viel RAM kann ebenfalls zu langen Pausen führen. Die empfohlene Vorgehensweise:

  • Setzen Sie -Xms und -Xmx auf denselben Wert.
  • Lassen Sie dem Betriebssystem 1–1,5 GB Reserve.
  • Verwenden Sie die von Paper empfohlenen Aikar-Flags; sie stimmen den G1 Garbage Collector auf Minecraft ab:
java -Xms10G -Xmx10G -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 paper.jar --nogui

Ändern Sie den Wert 10G passend zum RAM Ihres Servers. Die Dokumentation von Paper enthält für große Speicherwerte auch die aktuelle Fassung der Flags mit kleinen Abweichungen. Wie viel RAM Sie brauchen, finden Sie in der Tabelle auf unserer Seite für Minecraft Server.

7. Prozessor

Die Hauptschleife von Minecraft läuft größtenteils auf einem einzigen Kern. Selbst wenn die gesamte Prozessorauslastung niedrig aussieht, sinken die TPS, sobald dieser eine Kern ausgelastet ist. Deshalb zählt die Single-Core-Leistung mehr als die Zahl der Kerne. Sind die MSPT nach allen Optimierungen immer noch hoch, ist der Wechsel auf einen Prozessor mit höherer Taktfrequenz die wirksamste Lösung. Wie Sie die allgemeine Ressourcennutzung des Servers prüfen, erklären wir in unserem Artikel Server langsam?.

Kurze Checkliste

  1. Bestätigen Sie mit /tps und /mspt, dass das Problem beim Server liegt.
  2. Erstellen Sie während des Lags mit /spark profiler einen Bericht.
  3. Generieren Sie die Welt mit Chunky vorab und setzen Sie eine Weltgrenze.
  4. Stimmen Sie die Werte für view-distance und simulation-distance ab.
  5. Prüfen Sie die Zahl der Entities und ressourcenhungrige Plugins.
  6. Verwenden Sie Paper und starten Sie den Server mit den Aikar-Flags.
  7. Starten Sie den Server regelmäßig neu; wie Sie das automatisieren, erklären wir in unserem Artikel Cronjob einrichten.

Nodesty für Ihren Minecraft Server

Die Pakete für Minecraft Server mieten von Nodesty laufen in Frankfurt mit einem Ryzen 9 9950X Prozessor mit bis zu 5,7 GHz für die Hauptschleife von Minecraft, die auf einem einzigen Kern läuft, NVMe-Speicher für die Weltdaten und L3–L7-DDoS-Schutz. Die Pakete enthalten kostenlose tägliche Backups mit 7 Tagen Aufbewahrung; wächst Ihre Spielerzahl, wechseln Sie im Panel in ein größeres Paket.

Minecraft ist eine Marke der Mojang AB. Nodesty ist nicht mit Mojang oder Microsoft verbunden und wird nicht von ihnen unterstützt.

Häufig gestellte Fragen

Wie hoch sollten die TPS sein?

Ein Minecraft Server zielt auf 20 Ticks pro Sekunde; liegen die TPS bei 20, läuft der Server einwandfrei. Werte zwischen 18 und 19 sind kleine Schwankungen, die die meisten Spieler nicht bemerken. Fallen die TPS unter 15, brechen Blöcke verzögert ab, Mobs hängen und die Spieler spüren Verzögerungen.

Behebt mehr RAM den Lag?

Nicht immer. Die meisten Ruckler in Minecraft entstehen, weil der Prozessor einen Tick nicht innerhalb von 50 Millisekunden abschließen kann; in diesem Fall hilft zusätzlicher RAM nicht. Zu viel RAM kann außerdem die Pausen der Garbage Collection verlängern. Messen Sie zuerst mit spark den Engpass und stellen Sie den RAM anhand der Messung ein.

Mein Ping ist niedrig, trotzdem ruckelt das Spiel. Warum?

Der Ping zeigt die Netzwerklatenz; Server-Lag hängt dagegen davon ab, wie schnell der Server die Welt verarbeitet. Sind die TPS niedrig, ruckelt das Spiel, egal wie gut der Ping ist. Umgekehrt gilt, dass bei Rucklern trotz 20 TPS das Problem an den FPS Ihres Computers oder an Ihrer Verbindung liegen kann.

Sollte ich Paper oder Vanilla verwenden?

Auch wenn Sie keine Plugins nutzen, liefert Paper eine deutlich bessere Performance als ein Vanilla-Server und erhält den Großteil des Vanilla-Gameplays. Technischer Redstone und manche Mechaniken, die auf Spielfehlern beruhen, können sich unter Paper anders verhalten; haben Sie eine solche Community, prüfen Sie die entsprechenden Einstellungen von Paper.

Bringt es wirklich etwas, die Welt vorab zu generieren?

Ja. Wenn Spieler neue Gebiete betreten, generiert der Server die Chunks in Echtzeit, und das ist eine der aufwendigsten Aufgaben überhaupt. Wenn Sie mit Chunky das Gebiet, das die Spieler erkunden werden, vorab generieren und eine Weltgrenze setzen, verschwinden die Ruckler beim Erkunden weitgehend.

Verlangsamen Mobfarmen den Server?

Große Mobfarmen, auf dem Boden liegende Items und viele Tiere erhöhen die Zahl der Entities, die der Server in jedem Tick verarbeiten muss. Stehen Entities im spark-Bericht weit oben, begrenzen Sie die Farmen, räumen Sie Item-Haufen auf und nutzen Sie die Entity-Einstellungen von Paper.

Nodesty

Über den Autor

Nodesty-Team · Infrastruktur und Support

Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.

Verwandte Artikel

Starte deinen Server jetzt.

Erstellen, wachsen und skalieren Sie Ihre Projekte grenzenlos auf der Premium-Infrastruktur von Nodesty.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································