Notatki operatora
Chunky: pregeneracja świata Minecraft dla mniejszej liczby lagów
Praktyczny przewodnik po pluginie Chunky, czyli najprostszym sposobie na to, żeby eksploracja świata nie zarzynała serwera. Od wyjaśnienia, po co w ogóle pregenerować teren, przez instalację na Paper, Spigot i Purpur oraz na Fabric i Forge, po komendy z przykładami, dobór promienia, Nether i End oraz dobre praktyki. Z perspektywy kogoś, kto raz tłumaczył graczowi, czemu „przy wyprawie w nowe rejony wszystko się tnie”.
W skrócie: generowanie nowych chunków to najcięższa praca, jaką serwer wykonuje w trakcie eksploracji, i to ona powoduje spadki TPS. Chunky wykonuje tę pracę z wyprzedzeniem, gdy nikogo nie ma online, więc potem serwer tylko wczytuje gotowy teren z dysku. Schemat jest krótki: /chunky radius 5000, potem /chunky start, a w razie potrzeby /chunky pause i /chunky continue. Nether i End pregenerujesz osobno przez /chunky world. Jeśli nie chcesz sam wgrywać pluginu i pilnować mocy maszyny podczas generacji, weź hosting z gotową obsługą wtyczek.
Po co pregenerować świat
Świat w Minecraft nie istnieje od razu w całości. Powstaje kawałkami, chunkami (kolumnami 16 na 16 bloków), dopiero wtedy, gdy ktoś się do nich zbliży. Wygenerowanie takiego chunka to dla serwera spory wysiłek: trzeba wyliczyć ukształtowanie terenu, biomy, rudy, jaskinie, struktury, a potem zapisać to na dysk. Dopóki gracze chodzą po już znanym terenie, jest spokojnie. Problem zaczyna się przy eksploracji nowych rejonów.
Gdy gracz rusza w nieznane, zwłaszcza szybko: konno, na elytrze, łódką po oceanie, serwer musi generować chunki w locie, jeden za drugim. To właśnie wtedy widać klasyczne objawy:
- Spadki TPS i lagi dla wszystkich graczy online, nie tylko dla podróżnika, bo generacja obciąża główny wątek serwera.
- Skoki zużycia CPU do maksimum na czas wyprawy, co na słabszej maszynie potrafi wręcz zawiesić serwer na moment.
- Zacinający się teren, który dogenerowuje się „pod nogami”, gdy gracz wyprzedza tempo, w jakim serwer nadąża liczyć.
Pregeneracja odwraca kolejność. Zamiast liczyć teren w trakcie gry, robisz to z wyprzedzeniem, najlepiej nocą albo zaraz po założeniu świata, gdy nikogo nie ma online. Chunky przechodzi cały zaplanowany obszar i zapisuje wszystkie chunki na dysk. Potem, kiedy gracze faktycznie tam dotrą, serwer już niczego nie generuje, tylko wczytuje gotowe dane, a to operacja nieporównanie lżejsza.
Korzyść jest podwójna i bardzo namacalna dla kosztu serwera. Po pierwsze, eksploracja staje się płynna, bo znika główne źródło lagów. Po drugie, znika potrzeba przewymiarowywania maszyny „na zapas” pod chwilowe skoki generacji, a to oznacza, że tańszy plan hostingu spokojnie obsłuży tę samą społeczność. Pregeneracja świadomie zamienia drogą, chwilową moc procesora na tani, trwały zapis na dysku.
Instalacja: Paper, Spigot, Purpur oraz Fabric i Forge
Chunky autorstwa pop4959 jest wydawany w wersjach dla wszystkich popularnych platform: Spigot, Paper (a więc też forków Paper, takich jak Purpur) oraz Fabric, Forge, NeoForge i Sponge. Komendy są wszędzie identyczne, różni się tylko miejsce, do którego wrzucasz plik.
Serwer pluginowy (Paper, Spigot, Purpur)
- Pobierz odpowiednią wersję. Z oficjalnego źródła (Modrinth, Hangar lub repozytorium projektu na GitHub) weź wersję Chunky dla platformy pluginowej, pasującą do wersji Minecraft Twojego serwera.
- Wrzuć plik do folderu plugins. Skopiuj pobrany plik
.jardo kataloguplugins/. Nie rozpakowuj go, plugin to gotowy plik jar. - Zrestartuj serwer. Po starcie Chunky utworzy swój folder konfiguracyjny, a w konsoli pojawi się komunikat o załadowaniu.
- Sprawdź komendą. Wpisz
/chunkyw konsoli lub w grze, jeśli plugin działa, zobaczysz pomoc do jego komend.
Serwer modowany (Fabric, Forge, NeoForge)
- Pobierz wersję dla swojego loadera. Chunky ma osobne pliki dla Fabric i dla Forge/NeoForge, dobierz właściwy do tego, na czym chodzi serwer.
- Wrzuć plik do folderu mods. Na serwerze modowanym Chunky to mod, więc plik
.jartrafia do katalogumods/, a nieplugins/. Na Fabric pamiętaj o wymaganym Fabric API, jeśli dana wersja go potrzebuje. - Zrestartuj i zweryfikuj. Tak samo jak przy pluginie, po starcie sprawdź log i wpisz
/chunky.
Dobór maszyny: sama pregeneracja przez chwilę mocno obciąża procesor, bo właśnie po to istnieje, żeby tę pracę wykonać raz a porządnie. To normalne i przejściowe. Jeśli zastanawiasz się, jaki serwer w ogóle wybrać pod dany świat i liczbę graczy, zajrzyj do osobnego wpisu o doborze sprzętu pod serwer gry.
Komendy Chunky z przykładami
Cały plugin obsługuje się przez jedną komendę /chunky z podkomendami. Podstawowy schemat pracy to: ustaw świat, ustaw promień, wystartuj, w razie potrzeby zatrzymaj i wznów. Poniżej najważniejsze podkomendy w praktyce.
Ustawienie obszaru
- Promień:
/chunky radius 5000ustawia promień zaznaczenia na 5000 bloków od środka. Wartość podajesz w blokach. Chunky rozumie też skróty, na przykład/chunky radius 5koznacza 5000 bloków, a/chunky radius 500cliczy promień w chunkach. Drugą wartość promienia podaje się tylko dla kształtów prostokąta lub elipsy. - Świat:
/chunky world worldwskazuje, który świat pregenerujesz. Domyślnie jest to świat główny (zwykleworld). Tej komendy użyjesz, żeby przełączyć się na Nether albo End. - Granica świata:
/chunky worldborderdopasowuje środek i promień zaznaczenia dokładnie do ustawionej granicy świata (world border). Bardzo wygodne: jeśli masz już ustawiony world border, tą jedną komendą mówisz Chunky „pregeneruj dokładnie tyle, ile gracze i tak mogą odwiedzić”.
Sterowanie zadaniem
- Start:
/chunky starturuchamia pregenerację z aktualnego zaznaczenia (świat, środek, kształt, promień). Możesz też podać parametry wprost w komendzie, na przykład/chunky start world square 0 0 5000wystartuje od razu kwadrat o promieniu 5000 wokół punktu 0, 0 w świecie głównym. - Pauza:
/chunky pausewstrzymuje bieżące zadania i zapisuje postęp. Przyda się, gdy ktoś wchodzi na serwer i chcesz zwolnić procesor. - Wznowienie:
/chunky continuewznawia wstrzymane lub zapisane zadania od miejsca, w którym stanęły. Działa też po restarcie serwera, bo postęp jest zapisywany. - Anulowanie:
/chunky cancelzatrzymuje zadania i trwale je usuwa (kasuje zapamiętany postęp). Uwaga, to nie kasuje już wygenerowanych chunków, te zostają na dysku. Anulujesz samo zadanie, a nie efekt pracy. - Postęp:
/chunky progresspokazuje w grze postęp wszystkich zadań (procent, tempo, szacowany czas), tak jak normalnie widać go w konsoli serwera.
Porządki po pregeneracji
- Przycinanie:
/chunky trimusuwa chunki spoza zaznaczonego obszaru. Służy do sprzątania mapy, na przykład gdy zawęziłeś world border i chcesz skasować nadmiarowy, wygenerowany wcześniej teren, żeby odzyskać miejsce na dysku. To operacja kasująca pliki, więc używaj jej świadomie i po kopii zapasowej.
Tabela komend
Tabela do trzymania pod ręką. Wszystkie podkomendy uruchamiasz z przedrostkiem /chunky w grze albo bez ukośnika w konsoli serwera.
| Komenda | Co robi |
|---|---|
/chunky radius <n> | Ustawia promień zaznaczenia w blokach (skróty: k = tysiące, c = chunki). |
/chunky world <świat> | Wskazuje docelowy świat (np. world, world_nether, world_the_end). |
/chunky worldborder | Dopasowuje środek i promień do granicy świata (world border). |
/chunky start | Uruchamia pregenerację z aktualnego zaznaczenia (lub z parametrów w komendzie). |
/chunky pause | Wstrzymuje bieżące zadania i zapisuje postęp. |
/chunky continue | Wznawia wstrzymane lub zapisane zadania od miejsca przerwania. |
/chunky cancel | Zatrzymuje i trwale usuwa zadanie (już wygenerowane chunki zostają). |
/chunky progress | Pokazuje postęp wszystkich zadań (procent, tempo, czas). |
/chunky trim | Usuwa chunki spoza zaznaczenia (porządkowanie mapy, odzysk miejsca). |
Jak ustawić rozsądny promień
Najczęstszy błąd początkujących to ustawienie ogromnego promienia „na wszelki wypadek”. To pułapka, bo liczba chunków rośnie z kwadratem promienia. Podwojenie promienia z 5000 na 10000 bloków to nie dwa razy, ale mniej więcej cztery razy więcej terenu do wygenerowania i czterokrotnie więcej miejsca na dysku. Przy zbyt hojnym promieniu pregeneracja potrafi ciągnąć się godzinami i zapchać dysk terenem, którego nikt nigdy nie odwiedzi.
Praktyczne punkty odniesienia:
- Mały serwer dla znajomych: promień rzędu 3000 do 5000 bloków zwykle w zupełności wystarcza.
- Większa społeczność: 8000 do 10000 bloków, w zależności od tego, jak bardzo gracze lubią się rozjeżdżać po mapie.
- Najlepsze podejście: najpierw ustaw world border na wartość, którą realnie chcesz udostępnić, a potem użyj
/chunky worldborder, żeby pregenerować dokładnie ten obszar. Wtedy masz pewność, że generujesz dokładnie tyle terenu, ile gracze i tak będą mogli odwiedzić, ani bloku więcej.
To podejście naturalnie łączy pregenerację z planowaniem świata. Zamiast generować „w nieskończoność”, decydujesz świadomie, jak duża ma być mapa, i pregenerujesz dokładnie tę przestrzeń.
Pregeneracja Netheru i Endu
Lagi przy eksploracji dotyczą każdego wymiaru, nie tylko świata głównego. Wyprawa do nowego rejonu Netheru po nową twierdz albo budowa farmy w odległym chunku Endu obciąża serwer tak samo. Dlatego Nether i End pregenerujesz osobno, bo każdy wymiar to oddzielny świat z własnymi plikami.
Robi się to tak samo jak w Overworldzie, tylko najpierw przełączasz świat:
/chunky world world_nether, żeby wskazać Nether (nazwa świata może się różnić w zależności od konfiguracji serwera, sprawdź/chunky worldbez argumentu albo strukturę folderów)./chunky radius 1000, ustaw promień. Tu ważna sztuczka: w Netherze jeden blok odpowiada ośmiu blokom w świecie głównym. Żeby pokryć ten sam zasięg gry, w Netherze wystarcza promień około osiem razy mniejszy niż w Overworldzie. Promień 1000 w Netherze odpowiada mniej więcej obszarowi 8000 w świecie głównym./chunky start, uruchom zadanie.- Po zakończeniu przełącz się na End:
/chunky world world_the_end, ustaw promień i ponownie/chunky start.
Endu często nie trzeba pregenerować szeroko, bo większość gry toczy się w pobliżu głównej wyspy i kilku wysp zewnętrznych. Mniejszy promień zwykle w pełni wystarcza.
Dobre praktyki
- Pregeneruj przy pustym serwerze. Najlepiej zaraz po założeniu świata albo nocą, gdy nikogo nie ma online. Generacja przez chwilę mocno obciąża procesor, a robienie tego, gdy gracze są aktywni, doda im lagów zamiast je usunąć.
- Monitoruj TPS i CPU. Obserwuj
/chunky progressoraz TPS serwera. Jeśli wartość TPS spada za nisko, użyj/chunky pause, a wznów/chunky continuew spokojniejszym momencie. Tempo generacji można też regulować w konfiguracji pluginu. - Zrób kopię zapasową przed
trim. Komenda/chunky trimkasuje pliki na dysku. Zanim jej użyjesz, zabezpiecz świat, pomyłka w zaznaczeniu może usunąć teren, który chciałeś zachować. - Dopasuj promień do granicy świata. Ustaw world border i pregeneruj przez
/chunky worldborder. Unikniesz w ten sposób marnowania miejsca na teren poza zasięgiem gry. - Pregeneruj każdy wymiar. Pamiętaj o Netherze i Endzie, nie tylko o świecie głównym, jeśli gracze będą tam podróżować.
- Pilnuj miejsca na dysku. Pregeneracja zwiększa rozmiar plików świata. Sprawdź, czy plan hostingu ma na to zapas, zwłaszcza przy dużych promieniach albo modowanych światach z dodatkowymi strukturami.
Najczęstsze pytania
Po co pregenerować świat Minecraft?
Generowanie nowych chunków to najcięższa operacja, jaką serwer wykonuje podczas eksploracji, i to ona powoduje spadki TPS oraz skoki CPU. Chunky robi tę pracę z wyprzedzeniem, gdy nikogo nie ma online, więc potem serwer tylko wczytuje gotowy teren z dysku. Efekt to płynniejsza gra i niższe szczytowe obciążenie maszyny.
Czy Chunky działa na Paper, Spigot, Fabric i Forge?
Tak. Chunky autorstwa pop4959 ma wersje dla Spigot, Paper (i forków, jak Purpur) oraz dla Fabric, Forge, NeoForge i Sponge. Na serwerach pluginowych plik trafia do folderu plugins/, na modowanych do mods/. Komendy są wszędzie takie same.
Jaki promień ustawić przy pregeneracji?
Zależnie od skali: 3000 do 5000 bloków dla małego serwera, 8000 do 10000 dla większej społeczności. Najlepiej dopasować promień do granicy świata komendą /chunky worldborder. Pamiętaj, że liczba chunków rośnie z kwadratem promienia.
Czy pregeneracja zajmie dużo miejsca na dysku?
Tak, świadomie zamienia chwilową moc CPU na trwały zapis na dysku. Im większy promień, tym więcej plików. Dlatego warto pregenerować tylko obszar w zasięgu world bordera, a w razie potrzeby posprzątać nadmiar komendą /chunky trim.
Czy trzeba pregenerować Nether i End osobno?
Tak, bo każdy wymiar to oddzielny świat. Przełączasz się komendą /chunky world (np. world_nether, world_the_end), ustawiasz promień i startujesz. W Netherze jeden blok odpowiada ośmiu w świecie głównym, więc wystarcza mniejszy promień.
Powiązane
- Jeśli nie chcesz sam wgrywać pluginu i pilnować mocy maszyny podczas generacji, gotowy serwer z obsługą wtyczek znajdziesz w hostingu Minecraft Java w Supercraft, Chunky wgrywasz przez panel, a serwer aktualizuje się sam.
- Jak zrobić serwer Minecraft krok po kroku
- Dobór sprzętu pod serwer gry: ile CPU, RAM i dysku
- Serwer Minecraft z modami: Fabric i Forge
- WorldGuard: ochrona terenu i regiony na serwerze Minecraft
- Hosting serwera Minecraft: VPS vs zarządzany, dobór i koszt