AEONHOST / WISSEN

Minecraft mit spark gezielt untersuchen

Wenn ein Minecraft-Server bei einer bestimmten Aktivität ruckelt, hilft ein spark-Profil, genau dieses Zeitfenster anzusehen. Starte die Aufnahme kurz vor einer wiederholbaren Situation und stoppe sie danach. Ein Profil zeigt, wo während der Aufnahme Zeit verbraucht wurde; es beweist allein weder einen Fehler noch, dass ein bestimmtes Plugin die Ursache ist.

Aktualisiert am 07.10.2026

Wenn ein Minecraft-Server bei einer bestimmten Aktivität ruckelt, hilft ein spark-Profil, genau dieses Zeitfenster anzusehen. Starte die Aufnahme kurz vor einer wiederholbaren Situation und stoppe sie danach. Ein Profil zeigt, wo während der Aufnahme Zeit verbraucht wurde; es beweist allein weder einen Fehler noch, dass ein bestimmtes Plugin die Ursache ist.

Vor dem Profilieren

Notiere zuerst, wann das Problem auftritt und was dann im Spiel passiert: Welt, ungefähre Spielerzahl, Aktion und Uhrzeit. Das macht zwei Aufnahmen vergleichbar. Ein Profil über einen langen, ruhigen Zeitraum kann einen kurzen Ausreisser verdecken, weil die übrigen Samples den Ausschlag abschwächen. PaperMC weist darauf hin, dass das untersuchte Problem während der Profilaufnahme tatsächlich auftreten muss. Die PaperMC-Anleitung zu Profilen ordnet spark ab Paper 1.21 als mitgelieferten Profiler ein. Bei anderer Server-Software oder älteren Versionen prüfst du zuerst, ob spark verfügbar und passend eingerichtet ist.

Die Profiler-Befehle benötigen die Berechtigung spark oder spark.profiler; /spark tickmonitor benötigt spark oder spark.tickmonitor. Im Spielchat führst du die Beispiele mit führendem / als berechtigter Operator aus. In der Serverkonsole gibst du denselben Befehl ohne führenden Schrägstrich ein. Prüfe mit /spark profiler info, ob spark erreichbar ist und ob bereits eine Aufnahme läuft. Die verfügbaren Befehle und Berechtigungen stehen in der spark-Referenz zur Befehlsverwendung.

Ein konkretes Lag-Fenster aufnehmen

Bei wiederholbarer oder längerer Last

Starte kurz vor der Situation eine zeitlich begrenzte Aufnahme:

/spark profiler start --timeout 120

120 ist ein Beispiel für 120 Sekunden. Passe das Zeitfenster an die erwartete Aktivität an. Wiederhole während der Aufnahme möglichst genau die Situation, bei der der Server sonst ruckelt. spark stoppt nach dem Zeitlimit automatisch und gibt einen Link zum Viewer aus. Du kannst die Aufnahme mit /spark profiler stop auch vorher beenden. Die Befehlsreferenz führt --timeout als Option für profiler start auf.

Bei einzelnen, wiederkehrenden Aussetzern

Wenn das Problem aus kurzen Spitzen besteht, aktiviere zuerst den Tick-Monitor:

/spark tickmonitor --threshold-tick 50

Der Wert ist in Millisekunden pro Tick. Bei 20 TPS liegt die durchschnittliche Tickzeit bei höchstens 50 ms; einzelne langsamere Ticks können dazu führen, dass der Server Zeit aufholen muss. Nutze 50 ms als nachvollziehbaren Startpunkt und passe den Schwellenwert an die tatsächlich beobachteten Spitzen an. Der Tick-Monitor meldet Überschreitungen. spark empfiehlt, damit zuerst die Aussetzer zu erkennen und anschliessend nur die langsamen Ticks zu profilieren. Die Anleitung zu Lag-Spitzen erklärt diesen Ablauf.

Schalte den Tick-Monitor nach der Beobachtung mit /spark tickmonitor wieder aus; der Befehl schaltet ihn laut spark ein oder aus.

Wenn sich die Spitze wiederholen lässt, starte die gefilterte Aufnahme während der normalen Aktivität. Wähle einen Grenzwert unterhalb der beobachteten langsamen Ticks, zum Beispiel 50 ms, wenn die Spitzen deutlich darüber liegen:

/spark profiler start --only-ticks-over 50

Die Aufnahme sammelt damit Samples aus Ticks oberhalb des gewählten Grenzwerts. Stoppe sie nach der beobachteten Wiederholung, spätestens nach etwa zwei Minuten, mit /spark profiler stop. Verpasst das Zeitfenster die Wiederholung, enthält das Profil möglicherweise zu wenig brauchbare Daten. Starte nicht absichtlich zusätzliche Last auf einem produktiv genutzten Server, nur um eine Spitze zu erzeugen.

Das Ergebnis vorsichtig lesen

Öffne den ausgegebenen Link und prüfe zuerst den Server thread. Klappe die Bereiche mit grösseren Anteilen auf, statt allein nach dem ersten Eintrag mit dem höchsten Prozentwert zu urteilen. In der Baumansicht zeigt spark den Anteil der profilierten Zeit eines Threads; aufrufende Methoden umfassen auch Arbeit ihrer Unteraufrufe. Die Viewerdokumentation beschreibt, wie du den Baum, die Flat-Ansicht und die Plugin-/Mod-Quellenansicht verwendest. Sie hält auch fest, dass die Namen Klassen und Methoden zeigen und ohne Kontext nicht immer selbsterklärend sind. spark: Profil im Viewer lesen.

Ein hoher Anteil bei Welt- oder Entitäts-Ticks kann zu einer belasteten Spielsituation passen. Ein Eintrag aus einem Plugin kann ein guter Ansatzpunkt für eine weitere Prüfung sein. Beides ist zunächst ein Hinweis: Prüfe, ob die Methode während des gemeldeten Ereignisses lief, ob die Situation erneut auftritt und ob eine zweite Aufnahme dasselbe Muster zeigt. Bei einem gefilterten Profil beziehen sich die Anteile nur auf die ausgewählten langsamen Ticks; sie beschreiben nicht automatisch die Last aller normalen Ticks. Ein fehlender Treffer bedeutet ebenfalls nicht, dass es keine Ursache gibt: Die Aufnahme kann das Ereignis verpasst oder einen unpassenden Grenzwert verwendet haben.

Wenn ein Methodenname unklar oder verschleiert ist, klappe den Baum weiter auf und kontrolliere im Viewer die verwendeten Zuordnungen. Der Profil-Link lässt sich laut spark mit anderen teilen. Behandle ihn deshalb wie geteilte Diagnoseinformationen und sende ihn nur an Personen, die den Server prüfen sollen.

Für die allgemeine Fehlersuche findest du weitere Schritte in Minecraft-Server-Lag gezielt beheben. Wenn das Profil auf eine Frage zu Welt- und Entitäts-Ticks führt, erklärt Sichtweite und Simulationsdistanz einstellen die beiden Werte. Logs für eine gezielte Anfrage bereitest du mit Gameserver-Logs sicher für den Support vorbereiten vor.

Quellen