EndyStudio
Plugins

spark-Profil analysieren

Füge den Link von /spark profiler ein und bekomm die TPS und Tick-Zeiten deines Servers, eine Liste, was du an Java, den Config-Dateien des Servers und den Plugins ändern solltest, und die Zeit, die jedes Plugin von jedem Tick abzweigt.

  • Kostenlos
  • Kein Konto
  • Läuft im Browser

spark-Profil

So bekommst du den Link

  1. Führe /spark profiler start auf dem Server aus. spark ist seit 1.21 in Paper und Purpur enthalten; auf anderen Servern installiere zuerst das spark-Plugin oder den Mod.
  2. Lass es mindestens 5 Minuten aufzeichnen, während Spieler online sind.
  3. Führe /spark profiler stop aus und füge den Link, den du bekommst, hier ein.

Das Profil wird direkt von spark.lucko.me in deinen Browser geladen. Es geht nie über unseren Server.

Was die Analyse prüft

spark zeichnet viele Male pro Sekunde auf, was der Server gerade tut, und lädt das zusammen mit den Werten und Config-Dateien des Servers hoch. Die Analyse liest alles davon und geht vier Bereiche durch:

  • Wie es dem Server geht. TPS und MSPT der letzten Minuten, CPU, Speicher, Spieler und geladene Entities, und ein Balken pro Minute, damit du siehst, wann es langsam wurde.
  • Java und die Maschine. Die Heap-Größe, der Garbage Collector und ob er Aikar’s Flags nutzt, Full GCs, der nach dem Aufräumen freie Speicher, CPU-Threads und ob der Maschine Speicher fehlt oder sie mit anderem beschäftigt ist.
  • Einstellungen. view-distance und simulation-distance in server.properties, Spawn-Limits in bukkit.yml, Entity Activation Ranges in spigot.yml und die Optionen von Paper und Purpur für Explosionen, Redstone, Kollisionen, Spawner, Trichter, Rüstungsständer und Dorfbewohner. Jeder Punkt sagt dir, welche Datei und welchen Key du ändern musst.
  • Plugins. Die Zeit, die jedes Plugin auf dem Main-Thread braucht, Plugins, die gern Probleme machen (ClearLag, PlugMan, Mob-Stacker), und der Chunk mit den meisten Entities, mit einem /tp-Befehl, um hinzukommen.

Die Punkte sind sortiert, von dem, was du zuerst beheben solltest, bis zu optionalen Tipps. Solange der Server hinterherkommt, erscheinen Einstellungsänderungen als Tipps: Sie machen Zeit frei, die du noch nicht brauchst.

So erstellst du ein spark-Profil

  1. Führe /spark profiler start in der Konsole oder im Spiel aus. Auf Paper und Purpur ab 1.21 ist spark schon eingebaut.
  2. Lass es mindestens 5 Minuten zu einer normalen Zeit aufzeichnen, während Spieler online sind. Ein Profil von einem leeren Server zeigt nur einen Server im Leerlauf.
  3. Führe /spark profiler stop aus. spark lädt das Profil hoch und gibt einen https://spark.lucko.me/…-Link aus.
  4. Füge den Link oben ein. Die Analyse startet von selbst.

Bei Lag, der in Spitzen statt dauerhaft kommt, zeichne nur die langsamen Ticks auf: /spark profiler start --only-ticks-over 100 behält Ticks, die über 100 ms gedauert haben, und ignoriert den Rest.

TPS und MSPT

Der Server lässt die Welt in Ticks laufen, 20 pro Sekunde, jeder Tick hat also 50 ms. MSPT (Millisekunden pro Tick) ist, wie lange ein Tick wirklich gedauert hat. Solange sie unter 50 bleibt, hält der Server 20 TPS und hat Zeit übrig. Sobald Ticks länger dauern, sinken die TPS, und Mobs, Redstone und Pflanzen werden für alle langsamer.

MSPT Was das bedeutet
Unter 30 ms Viel Luft für volle Momente
30 – 45 ms In Ordnung, aber mit wenig Puffer
45 – 50 ms Am Limit: Jede Spitze fällt auf
Über 50 ms Der Server fällt zurück und die TPS sinken

Die Analyse schaut auf das 95. Perzentil, die Zeit, unter der 95 % der Ticks geblieben sind. Ein Durchschnitt versteckt langsame Ticks, das 95. Perzentil nicht.

Die Zeit pro Plugin lesen

Die Plugin-Liste addiert die Zeit, die im Code jedes Plugins auf dem Main-Thread verbracht wurde, und teilt sie durch die aufgezeichneten Ticks. Sie wird also in ms pro Tick gelesen, gemessen an den 50 ms, die jeder Tick hat. Ein Plugin mit 5 ms pro Tick verbraucht allein ein Zehntel des Budgets. Zeit, die ein Plugin damit verbringt, ein anderes Plugin aufzurufen, zählt für das aufgerufene, so wie sparks eigener Viewer sie zählt.

Was nach den Plugins übrig bleibt, ist das Spiel selbst: Entities, Chunks, Redstone und Spieler. Auf diesen Teil zielen die Punkte zu den Einstellungen. Um genau zu sehen, welche Task eines Plugins die Zeit braucht, öffne das Profil in sparks Viewer und wechsle zur Ansicht Sources.

Die Änderungen, die meist am meisten bringen

  • Senk die simulation-distance auf 5 oder 6 und die view-distance auf etwa 8. Die Simulationsdistanz bestimmt, wie viel von der Welt um jeden Spieler tickt, sie wirkt sich also auf jeden Tick aus.
  • Senk die Entity Activation Ranges in spigot.yml, damit Mobs weit weg von Spielern seltener ticken.
  • Nutze die Optionen von Paper: optimize-explosions, die Redstone-Implementierung ALTERNATE_CURRENT, max-entity-collisions auf 2 und eine Spawner-Tick-Rate von 2.
  • Starte Java mit Aikar’s Flags und einem Heap, der zum Server passt. Der RAM-Rechner schreibt dir beides.
  • Generier die Welt vor mit einem Plugin wie Chunky, damit keine neuen Chunks generiert werden, während gespielt wird.

Ändere immer nur eine Sache und zeichne danach ein neues Profil auf. So weißt du, was geholfen hat und was du rückgängig machen musst, wenn eine Farm nicht mehr funktioniert.

Dein Profil und Datenschutz

Die Analyse läuft in deinem Browser: Das Profil wird direkt von spark.lucko.me geladen und geht nie über EndyStudio. Denk daran, dass ein spark-Profil die Config-Dateien deines Servers enthält (spark blendet Passwörter, IPs und ähnliche Keys aus) und dass jeder mit dem Link es öffnen kann.

Häufige Fragen

Wie erstelle ich ein spark-Profil?

Führe /spark profiler start auf dem Server aus, lass es mindestens 5 Minuten aufzeichnen, während Spieler online sind, und führe dann /spark profiler stop aus. spark lädt das Ergebnis hoch und gibt dir einen spark.lucko.me-Link. Füge diesen Link in die Analyse ein.

Ist spark in Paper enthalten?

Ja. Paper und Forks wie Purpur enthalten spark seit Minecraft 1.21, der Befehl /spark funktioniert also ohne Installation. Auf Spigot, Fabric, Forge, NeoForge, Velocity oder BungeeCord installiere zuerst das spark-Plugin oder den Mod.

Was ist eine gute MSPT?

Jeder Tick hat 50 ms. Unter 30 ms bleibt viel Luft, 30 bis 45 ms ist in Ordnung, aber knapp, und sobald Ticks regelmäßig über 50 ms gehen, kann der Server keine 20 TPS mehr halten und die Spieler merken Lag.

Wird mein Profil an EndyStudio geschickt?

Nein. Dein Browser lädt das Profil direkt von spark.lucko.me und analysiert es auf deinem Computer. Nichts geht über unseren Server, und nichts wird gespeichert. Beachte, dass jeder mit einem spark-Link ihn öffnen kann, einschließlich der Config-Dateien deines Servers.

Warum zeigt die Analyse keine Aufschlüsselung pro Plugin?

Die Aufschlüsselung kommt aus sparks Aufrufbaum, den nur Profile von /spark profiler haben. Ein Health-Report (/spark health) oder eine Heap-Übersicht (/spark heapsummary) enthält ihn nicht.

Die Analyse sagt, alles ist in Ordnung, aber die Spieler laggen trotzdem. Warum?

Lag auf Spielerseite liegt nicht immer am Server. Wenn die TPS bei 20 bleiben und die Ticks kurz sind, schau dir die Verbindung an (Ping, Paketverlust, den Proxy) oder die Framerate des Clients selbst. Wenn der Lag in kurzen Schüben kommt, zeichne mit /spark profiler start --only-ticks-over 100 nur die langsamen Ticks auf.