Minecraft Server Mob-Spawning optimieren: Spawn-Lag reduzieren ohne das Gameplay zu ruinieren
# Minecraft Server Mob-Spawning optimieren: Spawn-Lag reduzieren ohne das Gameplay zu ruinieren
Das Mob-Spawning ist einer der CPU-intensivsten Prozesse auf jedem Minecraft-Server. In jedem Game-Tick berechnet der Server, wo Mobs spawnen können, überprüft die Spielernähe, bewertet Lichtverhältnisse und verwaltet Mob-Caps – und das alles, während er versucht, 20 TPS aufrechtzuerhalten. Bei Servern mit 20+ Spielern ist eine schlechte Spawning-Konfiguration oft der am häufigsten übersehene Grund für Lag.
Dieser Leitfaden erklärt genau, wie das Minecraft-Mob-Spawning intern funktioniert, und liefert dir echte, getestete Config-Werte, um Spawn-Lag zu reduzieren – ohne deinen Survival-Server in eine mob-freie Wüste zu verwandeln.
Wie Minecraft Mob-Spawning wirklich funktioniert
In jedem Tick führt der Server einen Spawn-Algorithmus für jeden geladenen Chunk im Spielerbereich aus. Der Algorithmus:
- Prüft den globalen Mob-Cap – wenn die Gesamtzahl der Mobs den Cap übersteigt, spawnen keine neuen Mobs
- Wählt Kandidaten-Chunks in der Nähe jedes Spielers
- Versucht mehrere Spawn-Versuche pro Chunk
- Validiert jede Spawn-Position (Lichtniveau, Blocktyp, Platz)
Das bedeutet, die Spawn-Kosten skalieren mit Chunk-Anzahl × Spieler × Spawn-Versuchen. Auf einem Vanilla-Server mit 10 Spielern und 10 Chunks Simulationsdistanz verarbeitest du potenziell Hunderte von Chunks pro Tick nur für das Mob-Spawning.
Die wichtigsten Config-Dateien
Das Mob-Spawning wird über mehrere Config-Dateien gesteuert:
bukkit.yml– globale Mob-Caps und Spawn-Tick-Ratenspigot.yml– Mob-Caps und Spawn-Bereiche pro Kategoriepaper-world-defaults.yml– erweitertes Spawning-Verhalten (nur Paper)purpur.yml– zusätzliche Mob-Kontrolle (nur Purpur)server.properties– Simulationsdistanz (beeinflusst den Spawn-Bereich)
Schritt 1: Mob-Caps in bukkit.yml anpassen
Öffne bukkit.yml und suche den Abschnitt spawn-limits:
spawn-limits:
monsters: 70
animals: 10
water-animals: 5
water-ambient: 20
water-underground-creature: 5
axolotls: 5
ambient: 15
Die Vanilla-Standardwerte sind höher. Diese Werte gelten auf Paper-Servern pro Spieler (anders als in Vanilla, wo es global ist). Bei einem Server mit 30 Spielern bedeutet monsters: 70 bis zu 2.100 Monster gleichzeitig – eine enorme CPU-Last.
Empfohlene Werte für stark frequentierte Server (20+ Spieler):
spawn-limits:
monsters: 50
animals: 8
water-animals: 3
water-ambient: 10
water-underground-creature: 3
axolotls: 3
ambient: 8
Senke Monster nicht unter 30 – Grinder und Farms werden kaputt gehen, und Spieler werden in der Wildnis kaum noch Mobs treffen.
Schritt 2: Spawn-Tick-Rate anpassen
Ebenfalls in bukkit.yml steuert der Abschnitt ticks-per, wie oft der Server Spawn-Checks ausführt:
ticks-per:
animal-spawns: 400
monster-spawns: 1
water-spawns: 1
water-ambient-spawns: 1
water-underground-creature-spawns: 1
axolotl-spawns: 1
ambient-spawns: 1
Tier-Spawns haben bereits standardmäßig 400 Ticks (20 Sekunden), was in Ordnung ist. Monster-Spawns bei 1 Tick bedeutet, dass der Server jede einzelne Spielrunde Monster-Spawning überprüft – das ist teuer.
Erhöhe die Monster-Spawn-Tick-Rate leicht:
ticks-per:
monster-spawns: 4
water-spawns: 2
ambient-spawns: 10
monster-spawns: 4 bedeutet, dass das Spawning alle 4 Ticks statt jeden Tick ausgeführt wird. Spieler werden es kaum bemerken, aber deine TPS werden es dir danken. Über 10 zu gehen lässt Mob-Farmen spürbar langsamer werden.
Schritt 3: Paper-spezifische Spawning-Optimierungen
Wenn du Paper verwendest (was du solltest), bietet paper-world-defaults.yml leistungsstarke Spawning-Kontrollen:
entities:
spawning:
per-player-mob-spawns: true
spawn-limits:
monsters: 70
...
Aktiviere per-player-mob-spawns: true, falls es noch nicht aktiviert ist. Dies ist eine der besten Optimierungen von Paper – sie verteilt den Mob-Cap fair auf alle Spieler, anstatt einem Spieler in einer Mob-Farm zu erlauben, den gesamten Server-Cap zu verbrauchen.
Prüfe außerdem:
entities:
spawning:
monster-spawn-max-light-level: 0
despawn-ranges:
monster:
soft: 32
hard: 128
animal:
soft: 32
hard: 128
Das Anpassen der Despawn-Bereiche ist entscheidend. Der soft-Bereich ist, wo Mobs im Laufe der Zeit zufällig despawnen; hard ist, wo sie zwangsweise entfernt werden. Niedrigere Hard-Despawn-Werte bedeuten, dass zu jedem Zeitpunkt weniger Mobs existieren:
despawn-ranges:
monster:
soft: 28
hard: 96
animal:
soft: 28
hard: 96
Schritt 4: Simulationsdistanz reduzieren
In server.properties:
simulation-distance=6
Dies ist getrennt von view-distance (das steuert, wie weit Clients *sehen* können). Die Simulationsdistanz steuert, wie weit vom Spieler entfernt der Server Entities tickt und Spawning ausführt. Der Standard von 10 ist für die meisten Server übertrieben.
Setze dies auf 4–6 – das reduziert die Anzahl der Chunks, die für das Spawning berücksichtigt werden, dramatisch, ohne das Gameplay visuell zu beeinflussen.
Schritt 5: Pufferfish DAB (Dynamic Activation of Brains) nutzen
Wenn du Pufferfish oder Purpur verwendest (das Pufferfish-Patches enthält), aktiviere Dynamic Activation of Brains:
# pufferfish.yml
dab:
enabled: true
start-distance: 12
max-tick-freq: 20
activation-dist-mod: 8
DAB reduziert, wie oft entfernte Mobs ihr volles KI-System ausführen (Pathfinding, Ziel-Suche usw.). Mobs weit von Spielern entfernt ticken seltener, was enorm CPU-Zeit spart. Das beeinflusst keine Mobs in der Nähe von Spielern, sodass Kampf und Farmen normal funktionieren.
Schritt 6: Spawner-Verhalten kontrollieren
Mob-Spawner in spielergebauten Farmen sind ein separates Spawn-System. In paper-world-defaults.yml:
entities:
spawning:
count-all-mobs-for-spawning: false
Diesen Wert auf false zu setzen bedeutet, dass durch Spawner erzeugte Mobs nicht gegen den globalen Mob-Cap zählen – das verhindert, dass Spawner-Farmen das natürliche Spawning an anderen Orten der Karte blockieren.
Wie du überprüfst, ob deine Änderungen wirken
Nach dem Anwenden dieser Einstellungen überwache die TPS und Mob-Anzahl deines Servers:
- Nutze
/spark tps, um TPS-Verbesserungen nach dem Neustart zu beobachten - Nutze
/paper mobcaps, um die Echtzeit-Mob-Cap-Nutzung pro Kategorie zu sehen - Prüfe, ob
minecraft:spawningin deinen Spark-Profiler-Berichten auftaucht – es sollte in der Liste nach unten wandern
PulseNode kann dir helfen, TPS-Trends über die Zeit nach Config-Änderungen zu überwachen, sodass du sehen kannst, ob deine Spawn-Optimierungen tatsächlich einen messbaren Unterschied bei unterschiedlichen Tageszeiten und Spielerzahlen machen.
Schnellreferenz: Zusammenfassung empfohlener Einstellungen
| Einstellung | Datei | Standard | Empfohlen |
|---|---|---|---|
| monsters Spawn-Limit | bukkit.yml | 70 | 50 |
| monster-spawns Tick-Rate | bukkit.yml | 1 | 4 |
| per-player-mob-spawns | paper-world.yml | true | true |
| Hard-Despawn (Monster) | paper-world.yml | 128 | 96 |
| simulation-distance | server.properties | 10 | 4–6 |
| DAB aktiviert | pufferfish.yml | false | true |
Fazit
Mob-Spawning-Optimierung ist eine Balance. Zu aggressiv und dein Server wirkt leblos; gar nichts tun und das Spawning frisst 30% deines Tick-Budgets. Die oben genannten Einstellungen stellen eine getestete Mitte dar, die für die meisten Survival- und Semi-Vanilla-Server gut funktioniert.
Beginne mit den bukkit.yml-Änderungen und der Simulationsdistanz – diese beiden allein können auf einem stark frequentierten Server 5–10 TPS zurückgewinnen. Dann füge Paper- und Pufferfish-Optionen für weitere Verbesserungen hinzu.
Sobald deine Änderungen live sind, nutze PulseNode, um die Performance-Metriken deines Servers über die Zeit zu verfolgen und zu bestätigen, dass die Optimierungen unter echter Spielerlast standhalten. Kleine Config-Änderungen summieren sich schnell – und der Unterschied zwischen 16 TPS und 20 TPS ist der Unterschied zwischen Spielern, die bleiben, und Spielern, die gehen.