Ten artykuł przeczytasz w około 7 minut
Za każdym razem, gdy na Twoim serwerze gracze udają się w nie odwiedzone wcześniej miejsca serwer Minecraft generuje część świata co powoduje naturalne obciążenie procesora. Domyślnie rozmiar mapy w Minecraft to 30 milionów bloków od punktu 0,0 - jest ona więc praktycznie nielimitowana. Na początkowej fazie rozgrywki w kilka lub tym bardziej kilkanaście osób może to powodować problem z wydajnością. Jeśli pozostawisz mapę bez ustalonego limitu bardzo szybko może okazać się, że zajmuje ona prawie całe dostępne miejsce na dysku.
W tym poradniku dowiesz się:
Minecraft od wersji 1.8 pozwala na ustalenie nieprzekraczalnej przez gracza granicy świata za pomocą komendy /worldborder set <rozmiar> (np. /worldborder set 1000). Działanie tej komendy jest proste i zwykle wystarczające. O wiele więcej opcji daje nam jednak plugin WorldBorder.
W tym poradniku opisaliśmy jak ograniczyć i wygenerować mapę za pomocą pluginu WorldBorder. Jeśli Twój silnik serwerowy nie obsługuje pluginów, ale np. wspiera obsługę modów (Forge lub Fabric) możesz skorzystać z analogicznych narzędzi w formie moda. Przykładowe mody, które sprawdzą się przy generowaniu mapy:
WorldBorder jest pluginem dla serwerów Bukkit/Spigot. Pozwala w prosty sposób ograniczyć rozmiar dostępnej dla graczy mapy. Dzięki niemu ustalisz granicę, której przekroczenie będzie dla nich niemożliwe.
Oprócz limitowania rozmiaru mapy potrafi on również usuwać teren, który znajduje się poza ustaloną granicą. Za jego pomocą wygenerujesz również teren bez konieczności jego odwiedzania - dzięki wygenerowanej mapie znacznie ograniczysz lagi serwera, które mogą wystąpić podczas odwiedzania nowych terenów.
Do prawidłowego działania plugin ten wymaga zainstalowania silnika serwerowego obsługującego pluginy Spigot lub Bukkit. Na potrzeby tego poradnika wykorzystany został silnik Paper w wersji 1.17.1 - WorldBorder jest kompatybilny nawet z bardzo starymi wersjami Minecraft.
Plugin ten można pobrać za darmo dla:
Po pobraniu odpowiedniej wersji plugin należy umieścić w folderze plugins i uruchomić ponownie serwer. Po ponownym uruchomieniu w logach serwera plugin poinformuje nas o działaniu jak na zrzucie ekranu poniżej.
Po przesłaniu pluginu na serwer nie pozostaje nam nic innego jak ustawienie odpowiadającej nam granicy świata. Aby to zrobić należy dołączyć do gry i udać się w miejsce, które będzie znajdować się po środku mapy (na przykład spawn serwerowy).
Gdy znajdziemy odpowiadające nam miejsce wystarczy użyć komendy /wb set <promień> (np. /wb set 500 jak na zrzucie ekranu poniżej). Domyślnie granica mapy ma kształt koła.
Komenda ta jest dostępna dla graczy posiadających uprawnienia worldborder.* lub operatorów serwera (użyj /op nick w konsoli serwera). Poprawnie ustawiona granica mapy poskutkuje informacją jak na zrzucie ekranu ("Border has been set").
Osoby, które spróbują przekroczyć granicę zostaną cofnięte w jej miejsce oraz poinformowane o tym na czacie (komunikat ten można zmienić w pliku plugins/WorldBorder/config.yml):
Ustalenie granicy świata nie oznacza, że mapa znajdująca się w jej zasięgu została wygenerowana. Oznacza to, że gracze nadal mogą generować świat oraz zwiększać zużycie dysku - z tym wyjątkiem, że zrobią to do ustalonego limitu.
Ile będzie zajmować mapa po wygenerowaniu jej w całości? Dowiemy się tego dopiero, gdy gracze wygenerują ją w całości lub jeśli wygenerujemy ją sami - tu z pomocą znów przychodzi nam plugin WorldBorder.
Ustalenie granicy mapy to skuteczny sposób na ograniczenie zużycia miejsca na dysku. Problem w tym, że dopóki gracze nie wygenerują całego obszaru mapy ciężko oszacować ile może ona ważyć. Generując mapę w obszarze granicy dowiemy się tego dużo szybciej.
Generowanie mapy przez graczy oprócz miejsca na dysku w znacznym stopniu obciąża też procesor Twojego serwera. W zależności od jego zasobów całkiem możliwe, że podczas eksploracji świata przez graczy mogą wystąpić zauważalne spadki w jego wydajności (lagi). Wcześniejsze wygenerowanie mapy zwykle rozwiązuje ten problem.
Aby wygenerować mapę za pomocą WordlBorder:
Ważne: generowanie mapy nie zostanie zatrzymane po ponownym uruchomieniu serwera - jeśli chcesz je zatrzymać użyj komendy /wb fill cancel
Zależnie od wielkości granicy mapy oraz prędkości generowania operacja ta może zająć nawet kilka godzin. Podczas generowania mapy obciążenie serwera może bardzo wzrosnąć. Jeśli chcesz zmienić prędkość generowania mapy możesz je przerwać komendą /wb fill cancel - uruchamiając je ponownie wcześniej generowane tereny nie zostaną usunięte.
Po wygenerowaniu mapy zalecane jest ponowne uruchomienie serwera.
Samo ustalenie granicy na serwerze może nie wystarczyć jeśli mapa poza granicą została już odwiedzona przez graczy (jak na obrazku poniżej). Plugin WorldBorder pozwala pozbyć się mapy, która znajduje się poza granicą. Usunięte tereny nie zostaną zastąpione powietrzem - jeśli za jakiś czas zdecydujesz się na powiększenie granicy usunięty teren wygeneruje się ponownie (oczywiście wszelkie budowle utworzone przez graczy nie wygenerują się ponownie).
Ważne: Jeśli zdecydujesz się na ten krok zalecamy utworzenie kopii zapasowej mapy, operacja ta jest nieodwracalna.
Aby usunąć teren poza granicą mapy należy:
Usuwanie terenów poza ustaloną granicą może trwać bardzo długo. Operacja ta może również wpłynąć na wydajność serwera.
Ważne: usuwanie części mapy nie zostanie zatrzymane po ponownym uruchomieniu serwera - jeśli chcesz je zatrzymać użyj komendy /wb fill cancel
Po całej operacji zalecane jest ponowne uruchomienie serwera.