Minecraft Server Weltgenerierung optimieren: Welt vorgenerieren und Chunk-Lag eliminieren
# Minecraft Server Weltgenerierung optimieren: Welt vorgenerieren und Chunk-Lag eliminieren
Einer der am häufigsten übersehenen Gründe für Server-Lag ist die Echtzeit-Weltgenerierung. Jedes Mal, wenn ein Spieler ein unerkundetes Gebiet betritt, muss dein Server neue Chunks on-the-fly generieren – inklusive Terrain, Strukturen, Biome, Erze und mehr. Auf einem belebten Server kann das deine TPS sofort einbrechen lassen.
In diesem Leitfaden erfährst du, wie du deine Welt vorgenerierst, sinnvolle Weltgrenzen setzt und deine Chunk-Einstellungen so anpasst, dass dein Server auch beim Wachsen der Spielerbasis stabil bleibt.
---
Warum Weltgenerierung Lag verursacht
Minecrafts Weltgenerierung ist rechenintensiv. Wenn ein Spieler unbekanntes Terrain betritt, muss der Server:
- Terrain mit Noise-Algorithmen berechnen
- Biom-spezifische Features platzieren (Bäume, Höhlen, etc.)
- Strukturen generieren (Dörfer, Festungen usw.)
- Chunks mit Erzen und Mob-Spawns befüllen
- Den Chunk beleuchten (einer der CPU-intensivsten Vorgänge)
All das passiert synchron auf dem Hauptthread – also direkt in Konkurrenz zu deiner TPS. Ein einziger Spieler, der Neuland erkundet, kann einen Server von 20 TPS auf 10 TPS oder weniger drücken.
---
Schritt 1: Welt mit Chunky vorgenerieren
Die effektivste Lösung ist das Vorgenerieren der Welt, bevor Spieler beitreten. Chunky ist das Standard-Plugin dafür.
Chunky installieren und verwenden
- Lade [Chunky](https://www.spigotmc.org/resources/chunky.81534/) herunter und lege es in deinen
/plugins-Ordner. - Setze Mittelpunkt und Radius für die Generierung:
/chunky center 0 0
/chunky radius 5000
/chunky start
Das vorgeneriert einen Radius von 5.000 Blöcken um den Spawn. Für die meisten Survival-Server ist ein Radius von 3.000–6.000 Blöcken ausreichend.
Wie lange dauert die Vorgenerierung?
Als Richtwerte:
- 3.000 Block Radius → ~30–60 Minuten
- 5.000 Block Radius → ~2–4 Stunden
- 10.000 Block Radius → ~8–16+ Stunden
Führe dies zu Zeiten mit wenig Traffic oder vor dem Launch durch. Chunky speichert den Fortschritt, du kannst also jederzeit pausieren und weitermachen.
---
Schritt 2: Weltgrenze setzen
Das Vorgenerieren hilft nur, wenn Spieler das vorgenerierte Gebiet nicht verlassen können. Nutze Minecrafts eingebaute Weltgrenze:
/worldborder center 0 0
/worldborder set 10000
Das setzt eine 10.000 x 10.000 Block große Spielfläche. Passe dies an deinen Chunky-Radius an.
Alternativ bietet das WorldBorder-Plugin mehr Kontrolle, zum Beispiel für Per-World-Grenzen mit Multiverse.
---
Schritt 3: Paper Chunk-Einstellungen optimieren
Falls unvermeidlich doch Chunks generiert werden, bietet Paper wichtige Stellschrauben.
paper-world.yml (oder config/paper-world-defaults.yml)
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
entity-per-chunk-save-limit:
experience_orb: 16
arrow: 16
snowball: 8
ender_pearl: 8
auto-save-interval: Setze dies auf 6000 Ticks (5 Minuten) statt des Standards. Zu häufiges Auto-Speichern verursacht I/O-Spitzen.
delay-chunk-unloads-by: Hält kürzlich besuchte Chunks 10 Sekunden geladen und reduziert Reload-Overhead an Chunk-Grenzen.
spigot.yml
world-settings:
default:
chunk-gc:
period-in-ticks: 600
max-bulk-chunks: 10
view-distance: 6
max-bulk-chunks: Begrenzt, wie viele Chunks gleichzeitig an einen Client gesendet werden, und reduziert CPU-Bursts.
server.properties
view-distance=6
simulation-distance=4
simulation-distance auf 4 zu setzen, während view-distance bei 6–8 bleibt, ist einer der besten Performance-Gewinne in modernen Paper-Servern. Spieler sehen mehr Terrain, aber der Server simuliert nur Ticks innerhalb von 4 Chunks.
---
Schritt 4: Async Chunk Loading mit Paper
Paper verfügt über eingebautes asynchrones Chunk-Laden und -Speichern, was den Hauptthread erheblich entlastet. Stelle sicher, dass du mindestens Paper 1.18+ verwendest.
Für sehr hohe Spielerzahlen (100+) ist Folia interessant – PaperMCs Fork mit regionalisiertem Multithreading. Folia ist noch in der Entwicklung und nicht alle Plugins sind kompatibel, aber es ist die Zukunft für Performance-starke Server.
---
Schritt 5: Chunk-Übertragung in Paper begrenzen
In config/paper-global.yml:
chunk-loading-basic:
player-max-chunk-load-rate: 100
player-max-send-rate: 75
player-max-chunk-load-rate: Begrenzt, wie viele Chunks pro Sekunde ein einzelner Spieler auslösen kann. Standard ist -1 (unbegrenzt) – das lässt aggressive Clients deinen Server belasten.
player-max-send-rate: Begrenzt, wie schnell der Server Chunk-Daten an Spieler schickt, und reduziert Netzwerk- und CPU-Bursts bei Teleports.
---
Performance überwachen
Nutze den /spark-Profiler, um Chunk-Lag zu identifizieren:
/spark profiler --timeout 60
Suche im Flame-Graph nach ChunkProviderServer oder ServerChunkCache – diese deuten auf Chunk-Generierungs- oder Lade-Lag hin.
Für kontinuierliches Monitoring kann PulseNode dich benachrichtigen, wenn TPS-Einbrüche mit Bewegungsmustern der Spieler korrelieren – so erkennst du Generierungs-Probleme, bevor sie deine Spieler nerven.
---
Kurzübersicht: Checkliste
- ✅ Welt mit Chunky vorgenerieren (3.000–6.000 Block Radius)
- ✅ Weltgrenze passend zum Radius setzen
- ✅
simulation-distance=4inserver.properties - ✅
view-distance=6oder7setzen - ✅
player-max-chunk-load-rateinpaper-global.ymlkonfigurieren - ✅
auto-save-intervalauf6000Ticks erhöhen - ✅ Paper, Purpur oder Pufferfish für async Chunk-I/O verwenden
- ✅ Mit
/sparkprofilen und Verbesserungen verifizieren
---
Fazit
Weltgenerungs-Lag ist mit der richtigen Vorbereitung zu 100 % vermeidbar. Das Vorgenerieren der Welt vor dem Launch ist das Wirkungsvollste, was du für deine Server-Performance tun kannst – und es kostet nichts außer Zeit.
Kombiniere das mit optimierten Paper-Einstellungen und einer vernünftigen Simulation Distance, und dein Server wird explorationslastiges Gameplay problemlos meistern.
[Teste PulseNode kostenlos](https://pulsenode.tech) und überwache TPS und Chunk-Performance in Echtzeit – erkenne Generierungs-Spitzen, bevor deine Spieler es merken.