Zurück zum Blog
tick loopTPSserver optimizationPaperperformanceMinecraft server

Minecraft Server Tick-Loop erklärt: Was passiert alle 50ms und wie du ihn optimierst

Veröffentlicht am 20. August 2026

# Minecraft Server Tick-Loop erklärt: Was passiert alle 50ms und wie du ihn optimierst

Jeder Minecraft-Server läuft auf einem einzigen Haupt-Thread, der die Spielwelt in diskreten Schritten verarbeitet – den sogenannten Ticks. Der Server zielt auf 20 Ticks pro Sekunde ab, also einen Tick alle 50 Millisekunden. Wenn ein Tick länger als 50ms dauert, gerät der Server ins Hintertreffen, die TPS fallen ab und Spieler erleben Lag. Aber was passiert eigentlich *innerhalb* eines Ticks? Das Verständnis des Tick-Loops ermöglicht es dir, an der eigentlichen Ursache zu optimieren statt zu raten.

Dieser Guide erklärt jede Phase des Minecraft-Server-Tick-Loops und gibt dir konkrete Einstellungen für jede einzelne.

---

Der Server-Tick-Loop: Phase für Phase erklärt

1. Netzwerk-Eingabeverarbeitung

Zu Beginn jedes Ticks liest der Server alle eingehenden Pakete der verbundenen Spieler. Das umfasst Bewegung, Block-Interaktion, Chat, Inventar-Klicks und mehr.

Was schiefläuft: Zu viele Spieler senden zu viele Pakete gleichzeitig. Manche Clients (besonders modded) spammen Pakete.

Fix: In paper-world.yml (Paper 1.19+) bzw. paper.yml (ältere Paper-Versionen):

packet-limiter:

all-packets:

action: DROP

interval: 7.0

max-packet-rate: 500.0

Übermäßige Pakete werden verworfen, bevor sie Tick-Zeit verbrauchen.

---

2. Spieler-Tick (Entity-Tick-Phase)

Jeder Spieler wird getickert: Position wird aktualisiert, Gesundheit/Hunger neu berechnet, Effekte verarbeitet und der Server prüft, ob der Spieler noch gültig ist.

Was schiefläuft: Hohe Spielerzahl oder Spieler in komplexen Bereichen mit vielen Entities in der Nähe.

Fix in spigot.yml:

entity-tracking-range:

players: 48

animals: 48

monsters: 48

misc: 32

other: 64

Geringere Tracking-Ranges reduzieren die Anzahl der Entities, die jeder Spieler pro Tick tracken muss. Das wirkt sich direkt auf die Entity-Tick-Phase aus.

---

3. Welt-Tick

Das ist die größte und teuerste Phase. Sie umfasst:

  • Chunk-Ticking — Random Ticks (Pflanzenwachstum, Feuerausbreitung, Eisschmelze), Block-Updates
  • Entity-AI-Ticking — Pathfinding, Targeting, Bewegung für alle geladenen Entities
  • Block-Entity-Ticking — Öfen, Trichter, Truhen, Kolben usw.
  • Geplante Ticks — Redstone, Wasser-/Lavafluß
  • Wetter und Zeit — Tag-Nacht-Zyklus, Regen-/Gewitterlogik

Chunk-Ticking wird in server.properties gesteuert:

random-tick-speed=3

Höhere Werte beschleunigen Pflanzenwachstum und Feuerausbreitung, kosten aber mehr Tick-Zeit. Werte über 3 sind selten gerechtfertigt.

Entity-AI ist der häufigste Übeltäter bei langsamen Welt-Ticks. In paper-world.yml:

behavior-tick-entity-tracking-range:

creeper: 8

zombie: 8

skeleton: 8

villager: 8

default: 8

player: 48

Entities außerhalb ihrer Tracking-Range existieren weiterhin, führen aber keine vollständige KI aus – ein massiver Performance-Gewinn.

Trichter-Tick-Rate ist einer der wirkungsvollsten Hebel in spigot.yml:

ticks-per:

hopper-transfer: 8

hopper-check: 1

Den Wert hopper-transfer von 8 auf 16 oder 24 zu erhöhen halbiert oder drittelt die Kosten großer Trichter-Netzwerke bei minimalem Gameplay-Einfluss.

In paper-world.yml zusätzlich:

hopper:

cooldown-when-full: true

disable-move-event: false

ignore-occluding-blocks: true

---

4. Chunk-Laden und -Entladen

Nach dem Welt-Tick verarbeitet der Server Chunk-Lade- und -Entlade-Anforderungen. Neue Chunks werden zur Generierung oder zum Laden von der Festplatte eingereiht, und ungenutzte Chunks werden gespeichert und aus dem Speicher entfernt.

Fix in paper-world.yml:

chunks:

auto-save-interval: 6000

delay-chunk-unloads-by: 10s

In spigot.yml:

chunk-gc:

period-in-ticks: 600

Und immer view-distance und simulation-distance in server.properties als erste Verteidigungslinie nutzen:

view-distance=8

simulation-distance=6

---

5. Async-Aufgaben und Scheduler-Flush

Am Ende jedes Ticks führt der Bukkit-Scheduler alle Aufgaben aus, die für diesen Tick registriert wurden. Schlecht geschriebene Plugins, die schwere Arbeit synchron hier einplanen, sind eine häufige versteckte Ursache für Tick-Overruns.

Diagnose mit [spark](https://spark.lucko.me/):

/spark profiler --timeout 60

Suche im Flame-Graph nach Plugin-Methoden, die >1ms pro Tick verbrauchen. Alles über 2–3ms dauerhaft ist ein Problem.

---

Tick-Gesundheit in der Produktion überwachen

Die Theorie zu kennen ist nur die halbe Miete. Du brauchst Echtzeit-Einblick in die Tick-Phasen, die überlasten. Nutze /spark tps und /spark health regelmäßig — für kontinuierliches Produktions-Monitoring ohne ständiges SSH-Einloggen kannst du Tools wie [PulseNode](https://pulsenode.tech) verwenden, das TPS, Speicher und CPU im Zeitverlauf trackt und dich warnt, bevor Spieler Probleme bemerken.

Richte automatische Alerts ein, wenn TPS unter 18 fallen, um Tick-Overruns mit konkreten Ereignissen zu korrelieren (Spieler-Spitzen, geplante Tasks, Mob-Events).

---

Schnellreferenz: Optimierungen nach Phase

| Tick-Phase | Config-Datei | Wichtige Einstellung |

|---|---|---|

| Netzwerk-Eingabe | paper-world.yml | packet-limiter |

| Spieler-Tick | spigot.yml | entity-tracking-range |

| Entity-KI | paper-world.yml | behavior-tick-entity-tracking-range |

| Trichter-Logik | spigot.yml | ticks-per.hopper-transfer |

| Chunk-I/O | paper-world.yml | chunks.auto-save-interval |

| Sichtweite | server.properties | simulation-distance |

---

Zusammenfassung

Der Minecraft-Server-Tick-Loop ist eine sequenzielle, single-threaded Pipeline. Jede Millisekunde, die in einer Phase gespart wird, gibt Budget für die nächste frei. Die größten Gewinne kommen von:

  1. Entity-KI-Arbeit reduzieren — Mob-Anzahl und KI-Tracking-Ranges begrenzen
  2. Trichter-Netzwerke drosselnhopper-transfer-Ticks erhöhen
  3. Simulation Distance tunen — die einzelne wirksamste Einstellung für das Tick-Budget
  4. Mit spark profilen — immer zuerst bestätigen, was wirklich teuer ist, bevor du blind Einstellungen änderst

Zu verstehen, *warum* dein Server langsam tickt, ist der Unterschied zwischen effektiver Optimierung und wahllosem Config-Anpassen. Starte mit einem spark-Profil, identifiziere die Phase, wende den gezielten Fix an.

---

*Willst du automatische Alerts, wenn dein Tick-Budget zu steigen beginnt? [PulseNode](https://pulsenode.tech) überwacht TPS und Performance-Metriken deines Servers rund um die Uhr, damit du Probleme beheben kannst, bevor Spieler sie überhaupt spüren.*

Server-Performance optimieren?

PulseNode überwacht deinen Minecraft Server in Echtzeit und gibt dir KI-gestützte Optimierungstipps.

Kostenlos starten
Minecraft Server Tick-Loop erklärt: Was passiert alle 50ms und wie du ihn optimierst — PulseNode Blog | PulseNode