Przejdź do treści
CraftRadar
Redakcja serwisu

Jak przyspieszyć ładowanie chunków na serwerze Minecraft

Powolne wczytywanie świata to klasyczny problem dużych serwerów. Pokazujemy ustawienia Paper, pretendowanie chunków i pluginy, które realnie przyspieszają ładowanie świata.

Powolne wczytywanie chunków to klasyczny problem dużych serwerów Minecraft. Gracz biega po świecie, a w jego polu widzenia czarne kwadraty pojawiają się zamiast bloków. Ten symptom oznacza, że serwer nie nadąża z dostarczaniem terenu klientom. Rozwiązań jest kilka — od konfiguracji Papera, przez pre-generowanie świata, po pluginy specjalne.

Jak przyspieszyć ładowanie chunków na serwerze Minecraft – snapshot Minecrafta na serwerze Minecraft

Dlaczego ładowanie jest powolne?

Każdy chunk, którego gracz jeszcze nie odwiedził, musi zostać:

  1. wygenerowany z noise function (krajobraz, biomy, struktury),
  2. zapisany na dysk (region file),
  3. aktualizowany pod kątem oświetlenia,
  4. wysłany do klientów w pobliżu.

To droga ścieżka. Pojedynczy chunk to 5–30 ms pracy CPU, a gracz w sprincie może żądać 20 nowych chunków co sekundę. Bez przygotowania — lagi murowane.

Pre-generacja — najważniejsze ulepszenie

Plugin Chunky jest standardem 2026 r. Pre-generuje wszystkie chunki w zadanym promieniu z wyprzedzeniem.

/chunky world world
/chunky radius 5000
/chunky start

Dla mapy 5000 bloków promienia (10000×10000 = 100 mln bloków, ~3 GB region files) generowanie zajmuje 1–4 godziny na średnim VPS. W trakcie gracze mogą grać — Chunky pracuje w tle z niskim priorytetem.

Po zakończeniu: gracze nie generują nowych chunków podczas eksploracji. Zmiana TPS od średnio 17 → 19.8 to typowe doświadczenie.

Konfiguracja Papera

W paper-world-defaults.yml:

chunks:
  delay-chunk-unloads-by: 10s
  prevent-moving-into-unloaded-chunks: true
  max-auto-save-chunks-per-tick: 24

delay-chunk-unloads-by: 10s trzyma chunki w pamięci przez 10 s po opuszczeniu. Gracz wracający tą samą trasą nie wymusza ponownego ładowania.

max-auto-save-chunks-per-tick: 24 ogranicza liczbę chunków zapisywanych na tick — chroni przed dużymi zatrzymaniami.

server.properties

view-distance=8
simulation-distance=4
sync-chunk-writes=false
network-compression-threshold=256

sync-chunk-writes=false wyłącza blokujące zapisy. Niewielkie ryzyko utraty zmian przy crashu, ale duża korzyść wydajnościowa. Backup robi to bezpiecznym.

view-distance=8 zamiast 12 — gracze widzą 192 bloki zamiast 192. Większość nie zauważy różnicy, ale serwer obsłuży 50% więcej osób.

Szybki dysk

Chunki to najczęściej operacje I/O. SATA SSD z IOPS 1k-2k będzie wąskim gardłem. NVMe (50k+ IOPS) przyspiesza ładowanie 5–10×.

Sprawdź na VPS:

hdparm -Tt /dev/sda
fio --randread --bs=4k --size=1G --runtime=30 --time_based --name=test

Wyniki poniżej 1k IOPS = pora na NVMe. OVH KS od 60 zł/miesiąc, Hetzner CX od 30 zł.

RAMfs / tmpfs

Trick zaawansowany: trzymaj świat w RAM-fs (tmpfs). Operacje są błyskawiczne, ale ryzykowne — restart = utrata wszystkiego.

mount -t tmpfs -o size=8G tmpfs /srv/minecraft/world

Plus skrypt synchronizujący do dysku co 5 minut (rsync). Tylko jeśli wiesz dokładnie, co robisz.

Jak przyspieszyć ładowanie chunków na serwerze Minecraft – nowa wersja Minecrafta na serwerze Minecraft

Pluginy pomocnicze

  • FastAsyncWorldEdit (FAWE) — szybsze WorldEdit z cachowaniem.
  • BetterRTP — losowe RTP, które omija niegenerowane chunki.
  • Chunky — wspomniane pre-generowanie.
  • spark — pomaga zidentyfikować, czy lagi są naprawdę z chunków.

Ograniczenie eksploracji

Granica świata. WorldGuard region:

/region define worldborder
/wb world set 5000
/wb damage set 2 0
/wb warning distance set 100

Gracze pokonują granicę = obrażenia / cofnięcie. Zniechęca to do nieustannego rozszerzania mapy. Po pre-generacji i ustawieniu granicy gracze nigdy nie żądają nowych chunków.

Optymalizacja fizyki w chunkach

W spigot.yml:

world-settings:
  default:
    item-merge-radius: 4.0
    exp-merge-radius: 4.0
    arrow-despawn-rate: 600

Mniej entity w chunku = szybsze ładowanie. Każda strzała / kula XP / item w chunku to osobny obiekt do serializacji.

Nether i End

Nether i End mają mniej generacji niż Overworld, ale mają inne wąskie gardła. W Netherze: portal między światami przepuszcza chunki = pre-generuj też Nether (rebult radius 1000).

/chunky world world_nether
/chunky radius 1000
/chunky start

Diagnostyka problemu

Kluczowe komendy w trakcie problemu:

/spark profiler --timeout 60
/spark health
/timings paste
/lagg chunks

Jeśli w sparku pojawia się dużo czasu w ChunkProviderServer lub ChunkLoader, ładowanie chunków to wąskie gardło. Wtedy działania powyżej.

Podsumowanie

Najpierw pre-generuj świat Chunky'm — to ratuje 80% problemów. Następnie ustaw view-distance=8 i simulation-distance=4. Włącz sync-chunk-writes=false. Zmień dysk na NVMe, jeśli to nadal słabe. Granica świata zatrzymuje generowanie nowych chunków na zawsze.

To kombinacja sprawia, że serwer obsłuży 100+ graczy bez czarnych kwadratów. Bez pre-generacji nawet najlepszy sprzęt nie pomoże.

Dodaj serwer

Wpisz adres serwera Minecraft, aby dodać go do listy. Dodanie jest darmowe.

Nie masz jeszcze serwera? Zobacz, jak go założyć.