spark misst Minecraft-Tickzeiten, Speicher und Aufrufpfade. Erfasse den Profiler während des tatsächlichen Problems und vergleiche das gleiche Lastfenster nach einer gezielten Änderung. Ein TPS-Mittelwert allein schließt kurze Serveraussetzer nicht aus; prüfe auch MSPT und Spitzen. Die Bildschirmfotos stammen aus einem Testserver mit Paper 1.21.4.
Installation
spark läuft als Plugin auf Paper und Spigot und als Mod auf Fabric, NeoForge und Forge. Im Panel findest du es unter Plugins → Browser. Es braucht keine Konfiguration. Die Befehle gehören in die Moderationsgruppe; der Knoten dafür heißt spark. Wie du ihn vergibst, steht in LuckPerms: Rechte einrichten.
Erster Blick: TPS und Tick-Dauer
/spark tps zeigt drei Zeilen:

- TPS (Ticks pro Sekunde) über die letzten 5 Sekunden, 10 Sekunden, 1, 5 und 15 Minuten. Bei normaler Tickrate ist 20,0 der Zielwert. Wie deutlich ein Abfall auffällt, hängt von Dauer und Spielsituation ab; eine feste Grenze für „unspielbar“ gibt es nicht.
- Tick-Dauer als Minimum, Median, 95. Perzentil und Maximum in Millisekunden. Ein Tick darf 50 ms dauern, damit 20 TPS gehalten werden. Im Bild liegt der Median bei 2,4 ms; der Server hat also viel Reserve. Entscheidend ist das 95. Perzentil: Liegt es nahe 50 ms, kommen Ruckler, obwohl der Durchschnitt gut aussieht.
- CPU-Auslastung getrennt nach System (die ganze Maschine) und Prozess (nur dein Server). Bei einem gemieteten Server ist der Prozess-Wert der wichtige.
/spark health show gibt einen Gesundheitsbericht mit TPS, CPU, Speicher und Datenträger aus; --memory ergänzt JVM-Speicherdetails. Manche ältere Versionen kennen healthreport; verwende im Zweifel die Hilfe deiner installierten spark-Version.
Der Profiler: Wer frisst die Zeit?
Wenn die TPS einbrechen, startest du den Profiler:
/spark profiler start
spark bestätigt den Start und läuft im Hintergrund weiter. Lass ihn mindestens eine Minute laufen, während das Problem auftritt, dann:
/spark profiler stop

Beim Stoppen lädt spark den Bericht auf spark.lucko.me hoch und gibt einen Link aus. Der Bericht enthält Aufrufbäume und technische Metadaten; prüfe den Inhalt und die Datenschutzdokumentation vor dem Teilen. /spark profiler open lädt auch während des Laufs einen Bericht für den Viewer hoch. /spark profiler cancel verwirft einen noch nicht hochgeladenen Lauf.
Im Bericht klappst du den Baum von oben auf. Was du typischerweise findest:
- Entity-Ticks eines bestimmten Typs: eine Farm mit Hunderten Tieren oder Gegenständen. Farm verkleinern oder mit
entity-activation-rangeinpaper-world-defaults.ymlberuhigen. - Ein Plugin in einem Event-Listener: Plugin aktualisieren, Konfiguration prüfen oder ersetzen.
- Chunk-Laden durch Spieler, die schnell fliegen: Sichtweite senken oder die Welt mit Chunky vorgenerieren.
- Redstone-Uhren: eine Schaltung, die nie stillsteht. Den Spieler bitten, sie abzuschalten.
Garbage Collection und Speicher
/spark gc zeigt, wie oft und wie lange die Java-Speicherbereinigung pausiert. Viele lange Pausen können auf Speicherdruck oder hohe Allokationsraten hinweisen; sie beweisen weder zu wenig RAM noch ein Speicherleck. Vergleiche Heap-Belegung und GC-Verlauf während derselben Problemsituation. /spark heapsummary listet, welche Objekttypen den Speicher belegen. Bevor du mehr RAM buchst, lohnt ein Blick hierher: Oft löst ein Plugin-Update das Problem.
Typische Fehler
- TPS 20, trotzdem Lag. Prüfe kurze MSPT-Spitzen im Problemzeitraum und danach Client oder Netzwerk.
/spark pingzeigt die Latenz pro Spieler. - Profiler-Link vergessen.
/spark profilerohne Argumente zeigt den Status; nach dem Stoppen steht der Link auch in der Serverkonsole. - Zahlen ohne Vergleich. Ein TPS-Wert allein sagt wenig. Miss einmal mit leerem Server als Referenz.
FAQ
Ab welchem TPS-Wert merken Spieler etwas?
20 TPS ist bei normaler Tickrate der Zielwert. Wie stark niedrigere Werte auffallen, hängt von Dauer und Spielsituation ab. Prüfe zusätzlich Tick-Dauer, 95. Perzentil und Maximum: einzelne lange Ticks können Ruckler verursachen, obwohl ein längerer TPS-Durchschnitt noch gut aussieht.
Enthält ein spark-Bericht persönliche Daten meiner Spieler?
Eine pauschale Zusage, dass keine personenbezogenen oder vertraulichen Daten enthalten sind, ist nicht sinnvoll. Prüfe technische Metadaten, Plugin-/Konfigurationsangaben und den Bericht vor dem Teilen. profiler open erstellt ebenfalls einen Upload für den Webviewer. Mit profiler cancel kannst du einen noch nicht hochgeladenen Lauf verwerfen.
Wie lange soll der Profiler laufen?
Mindestens eine Minute, und zwar während das Problem tatsächlich auftritt. Ein Lauf auf einem ruhigen Server zeigt nur, dass alles in Ordnung ist. Bei sporadischen Rucklern lässt du ihn länger laufen und stoppst ihn direkt nach einem Aussetzer.
Bringt mehr RAM etwas gegen Lag?
Mehr RAM hilft nur bei einem bestätigten Speicherengpass. /spark gc zeigt Häufigkeit und Dauer der Java-Pausen, /spark heapsummary die belegenden Objekttypen. Prüfe zusätzlich Heap-Auslastung, Allokationen und die zeitliche Übereinstimmung mit den Aussetzern. GC-Pausen allein beweisen zu wenig RAM nicht; auch Plugins oder eine hohe Allokationsrate können dahinterstecken. Vergleiche zuerst eine gezielte Korrektur unter derselben Last.
Die TPS liegen bei 20 und es ruckelt trotzdem — was nun?
Ein TPS-Mittelwert von 20 schließt kurze Tickspitzen nicht aus. Prüfe MSPT und den Zeitraum des Aussetzers; anschließend kommen Client und Netzwerk als getrennte Ursachen hinzu. /spark ping zeigt die Latenz pro Spieler. Bei einzelnen Betroffenen prüfst du sowohl ihre Verbindung als auch Client-Bildrate und Rendering. Sind mehrere Spieler gleichzeitig betroffen, vergleiche zusätzlich gemeinsame Server- und Netzwerkbefunde im selben Zeitfenster. Die Zahl der Betroffenen allein beweist keine Ursache.
Weiterführende Guides
Eine Welt vorab zu erzeugen reduziert die Erzeugung neuer Chunks; vorhandene Chunks müssen weiterhin geladen werden: Chunky: Welt vorgenerieren. Wie das Panel dauerhaft niedrige TPS meldet, beschreibt Minecraft-Server-Lag: TPS und Watchdog.
Quellen
- spark-Dokumentation: https://spark.lucko.me/docs/
- Befehle: https://spark.lucko.me/docs/Command-Usage
- Profiler-Berichte lesen: https://spark.lucko.me/docs/guides/Finding-lag-spikes
Einen Profilerbericht kontrolliert weitergeben
Notiere vor der Aufnahme Serverversion, Spielerlast und die konkrete Aktion, bei der Lag auftritt. Beende den Lauf nach einem repräsentativen Problemfenster und prüfe den Bericht vor dem Teilen. Ein Upload kann technische Metadaten, Pluginlisten und Konfigurationsinformationen enthalten; behandle die Viewer-URL entsprechend. profiler open ist kein rein lokaler Bericht, sondern erstellt ebenfalls einen Viewer-Zugang durch Upload. Wenn du noch nichts hochladen möchtest, verwirf den aktiven Lauf mit cancel, bevor du open oder stop nutzt. Vergleiche danach denselben Vorgang mit genau einer korrigierten Einstellung.