MinecraftVeröffentlicht am 5. Februar 20265 Min. Lesezeit

Ticks, TPS und Haupt-Thread in Minecraft: Server-Lag verstehen

Ticks, TPS und Haupt-Thread: Diese drei Begriffe erklären, warum ein Minecraft-Server laggt. Ein gesunder Server berechnet 20 Ticks pro Sekunde, also einen Tick alle 50 Millisekunden. Diese Anleitung erklärt, wie Minecraft die Zeit aufteilt, warum fast alles über einen einzigen Thread läuft, wann die TPS sinken und wie Sie die Ursache mit Spark finden.

Wenn die Konsole ständig „Can't keep up!“ anzeigt, geht es um diese Meldung:

[Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 4681ms or 93 ticks behind

Was sind Ticks genau?

Minecraft läuft in einer Schleife, die sich ständig wiederholt. Jeder Durchlauf heißt Tick. Bei jedem Tick berechnet der Server alles neu, was in der Welt passiert:

  • die Aktionen der Spieler (Bewegungen, Klicks, gesetzte oder abgebaute Blöcke);

  • die Position aller Entitäten, die dann an jeden Spieler gesendet wird;

  • das Spawnen der Kreaturen, ihre KI und Bewegungen;

  • Redstone und alle anderen Spielmechaniken.

Ein gut laufender Server zielt auf 20 Ticks pro Sekunde, also einen Tick alle 50 Millisekunden. Dieses Tempo macht das Spiel flüssig. Die Seite „Tick“ im Minecraft Wiki liefert die vollständige technische Definition.


Der Haupt-Thread, warum ein einzelner Kern die ganze Arbeit macht

Das überrascht die meisten. Der Großteil der Spielberechnungen läuft über einen einzigen Ausführungs-Thread, den Haupt-Thread. In jedem Moment erledigt also ein einziger CPU-Kern den Großteil der Arbeit.

Nehmen wir einen Zombie, der einen Spieler angreift. Der Server prüft seine Position, berechnet die Entfernung, sucht einen Weg, prüft die Sichtlinie und wendet den Schaden an. Alles läuft der Reihe nach auf demselben Thread, und der Tick kann vorher nicht weitergehen.

Deshalb zählt für einen Minecraft-Server eine hohe Leistung pro Kern viel mehr als die Gesamtzahl der Kerne, besonders bei vielen Entitäten oder viel Redstone.

Neuere Versionen verlagern einen Teil der Arbeit: Chunk-Generierung und Beleuchtung, Netzwerk. Entitäten, KI und Redstone bleiben aber auf dem Haupt-Thread.


Wenn alles gut läuft, der Server atmet

Normalerweise wird jeder Tick in weniger als 50 ms berechnet. Ist der Server früher fertig, wartet er einfach auf den nächsten Tick, um das Tempo zu halten.

Ein Tick von 15 ms lässt zum Beispiel 35 ms Spielraum. Die Spieler spüren keine Verzögerung, Kreaturen reagieren sofort, Redstone antwortet ohne Wartezeit, und der Server bleibt bei 20 TPS. Diese Zeit pro Tick heißt MSPT, Millisekunden pro Tick.


Wenn es laggt, der Tick überschreitet 50 ms

Das Problem beginnt, sobald ein Tick länger als 50 ms dauert. Ticks laufen nicht parallel: Der nächste verschiebt sich, und wiederholt sich das, wächst der Rückstand.

Für Spieler sind die Anzeichen eindeutig: Kreaturen teleportieren sich, abgebaute Blöcke tauchen kurz wieder auf, Redstone reagiert verlangsamt, jede Aktion kommt verzögert.

Die Meldung „Can't keep up!“ erscheint, wenn der Server mehr als 2.000 ms im Rückstand ist. Hängt ein einzelner Tick zu lange, hält der Watchdog den Server für abgestürzt und beendet ihn. Diese Grenze legt max-tick-time in server.properties fest: standardmäßig 60000 ms, also eine Minute.

Ein Server kann „laufen“ und trotzdem unspielbar sein. Spieler spüren den Lag lange vor einem echten Absturz.


Warum die Ticks zu lang werden

Hauptursache ist ein überlasteter Haupt-Thread: zu viel Rechenarbeit in zu kurzer Zeit. Da alles 20-mal pro Sekunde neu berechnet wird, vervielfacht sich jede Lastquelle schnell. Die üblichen Verdächtigen:

  • zu viele aktive Entitäten: 500 Zombies in einem Bereich bedeuten 500-mal KI, Wegfindung und Kollision pro Tick;

  • schlecht gebaute Mob-Farmen, die Hunderte Entitäten auf engem Raum sammeln;

  • intensive Redstone: Eine komplexe Schaltung in Dauerschleife kann den Haupt-Thread allein belegen;

  • dauerhaft geladene Chunks durch Trichter, Chunk-Loader oder AFK-Spieler in dichten Bereichen;

  • Massenkollisionen: 50 Hühner auf 2 mal 2 Blöcken wirken harmlos, sind für den Server aber ein Rechenalbtraum.

Der Lag tritt nur auf, wenn Spieler an einem bestimmten Ort sind? Suchen Sie dort zuerst nach einer Farm, einer großen Redstone-Schaltung oder einer Ansammlung von Entitäten.


Die TPS, die Gesundheit des Servers in einer Zahl

Die TPS, Ticks pro Sekunde, messen, wie viele Ticks der Server pro Sekunde schafft. Bei 20 TPS ist alles in Ordnung. Sobald der Server in Rückstand gerät, sinken die TPS und das Spiel wird langsamer.

Eine einfache Formel, um die Wirkung zu sehen:

(1000 - Rückstand in ms) / 50 = TPS

Sammelt der Server in einer Sekunde 250 ms Rückstand an, fällt er auf (1000 - 250) / 50 = 15 TPS. Anders gesagt: Ein Tick von 66 ms lässt nur Platz für 15 Ticks pro Sekunde. Im Spiel sind 15 TPS schon deutlich spürbar. Unter 10 ist es fast unspielbar.

TPS und MSPT messen

BefehlServerErgebnis
/tick queryJava ab 1.20.3, alleZielrate und durchschnittliche Zeit pro Tick
/tpsPaper, Spigot, PurpurTPS über 1, 5 und 15 Minuten
/msptPaper, PurpurZeit pro Tick, Durchschnitt und Maximum
/neoforge tpsNeoForgeTPS und Zeit pro Tick, pro Dimension
/forge tpsForgeTPS und Zeit pro Tick, pro Dimension
/spark tpsMit SparkTPS, MSPT und CPU-Last

In der Konsole von OuiPanel geben Sie diese Befehle ohne Schrägstrich ein. Die Anleitung +150 Minecraft-Befehle erklärt /tick, mit dem sich das Spiel auch einfrieren oder beschleunigen lässt.


Die Ursache mit Spark finden

Zu wissen, dass der Server laggt, ist das eine, den Grund zu kennen das andere. Das wirksamste Werkzeug ist Spark: Es profiliert den Haupt-Thread und zeigt genau, was in jedem Tick Zeit kostet, ob Plugin, Entität oder Spielmechanik.

  • Auf Paper und Purpur ist Spark seit 1.21 enthalten: Die Konsole zeigt beim Start „[spark] Starting background profiler“.

  • Auf Spigot installieren Sie es über die Seite Plugins in OuiPanel.

  • Auf Forge, NeoForge oder Fabric installieren Sie den Mod spark über den Mod-Manager.

spark profiler start
# Einige Minuten laufen lassen, während die Spieler spielen
spark profiler stop

Diese Zeilen geben Sie in der Konsole von OuiPanel ein. Beim Stoppen liefert Spark einen Link zu seinem Bericht. Einige Minuten Profiling reichen meist, um den Schuldigen zu finden, statt zu raten.

Laufende Konsole von OuiPanel mit dem Serverprotokoll und der Karte Live-Statistiken

Die Karte Live-Statistiken rechts neben der Konsole zeigt Speicher- und CPU-Nutzung. TPS zeigt sie nicht an: Dafür nutzen Sie die Befehle oben.

Um die Last zu senken, sobald die Ursache bekannt ist, lesen Sie die Anleitungen Minecraft Server optimieren für Paper und Spigot und NeoForge-Mods für Minecraft für einen Mod-Server.


Brauchen Sie Hilfe?

Eröffnen Sie ein Ticket über Tickets › Ticket öffnen oder über die Kachel Support kontaktieren unten auf der Seite Ihres Servers im Kundenbereich. Sie können Ihre Frage auch auf dem Discord von OuiHeberg stellen.

War dieser Artikel hilfreich?

1.206 Aufrufe
Diesen Artikel teilen
Minecraft
Brauchen Sie einen Minecraft-Server?

Entdecken Sie unsere Minecraft-Hosting-Angebote ab 1,99€/Monat mit automatischer Mod-Installation.

Minecraft Server mieten →

Verwandte Artikel