Narzędzia użytkownika

Narzędzia witryny


optymalizacja_serwera_minecraft

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:

  • PaperSpigot
  • Tuinity (dla wersji 1.16+)
  • Purpur (dla wersji 1.14+)

Dodatkowe informacje dotyczące zmiany wersji silnika, znajdziesz tutaj.

Pluginy optymalizujące

Do 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.
  • WorldBorder - plugin do ograniczenia mapy. Bardzo duży wpływ na wydajność ma generowanie mapy. Aby ograniczyć mapę należy wpisać /wb set <ilość kratek od pozycji gracza>, natomiast aby wygenerować mapę należy wpisać /wb fill, a następnie potwierdzić to komendą /wb fill confirm. Zwykle generowanie mapy trwa około 5 godzin (dla 3000 kratek), ale wszystko zależy od ustawionej granicy mapy oraz zasobów serwera. 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 te same pliki konfiguracyjne).

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.
  • 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

  • spawn-limits - reguluje liczbę mobów pojawiających się na mapie. Zalecane wartości:
    • monsters: 50
    • animals: 8
    • water-animals: 3
    • ambient: 1
  • chunk-gc.period-in-ticks - reguluje zwalnianie pamięci po załadowanych chunkach, zalecana wartość: 400.
  • ticks-per.monster-spawns - reguluje jak często serwer ma próbować spawnować potwory. Zalecana wartość: 4

Plik: spigot.yml

  • mob-spawn-range - maksymalna liczba spawnowancyh mobów wokół gracza. Zalecana wartość 4 - 8.
  • entity-activation-range - określa odległość od gracza, kiedy moby zaczynają się poruszać. Zalecana wartość:
    • animals: 24
    • monsters: 24
    • misc: 8
  • tick-inactive-villagers - określa, czy nieaktywni villagerowie mają być obsługiwani przez serwer. Zalecane ustawienie: false - znacznie poprawia wydajność dla wersji 1.14+
  • merge-radius - określa w jakiej odległości od siebie przedmioty i punkty doświadczenia mają się łączyć w jeden. Zalecane ustawienia:
    • item: 4.0
    • exp: 6.0
  • nerf-spawner-mobs - ustawione na true wyłącza inteligencję (poruszanie się) mobów ze spawnterów. Zalecana wartość: true.
  • item-despawn-rate - czas w tickach (20 ticków = 1 sekunda), po upływie którego pozostawione przedmioty znikają. Domyślnie ustawienie to 2000-3000 ticków - mniejsza wartość poprawia wydajność i użycie pamięci.
  • arrow-despawn-rate - czas w tickach określający jak szybko znikają wystrzelone strzały. Zalecana wartość: 300.

Plik: paper.yml

Dotyczy tylko silników: PaperSpigot, Tuinity i Purpur.

  • max-auto-save-chunks-per-tick - jak wiele chunków serwer może zapisać na dysku w ciągu jednego ticku. Zalecana wartość: 6.
  • optimize-explosions - ustawienie na true wykorzystuje zoptymalizowany algorytm obsługi eksplozji. Zalecane ustawienie: true - zwiększa wydajność.
  • mob-spawner-tick-rate - szybkość działania spawnerów. Zalecana wartość: 2
  • disable-chest-cat-detection - wyłączenie możliwości siadania kotów na skrzynkach. Zalecana wartość: true.
  • container-update-tick-rate - częstotliwość aktualizacji zawartości skrzynek. Zalecana wartość: 2 lub 3.
  • max-entity-collisions - liczba kolizji między różnymi bytami na mapie. Zalecana wartość: 2.
  • grass-spread-tick-rate - ustala jak szybko ma rozrastać się trawa. Zalecana wartość: od 2 do 4.
  • despawn-ranges - ustala jak daleko muszą znajdować się od nas moby, aby zniknęły. Zalecane wartości:
    • soft: 24
    • hard: 96
  • 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.
  • non-player-arrow-despawn-rate - ustala jak szybko znikają strzały wystrzelone nie przez gracza. Zalecana wartość: 40 (2 sekundy).
  • creative-arrow-despawn-rate - ustala jak szybko znikają strzały wystrzelone na trybie gry kreatywnym. Zalecana wartość: 40 (2 sekundy).
  • prevent-moving-into-unloaded-chunks - zapobieganie wchodzeniu na niezaładowane chunki. Zalecana wartość: true.
  • use-faster-eigencraft-redstone - ustawienie true znacznie optymalizuje wszystkie mechanizmy z użyciem czerwonego proszku. Bardzo duży wpływ na wydajność. Zalecana wartość: true.

Plik: tuinity.yml

Dotyczy tylko silnika Tuinity.

  • no-tick-view-distance - opcja zmienia dla gracza sposób wyświetlania mapy, a konkretnie nie ładuje np. AI mobów, dzięki czemu znacznie przyśpiesza ładowanie mapy. Zalecana wartość: taka jak view-distance w pliku server.properties.

Plik: purpur.yml

Tylko dla silnika Purpur.

  • use-alternate-keepalive - alternatywny system pakietów podtrzymujących połączenie gracza ze słabym łączem z serwerem. Zalecana wartość: true.
  • dont-send-useless-entity-packets - zapobiega to bezcelowemu wysyłaniu przez serwer pustych pakietów o zmianie pozycji mobów (domyślnie serwer wysyła pakiet ruchu dla każdego entity, nawet jeśli entity nie porusza się). Zalecana wartość: true.
  • gameplay-mechanics.player.teleport-if-outside-border - teleportuje gracza na miejsce spawnu gdy ten pojawi się poza granicą mapy. Zalecane ustawienie: true.
  • gameplay-mechanics.player.entities-can-use-portals - wyłącza korzystanie z portalu (np. do netheru) przez wszystkie entity oprócz gracza. Zapobiega to niepotrzebnemu ładowaniu chunków i zwiększa wydajność serwera. Zalecana wartość: false.
  • mobs.dolphin.disable-treasure-searching - uniemożliwia delfinom przeszukiwanie struktur (np. mapy skarbów). Zalecana wartość: true.
  • mobs.zombie.aggressive-towards-villager-when-lagging - zombie przestają atakować wieśniaków (w wioskach), gdy tpsy są bardzo niskie. Zalecana wartość: true.

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”.

optymalizacja_serwera_minecraft.txt · ostatnio zmienione: 2021/01/20 18:29 przez marcinc