Optymalizacja serwera Minecraft
Poniżej przedstawiamy pomocne wskazówki, które ułatwią wykonanie optymalizacji serwera Minecraft.
Silnik
Zalecamy skorzystanie z poniższych silników. Silniki te są rozwijane przez społeczność właśnie pod kątem wydajności i naprawionych błędów:
Pufferfish (dla wersji 1.18+)
Purpur (dla wersji 1.16+)
PaperSpigot (dla wersji 1.7.10 - 1.18.x)
FlamePaper (dla wersji 1.8.8)
Dodatkowe informacje dotyczące zmiany wersji silnika, znajdziesz tutaj.
Pluginy optymalizujące
Na nasz serwer warto wgrać niektóre pluginy, które rozwiązują najczęściej pojawiające się problemy wydajnościowe:
ClearLagg - służy do usuwania leżących przedmiotów na ziemi.
Ma to duży wpływ na wydajność i użycie pamięci przez serwer.
EntityTrackerFixer - wyłącza np. poruszanie się zwierząt dopóki gracz nie pojawi się w pobliżu. Poprawia wydajność przez minimalizację użycia CPU przez serwer.
UWAGA! Plugin należy stosować do maksymalnie wersji 1.16.x. Nowsze wersje mają wbudowaną opcję optymalizowania mobów/entity.
Chunky - plugin dzięki któremu możemy wygenerować mapę. Aby wygenerować mapę musisz najpierw
ustawić środek mapy. Aby to zrobić wpisz komendę
/worldborder center <X> <Z>
gdzie <X> i <Z> to pozycja gdzie będzie środek. Zazwyczaj X i Z ustawia się na 0 aby dokładnie wiedzieć jaka jest granica mapy. Po ustawieniu środka mapy można przejść do ograniczenia jej wielkości komendą
/worldborder set <odległość od środka mapy>
. Zalecane jest generowanie
nie więcej niż 2000 kratek na raz. Aby rozpocząć generowanie mapy należy wpisać komendę
/chunky worldborder
oraz
/chunky start
.
WAŻNE! Podczas generowania mapy tpsy serwera mogą spaść nawet do 5, wówczas rozgrywka na serwerze będzie bardzo utrudniona!
Optymalizacja konfiguracji serwera
Poniżej przedstawione są istotne parametry serwera Minecraft, które ustawia się bezpośrednio w jego plikach konfiguracyjnych. Nie każdy silnik posiada dane parametry. Wszystkie wymienione parametry posiadają silniki na wersję 1.18.x. Aby sprawnie przeprowadzić optymalizację serwera zalecamy skorzystanie z FTP oraz z programu do edytowania plików .yml takiego jak na przykład Notepad++.
Plik: server.properties
view-distance - W zależności od potrzeb - od 3 do 10. Jest to odległość w chunkach generowania się mapy dla gracza, im mniej, tym serwer ma mniej do przeliczania, zatem więcej zasobów CPU jest kierowane na obsługę rozgrywki. Zalecana wartość: 3.
simulation-distance - Czyli odległość od gracza, w której coś się wydarzy. Obejmuje to przepalanie przedmiotów w piecykach, uprawę roślin, sadzonek drzew itp. Zalecana wartość: 4.
network-compression-threshold - Próg, powyżej którego pakiety wychodzące z serwera są poddawane kompresji. Mniejsza wartość powoduje, że serwer używa już metod kompresji dla mniejszych pakietów, aby zmniejszyć ich rozmiar przed przesłaniem przez Internet. Zwiększa to przepustowość łącza (istotne przy słabych łączach, mało istotne przy hostingu takim jak TITANAXE), ale znacznie zwiększa użycie CPU przez serwer. Zalecana wartość: 512.
Plik: bukkit.yml
Dotyczy silników: CraftBukkit, Spigot, PaperSpigot, Pufferfish, Purpur, FlamePaper
Plik: spigot.yml
Dotyczy silników: Spigot, PaperSpigot, Pufferfish, Purpur, FlamePaper
hopper-transfer - Czas w tickach (20 ticków = 1 sekunda), przez który hoppery będą czekać na przeniesienie przedmiotu. Zwiększenie tego zwiększy wydajność (jeśli na serwerze jest dużo hopperów) ale zepsuje zegary oparte na hopperach i ewentualne mechanizmy sortowania przedmiotów, jeśli wartość będzie ustawiona zbyt wysoko. Zalecana wartość: 8.
hopper-check - Czas w tickach (20 ticków = 1 sekunda) między hopperami (lejami) sprawdzającymi, czy nie ma przedmiotu nad nimi lub np. w skrzyni które są nad nimi. Zwiększenie tego poprawi wydajność (jeśli na serwerze jest dużo hopperów) ale zepsuje zegary oparte na hopperach i ewentualne mechanizmy sortowania przedmiotów oparte na strumieniach wody. Zalecana wartość: 8.
Plik: paper.yml
Dotyczy silników: PaperSpigot, FlamePaper, Pufferfish i Purpur.
delay-chunk-unloads-by - Ta opcja pozwala skonfigurować, jak długo chunki pozostaną załadowane po wyjściu gracza z serwera. Pomaga to nie stale ładować i rozładowywać tych samych chunków, gdy gracz porusza się tam i z powrotem. Zbyt wysokie wartości mogą spowodować jednoczesne ładowanie zbyt wielu chunków. Zalecana wartość: 10.
max-auto-save-chunks-per-tick - Pozwala spowolnić zapisywanie świata, rozkładając zapis w czasie jeszcze bardziej, aby uzyskać lepszą wydajność. Możesz ustawić wartość wyższą niż 8 przy więcej niż 20-30 graczach. Jeśli zapisywanie nie może zakończyć się na czas, serwer automatycznie zapisze resztę świata od razu i rozpocznie proces zapisu od nowa. Zalecana wartość: 8.
update-pathfinding-on-block-update - Wyłączenie tej opcji spowoduje, że mniej będzie wykonywane odnajdywanie „ścieżek”, co zwiększy wydajność. W niektórych przypadkach spowoduje to, że moby będą wyglądać na bardziej opóźnione; Po prostu będą pasywnie aktualizować swoją ścieżkę co 5 ticków (0,25 sekundy). Zalecana wartość: false.
fix-climbing-bypassing-cramming-rule - Włączenie tego spowoduje naprawienie ticków, na które nie ma wpływu wkuwanie podczas wspinaczki. Zapobiegnie to gromadzeniu się absurdalnych ilości mobów na małych przestrzeniach, nawet jeśli się wspinają (pająki). Zalecana wartość: true.
armor-stands-tick - W większości przypadków możesz bezpiecznie ustawić to na false. Jeśli używasz stojaków na zbroję lub jakichkolwiek pluginów, które modyfikują ich zachowanie i występują problemy, włącz je ponownie. Zapobiegnie to popychaniu stojaków zbroi przez wodę lub oddziaływaniu grawitacji. Zalecana wartość: false
nether-ceiling-void-damage-height - Jeśli ta opcja jest większa niż 0, gracze powyżej poziomu Y (w netherze) otrzymają obrażenia tak, jakby znajdowali się w próżni na normalnym świecie. Zalecana wartość: 127.
enable-treasure-maps - Generowanie map skarbów wymaga dużo zasobów jeśli struktura, którą próbuje zlokalizować, znajduje się poza granicą świata który został wygenerowany. Włączenie tego jest bezpieczne tylko wtedy, gdy świat został wcześniej przez Ciebie wygenerowany. Zalecana wartość: false.
treasure-maps-return-already-discovered - Domyślna wartość tej opcji wymusza na nowo generowanych mapach szukanie niezbadanych struktur, które zwykle znajdują się poza wygenerowanym światem. Ustawienie tego na true sprawia, że mapy mogą prowadzić do struktur, które zostały odkryte wcześniej. Jeśli nie zmienisz tego na true, serwer może zawiesić się lub zawiesić podczas generowania nowych map skarbów. Zalecana wartość: true.
hopper.disable-move-event - Określa, czy hoppery mają wywoływać event przeniesienia przedmiotu z hoppera do innego klocka. Jeśli masz jakikolwiek plugin korzystający z InventoryMoveItemEvent to nie zmieniaj tego - jeśli nie jesteś pewien, to też nie ruszaj! Zalecana wartość: true.
anti-xray - Włącz tę opcję, aby ukryć rudy na przykład diamentów, żelaza, złota przed czitami X-RAY. Szczegółowa konfiguracja tej funkcji, znajduje się na stronie papermc w języku Angielskim
Kliknij tu aby przejść na stronę. Włączenie tego w rzeczywistości zmniejszy wydajność, jednak jest znacznie bardziej wydajne niż jakikolwiek plugin anty-xray. W większości przypadków wpływ na wydajność będzie znikomy.
Plik: purpur.yml
Dotyczy tylko silnika Purpur.
aggressive-towards-villager-when-lagging - Włączenie tej opcji spowoduje, że zombie przestaną atakować wieśniaków, jeśli serwer jest poniżej progu tps ustawionego w sekcji lagging-threshold
. Zalecana wartość: false.
entities-can-use-portals - Tą opcją można wyłączyć korzystanie z portalu przez przedmioty. Dzięki temu zapobiegnie to ładowanie chunków przez zmianę światów, które są obsługiwane w głównym wątku serwera. Jeśli ta opcja będzie ustawiona na false moby nie będą mogły przenosić się przez portal. Zalecana wartość: false.
Plik: pufferfish.yml
Tylko dla silnika Pufferfish.
max-tick-freq - Definiuje najmniejszą liczbę zaznaczonych entity znajdujących się najdalej od graczy. Zwiększenie tej wartości może poprawić wydajność entity znajdujących się daleko od widoku, ale może zniszczyć farmy lub znacznie osłabić zachowanie mobów. Jeśli włączenie DAB niszczy farmy mobów, spróbuj zmniejszyć tę wartość. Zalecana wartość: 20.
Pomocne sugestie
Zalecamy używanie Harmonogramu zadań w panelu serwera i ustawienie automatycznych restartów serwera np. w nocy. Pomaga to utrzymać serwer w dobrej kondycji i pozbycie się potencjalnych tzw. „wycieków pamięci”.