Timings und Spark
Dein Server hat niedrige TPS, aber du weißt nicht warum. Sind es deine Plugins? Zu viele Mobs? Eine bestimmte Welt? Um das herauszufinden, brauchst du einen Profiler. Das beste Tool dafür ist Spark. In diesem Artikel lernst du, wie du Spark installierst, einen Profiler-Bericht erstellst und die Ergebnisse liest, um genau herauszufinden, was deinen Server verlangsamt.
Was ist Spark?
Spark ist ein kostenloses und quelloffenes Performance-Profiling-Plugin für Minecraft-Server. Es wurde von Lucko entwickelt (demselben Entwickler hinter LuckPerms) und wird vom PaperMC-Team unterstützt. Spark ist verfügbar für Spigot, Paper, Purpur, Fabric, Forge, BungeeCord und Velocity.
Mit Spark kannst du:
- Sehen, welche Plugins oder Aufgaben die meiste Serverzeit verbrauchen
- CPU-Nutzung pro Komponente analysieren
- Speichernutzung im Detail betrachten
- TPS und MSPT (Millisekunden pro Tick) in Echtzeit überwachen
- Lag Spikes aufspüren und identifizieren
Spark erzeugt einen übersichtlichen Webbericht, den du mit anderen teilen kannst, z. B. wenn du Hilfe vom HytaleNode-Supportteam brauchst.
Wie installierst du Spark?
Die Installation von Spark ist einfach über das HytaleNode-Panel:
- Lade Spark von der offiziellen Website herunter: spark.lucko.me. Wähle die Version, die zu deiner Server-Plattform passt (Paper, Purpur usw.).
- Gehe zu mijn.hytalenode.nl und öffne deinen Server.
- Klicke auf den Tab Dateien.
- Navigiere zum Ordner
plugins. - Lade die heruntergeladene Datei
spark.jarüber die Upload-Schaltfläche in diesen Ordner hoch. - Starte deinen Server über den Tab Console neu.
- Spark ist jetzt aktiv und einsatzbereit.
Hinweis: Einige Server-Plattformen wie Paper (neuere Versionen) und Purpur haben Spark bereits eingebaut. In dem Fall musst du nichts installieren und kannst die Spark-Befehle direkt verwenden.
Spark Profiler starten
Um zu analysieren, was deinen Server verlangsamt, startest du eine Profiler-Sitzung. Das geht über die Server-Console im HytaleNode-Panel oder ingame als Operator:
Profiler starten:
/spark profiler start
Lass den Profiler mindestens 5 bis 10 Minuten laufen, während der Server normal genutzt wird. Das gibt Spark genug Daten für ein zuverlässiges Bild. Versuche, den Profiler zu starten, wenn dein Server Lag erlebt – dann fängst du genau das Problem ein.
Profiler stoppen und Bericht generieren:
/spark profiler stop
Nach dem Stoppen generiert Spark automatisch einen Link zu einem Webbericht. Diesen Link kannst du im Browser öffnen, um die Ergebnisse anzusehen.
Weitere nützliche Spark-Befehle:
/spark tps– Zeigt aktuelle TPS, MSPT und Tick-Dauer-Statistiken./spark health– Gibt eine Zusammenfassung von CPU, Speicher und TPS./spark gc– Zeigt Informationen zur Garbage-Collection-Aktivität./spark heapdump– Erstellt einen Snapshot der Speichernutzung (nützlich bei Speicherlecks).
Den Spark-Bericht lesen
Der Spark-Webbericht kann auf den ersten Blick überwältigend wirken, aber mit etwas Erklärung kommst du schnell zurecht. Hier sind die wichtigsten Bestandteile:
1. Übersichtsseite
Oben im Bericht siehst du eine Zusammenfassung mit TPS, MSPT, CPU-Nutzung und Speichernutzung. Schau zuerst, ob deine TPS während des Profilings tatsächlich unter 20 lag.
2. Der Call Tree (Aufrufbaum)
Das ist das Herzstück des Berichts. Hier siehst du eine Baumstruktur aller Aufgaben, die der Server ausführt, sortiert nach Zeitaufwand. Die Aufgaben oben kosten am meisten Zeit und sind daher die wahrscheinlichsten Lag-Ursachen.
Achte auf diese Kategorien:
- Minecraft internals – Das sind Aufgaben des Servers selbst (Entity Ticking, Chunk Loading usw.). Wenn diese viel Zeit kosten, solltest du deine Server-Einstellungen optimieren.
- Plugin-Namen – Wenn ein bestimmtes Plugin viel Zeit kostet, ist das ein klares Signal. Erwäge, das Plugin zu ersetzen, zu konfigurieren oder zu entfernen.
- Entity ticking – Wenn entity-bezogene Aufgaben viel Zeit kosten, hast du wahrscheinlich zu viele Entities in deiner Welt.
3. Die Thread View
Hier siehst du, wie die Last auf verschiedene Threads verteilt ist. Der „Server thread" ist der wichtigste – Minecraft verarbeitet das meiste auf einem einzelnen Thread. Wenn dieser überlastet ist, hast du ein TPS-Problem.
Maßnahmen auf Basis des Berichts
Nachdem du den Bericht gelesen hast, kannst du gezielt handeln:
- Ein Plugin kostet viel Zeit? – Prüfe, ob es eine leichtere Alternative gibt, aktualisiere das Plugin auf die neueste Version oder passe die Konfiguration an, um ressourcenintensive Funktionen zu deaktivieren.
- Entity Ticking ist der Übeltäter? – Senke Mob-Spawn-Limits in
bukkit.yml, installiere ein Mob-Stacker-Plugin oder nutze ein Plugin wie ClearLagg, um Entities regelmäßig aufzuräumen. - Chunk Loading kostet viel Zeit? – Senke
view-distanceundsimulation-distanceinserver.properties. Erwäge auch Chunk-Pregeneration mit Chunky. - Garbage-Collection-Pausen? – Prüfe, ob deine Aikars Flags korrekt eingestellt sind (siehe vorheriger Artikel). Erwäge ein größeres Plan, wenn dein Server dauerhaft zu wenig RAM hat.
- Hohe CPU-Last auf dem Server Thread? – Erwäge ein Upgrade auf einen HytaleNode Premium-Server mit dem AMD Ryzen 9800X3D (5,2 GHz) für maximale Single-Thread-Performance.
Tipp: Bewahre deine Spark-Berichte auf. Durch den Vergleich mehrerer Berichte über die Zeit siehst du, ob deine Optimierungen gewirkt haben und ob neue Probleme entstanden sind.