Decydujesz, które usługi możemy włączyć do analizy, personalizacji i wyświetlania treści zewnętrznych.
Na naszej stronie używamy plików cookie i podobnych technologii, aby personalizować treści, osadzać materiały zewnętrzne i lepiej rozumieć sposób korzystania z poszczególnych sekcji.
Niezbędne pliki cookie
Te wpisy zapewniają podstawowe funkcje, takie jak bezpieczeństwo, stabilność i obsługa formularzy.
Opcjonalne sekcje
AnalitykaMarketingPersonalizacjaMedia zewnętrzne
Dane mogą być przetwarzane za twoją zgodą lub na podstawie prawnie uzasadnionych interesów. W ustawieniach plików cookie możesz odrzucić każdą opcjonalną kategorię lub wyrazić na nią zgodę.
Niektóre usługi przetwarzają dane osobowe w państwach trzecich. Wyrażając zgodę, akceptujesz również przekazywanie tych danych. Więcej informacji znajdziesz w naszej polityce prywatności.
Możesz później w każdej chwili wrócić do swojego wyboru i go zmienić. · 1.0.2
Dowiedz się, jak zoptymalizować serwery Minecraft, aby działały wydajniej i zapewniały płynniejszą rozgrywkę. Poznaj skuteczne wskazówki dotyczące ustawień → Dowiedz się więcej
10 listopada 202618 min czytania6 Wyświetlenia0 pomocne
Na czym dokładnie polega optymalizacja?
Optymalizacja jest ważna, aby serwery Minecraft działały płynnie. Jeśli prowadzisz serwer publiczny, zdecydowanie warto poświęcić na nią odpowiednio dużo czasu. Tylko dzięki testom i cierpliwości można uzyskać najlepszy rezultat. Nie musisz więc stosować się do tego poradnika dokładnie krok po kroku — ma on pomóc Ci obrać właściwy kierunek.
Optymalizacja zwykle polega na zmianie wielu ustawień serwera, co może znacząco wpłynąć na jego działanie. Niektóre ustawienia zostają obniżone, aby odciążyć serwer i poprawić jego wydajność. Aby jednak nie pogorszyć zbytnio ogólnych wrażeń z gry, warto znaleźć złoty środek.
Vanilla
Możliwości optymalizacji serwera Vanilla są niestety bardzo ograniczone, ponieważ dostępnych jest niewiele ustawień. Spróbujemy jednak nieco zwiększyć jego wydajność za pomocą poniższych działań:
Zasięg widzenia
Często stosowanym rozwiązaniem jest zmniejszenie zasięgu widzenia. Domyślnie wynosi on 10 chunków, ale wielu graczy korzysta ze znacznie mniejszej wartości, np. 6–8. Niektórzy przesadzają z liczbą chunków i ustawiają ją np. na 32. Oznacza to, że serwer musi wczytywać i przetwarzać wszystkie te chunki, co znacznie obciąża jego wydajność.
W przypadku serwera Vanilla zasięg widzenia można zmienić w pliku konfiguracyjnym "server.properties". W tym celu należy zmienić wartość "view-distance". Aby nie ograniczyć zbytnio rozgrywki, zalecamy ustawienie jej na 5–6. Może to zmniejszyć obciążenie serwera nawet o 50%.
Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Kompresja danych
Serwer nieustannie wymienia dane z połączonymi z nim graczami. Ruchy graczy są wysyłane do serwera, a następnie przekazywane przez niego wszystkim pozostałym graczom. Do danych przesyłanych w ten sposób należą również działania graczy i zdarzenia w świecie, takie jak eksplozje.
Aby usprawnić wymianę danych, można podwoić rozmiar skompresowanych danych. Dzięki temu serwer będzie potrzebował o 50% mniej pracy, aby wymieniać z graczami te same dane. W tym celu należy zmienić wartość "network-compression-threshold" w pliku konfiguracyjnym "server.properties". Zalecamy ustawienie jej na 512. Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
FAQ
Często zadawane pytania
Domyślny zasięg widzenia wynosi 10 chunków. Zmniejszenie wartości view-distance do 5–6 w pliku server.properties może odciążyć serwer nawet o 50%, nie ograniczając przy tym znacznie rozgrywki.
Poradnik omawia optymalizację serwerów Vanilla, Forge, Bukkit, Spigot i Paper Spigot. Paper Spigot oferuje najwięcej dodatkowych ustawień, m.in. dotyczących limitów pojawiania się mobów, zasięgów aktywacji bytów, spawnerów i redstone.
Serwer Vanilla ma mniej dostępnych ustawień niż platformy takie jak Spigot czy Paper Spigot. Dlatego jego optymalizacja ogranicza się głównie do zasięgu widzenia i kompresji danych.
Nie. Poradnik ma służyć pomocą, a nie być obowiązkowym zestawem instrukcji. Optymalizacja często znacząco zmienia działanie serwera, dlatego warto poświęcić czas na testy i znaleźć równowagę między wydajnością a komfortem gry.
Opinia
Czy ten artykuł był pomocny?
Twoja opinia pomaga nam lepiej ustalać priorytety i aktualizować treści.
0 od 0 Osoby oceniające uznały ten artykuł za pomocny.
Indywidualna pomoc
Instrukcja nie wystarcza?
Nasz zespół wsparcia ZAP zna twój produkt — opisz krótko problem, a pomożemy ci osobiście.
Zappy zna tę instrukcję i odpowie ci bezpośrednio na czacie.
Nawigacja
Minecraft
Forge
Podobnie jak w przypadku Vanilla, możliwości zmiany ustawień bezpośrednio na serwerze są niestety ograniczone, ponieważ dostępne pliki konfiguracyjne są bardzo małe. Można jednak zainstalować dodatkowe mody, które nieco odciążą serwer.
Wstępne wczytywanie chunków
Jednym ze sposobów na odciążenie serwera jest wstępne wczytanie chunków. Podczas późniejszej gry serwer będzie musiał jedynie wczytać zapisane dane chunków, zamiast tworzyć je i generować od nowa. Najlepiej uruchomić ten proces wieczorem i pozostawić go na noc.
W tym celu należy zainstalować dodatkowy mod. Odpowiedni mod można pobrać tutaj.
Następnie można go zainstalować na serwerze w zwykły sposób, zgodnie z naszymi poradnikami.
Przed ponownym uruchomieniem serwera upewnij się, że wartość "max-tick-time" w pliku "server.properties" jest ustawiona na "-1". W przeciwnym razie serwer może się zawiesić. Zalecamy również udostępnienie co najmniej 8–10 GB pamięci RAM, ponieważ proces ten wymaga jej dużo. Możesz tymczasowo zwiększyć ilość pamięci RAM na noc, a potem ponownie ją zmniejszyć.
Informacje
Pamiętaj, że wspomniany mod może nie być zgodny z Twoją wersją Forge, a proces może przebiegać inaczej w przypadku użycia innego moda.
Po uruchomieniu serwera z modem otwórz konsolę. Zalecamy ustawienie granicy świata o promieniu 16 000 bloków. W tym celu wykonaj kolejno poniższe polecenia:
worldborder center 0 0
worldborder set 16000
Informacje
W razie potrzeby zastąp współrzędne własnym środkiem świata, aby nie „odciąć” jego części (np. jeśli znajdują się tam już budowle).
Po ustawieniu granicy możesz rozpocząć wstępne wczytywanie. W tym celu wykonaj poniższe polecenie:
pregen gen startWorldBorder
Wszystkie chunki w obrębie granicy będą teraz wczytywane po kolei. W zależności od liczby zainstalowanych modów może to potrwać do 8 godzin. Postęp będzie regularnie wyświetlany w konsoli w komunikatach informacyjnych. Po zakończeniu procesu odpowiedni komunikat pojawi się również w konsoli!
Informacje
Po zakończeniu procesu mod może pozostać zainstalowany na serwerze. Nadal będzie optymalizować chunki podczas działania serwera, nawet gdy żaden gracz nie jest na nim zalogowany.
Zasięg widzenia
Często stosowanym rozwiązaniem jest zmniejszenie zasięgu widzenia. Domyślnie wynosi on 10 chunków, ale wielu graczy korzysta ze znacznie mniejszej wartości, np. 6–8. Niektórzy przesadzają z liczbą chunków i ustawiają ją np. na 32. Oznacza to, że serwer musi wczytywać i przetwarzać wszystkie te chunki, co znacznie obciąża jego wydajność.
Zasięg widzenia serwera Forge można zmienić w pliku konfiguracyjnym "server.properties". W tym celu należy zmienić wartość "view-distance". Aby nie ograniczyć zbytnio rozgrywki, zalecamy ustawienie jej na 5–6. Może to zmniejszyć obciążenie serwera nawet o 50%.
Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Kompresja danych
Serwer nieustannie wymienia dane z połączonymi z nim graczami. Ruchy graczy są wysyłane do serwera, a następnie przekazywane przez niego wszystkim pozostałym graczom. Do danych przesyłanych w ten sposób należą również działania graczy i zdarzenia w świecie, takie jak eksplozje.
Aby usprawnić wymianę danych, można podwoić rozmiar skompresowanych danych. Dzięki temu serwer będzie potrzebował o 50% mniej pracy, aby wymieniać z graczami te same dane. W tym celu należy zmienić wartość "network-compression-threshold" w pliku konfiguracyjnym "server.properties". Zalecamy ustawienie jej na 512. Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Bukkit
Zasięg widzenia
Często stosowanym rozwiązaniem jest zmniejszenie zasięgu widzenia. Domyślnie wynosi on 10 chunków, ale wielu graczy korzysta ze znacznie mniejszej wartości, np. 6–8. Niektórzy przesadzają z liczbą chunków i ustawiają ją np. na 32. Oznacza to, że serwer musi wczytywać i przetwarzać wszystkie te chunki, co znacznie obciąża jego wydajność.
Zasięg widzenia serwera Bukkit można zmienić w pliku konfiguracyjnym "server.properties". W tym celu należy zmienić wartość "view-distance". Aby nie ograniczyć zbytnio rozgrywki, zalecamy ustawienie jej na 5–6. Może to zmniejszyć obciążenie serwera nawet o 50%.
Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Kompresja danych
Serwer nieustannie wymienia dane z połączonymi z nim graczami. Ruchy graczy są wysyłane do serwera, a następnie przekazywane przez niego wszystkim pozostałym graczom. Do danych przesyłanych w ten sposób należą również działania graczy i zdarzenia w świecie, takie jak eksplozje.
Aby usprawnić wymianę danych, można podwoić rozmiar skompresowanych danych. Dzięki temu serwer będzie potrzebował o 50% mniej pracy, aby wymieniać z graczami te same dane. W tym celu należy zmienić wartość "network-compression-threshold" w pliku konfiguracyjnym "server.properties". Zalecamy ustawienie jej na 512. Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Limity pojawiania się mobów
W tym kroku nieco zmniejszymy ogólną częstotliwość pojawiania się mobów na serwerze. W porównaniu z wartościami domyślnymi zmiana będzie prawie niezauważalna. Mimo to w niektórych miejscach, np. na farmach mobów, farma może nie działać zgodnie z oczekiwaniami.
Aby zmienić te ustawienia, edytuj plik konfiguracyjny "bukkit.yml". W sekcji "spawn-limits" zmień poniższe wartości:
monsters: 50 #Domyślnie: 70
animals: 10 #Domyślnie: 15
water-animals: 3 #Domyślnie: 5
ambient: 4 #Domyślnie: 15
Informacje
Możesz oczywiście samodzielnie zmienić te wartości. Jeśli wolisz tego nie robić, powyższe ustawienia stanowią dobry kompromis.
Aby jeszcze bardziej poprawić pojawianie się mobów, zmień również wartość "monster-spawns" w sekcji "ticks-per" pliku "bukkit.yml":
monster-spawns: 2 #Domyślnie: 1
Jeśli występują ogólne problemy z mobami, widoczne np. w raporcie wydajności, wartość można zwiększyć maksymalnie do 5. Obserwuj działanie serwera po każdej zmianie, aby znaleźć ustawienie najlepsze dla Twojego serwera.
Przetwarzanie chunków
Minecraft korzysta z tak zwanych chunków. Każdy chunk składa się z obszaru o wymiarach 16x16 bloków. Chunks łączą się ze sobą i tworzą świat widoczny dla klienta gry. Serwer działa więc na chunkach i wczytuje potrzebne z nich dane do pamięci RAM. Im więcej chunków jest wczytywanych i stale przetwarzanych przez serwer, tym więcej mocy obliczeniowej musi on wykorzystać. Może to w niektórych sytuacjach doprowadzić do przeciążenia serwera.
Przy ustawieniach domyślnych serwery nigdy nie wyładowują wczytanych chunków. Oznacza to, że w niektórych sytuacjach zużywają bardzo dużo pamięci RAM. Wydajność serwera znacznie się przez to pogarsza, ponieważ musi on przetwarzać coraz więcej danych.
Aby serwer wczytywał tylko aktualnie potrzebne chunki, możesz zmienić poniższą opcję w sekcji "chunk-gc" pliku "bukkit.yml":
period-in-ticks: 300 #Domyślnie: 600
Informacje
Dawna dodatkowa wartość "load-threshold" nie występuje już w aktualnych wersjach Paper-/Spigot-/Bukkit, a Paper i tak ogranicza "period-in-ticks" po stronie serwera do maksymalnie 20 ticków (1 sekundy). Dlatego wyższa wartość nie ma już praktycznie żadnego efektu na serwerze opartym na Paper (np. Paper Spigot).
Opcja "period-in-ticks" określa, w jakich odstępach czasu chunki mają być wyładowywane. W razie potrzeby można jeszcze zmniejszyć tę wartość, ale może to wywołać niepożądany efekt: zapętlenie.
W takiej sytuacji chunk zostanie wyładowany, mimo że chwilę później będzie ponownie potrzebny. Serwer będzie więc musiał ponownie poświęcić czas i moc obliczeniową na jego wczytanie. Proces będzie się powtarzał i bardziej obciąży serwer niż pozostawienie chunków wczytanych np. o minutę dłużej.
Spigot
Zasięg widzenia
Często stosowanym rozwiązaniem jest zmniejszenie zasięgu widzenia. Domyślnie wynosi on 10 chunków, ale wielu graczy korzysta ze znacznie mniejszej wartości, np. 6–8. Niektórzy przesadzają z liczbą chunków i ustawiają ją np. na 32. Oznacza to, że serwer musi wczytywać i przetwarzać wszystkie te chunki, co znacznie obciąża jego wydajność.
W przypadku serwera Spigot zasięg widzenia można zmienić w pliku konfiguracyjnym "spigot.yml". W tym celu należy zmienić wartość "view-distance". Aby nie ograniczyć zbytnio rozgrywki, zalecamy ustawienie jej na 5–6. Może to zmniejszyć obciążenie serwera nawet o 50%.
Informacje
W zależności od preferencji można ustawić tę wartość również na 4. Może to skutecznie ograniczyć lagi, np. na serwerach z farmowym światem działających w wersji 1.13+.
Kompresja danych
Serwer nieustannie wymienia dane z połączonymi z nim graczami. Ruchy graczy są wysyłane do serwera, a następnie przekazywane przez niego wszystkim pozostałym graczom. Do danych przesyłanych w ten sposób należą również działania graczy i zdarzenia w świecie, takie jak eksplozje.
Aby usprawnić wymianę danych, można podwoić rozmiar skompresowanych danych. Dzięki temu serwer będzie potrzebował o 50% mniej pracy, aby wymieniać z graczami te same dane. W tym celu należy zmienić wartość "network-compression-threshold" w pliku konfiguracyjnym "server.properties". Zalecamy ustawienie jej na 512. Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Limity pojawiania się mobów
W tym kroku nieco zmniejszymy ogólną częstotliwość pojawiania się mobów na serwerze. W porównaniu z wartościami domyślnymi zmiana będzie prawie niezauważalna. Mimo to w niektórych miejscach, np. na farmach mobów, farma może nie działać zgodnie z oczekiwaniami.
Aby zmienić te ustawienia, edytuj plik konfiguracyjny "bukkit.yml". W sekcji "spawn-limits" zmień poniższe wartości:
monsters: 50 #Domyślnie: 70
animals: 10 #Domyślnie: 15
water-animals: 3 #Domyślnie: 5
ambient: 4 #Domyślnie: 15
Informacje
Możesz oczywiście samodzielnie zmienić te wartości. Jeśli wolisz tego nie robić, powyższe ustawienia stanowią dobry kompromis.
Aby jeszcze bardziej poprawić pojawianie się mobów, zmień również wartość "monster-spawns" w sekcji "ticks-per" pliku "bukkit.yml":
monster-spawns: 2 #Domyślnie: 1
Jeśli występują ogólne problemy z mobami, widoczne np. w raporcie wydajności, wartość można zwiększyć maksymalnie do 5. Obserwuj działanie serwera po każdej zmianie, aby znaleźć ustawienie najlepsze dla Twojego serwera.
Przetwarzanie chunków
Minecraft korzysta z tak zwanych chunków. Każdy chunk składa się z obszaru o wymiarach 16x16 bloków. Chunks łączą się ze sobą i tworzą świat widoczny dla klienta gry. Serwer działa więc na chunkach i wczytuje potrzebne z nich dane do pamięci RAM. Im więcej chunków jest wczytywanych i stale przetwarzanych przez serwer, tym więcej mocy obliczeniowej musi on wykorzystać. Może to w niektórych sytuacjach doprowadzić do przeciążenia serwera.
Przy ustawieniach domyślnych serwery nigdy nie wyładowują wczytanych chunków. Oznacza to, że w niektórych sytuacjach zużywają bardzo dużo pamięci RAM. Wydajność serwera znacznie się przez to pogarsza, ponieważ musi on przetwarzać coraz więcej danych.
Aby serwer wczytywał tylko aktualnie potrzebne chunki, możesz zmienić poniższą opcję w sekcji "chunk-gc" pliku "bukkit.yml":
period-in-ticks: 300 #Domyślnie: 600
Informacje
Dawna dodatkowa wartość "load-threshold" nie występuje już w aktualnych wersjach Paper-/Spigot-/Bukkit, a Paper i tak ogranicza "period-in-ticks" po stronie serwera do maksymalnie 20 ticków (1 sekundy). Dlatego wyższa wartość nie ma już praktycznie żadnego efektu na serwerze opartym na Paper (np. Paper Spigot).
Opcja "period-in-ticks" określa, w jakich odstępach czasu chunki mają być wyładowywane. W razie potrzeby można jeszcze zmniejszyć tę wartość, ale może to wywołać niepożądany efekt: zapętlenie.
W takiej sytuacji chunk zostanie wyładowany, mimo że chwilę później będzie ponownie potrzebny. Serwer będzie więc musiał ponownie poświęcić czas i moc obliczeniową na jego wczytanie. Proces będzie się powtarzał i bardziej obciąży serwer niż pozostawienie chunków wczytanych np. o minutę dłużej.
Zasięg pojawiania się mobów
Moby mogą pojawiać się w określonej odległości od graczy. Nieco zmniejszymy ten zasięg, aby uniknąć problemów z pojawianiem się mobów. To bardzo ważne ustawienie, ponieważ część ustawień dotyczących pojawiania się mobów została już omówiona powyżej.
Zmień poniższe ustawienie w sekcji "world-settings" pliku "spigot.yml":
mob-spawn-range: 3 #Domyślnie: 4
Zasięgi aktywacji bytów
Tutaj określamy, kiedy byty — czyli zwierzęta i potwory — mają być aktywowane. Oznacza to na przykład, że zwierzęta mogą się poruszać, a potwory rozpoznawać graczy. Zasadniczo wszystkie moby są aktywne, ale działają w pewnego rodzaju trybie gotowości. W tym trybie nadal mogą się poruszać i rozpoznawać graczy, ale robią to np. znacznie wolniej, dzięki czemu serwer nie musi wykorzystywać dużej mocy obliczeniowej.
Te ustawienia również należy zmienić w sekcji "entity-activation-range" pliku "spigot.yml". Zalecamy następujące wartości:
animals: 6 #Domyślnie: 32
monsters: 16 #Domyślnie: 32
misc: 2 #Domyślnie: 16
water: 6 #Domyślnie: 6
tick-inactive-villagers: true #Domyślnie: true
Optymalizacja lejków
Lejki są bardzo ważnym elementem Minecrafta, ale dla serwera mogą być prawdziwą zmorą! Przy każdym postawionym lejku serwer musi 20 razy na sekundę sprawdzać, czy jest w pobliżu przedmiot do podniesienia. Przenoszenie przedmiotów między lejkami lub do skrzyni również pochłania cenną moc obliczeniową!
Aby nieco usprawnić działanie, wydłużymy odstępy czasu, w których serwer wykonuje takie operacje. Przy podanych tu wartościach operacja będzie wykonywana i sprawdzana co 3 sekundy. Szybkość transferu się nie zmieni. Może się jednak zdarzyć, że zegary redstone zbudowane z lejków przestaną działać prawidłowo.
Aby zmienić ustawienia, edytuj poniższe wartości w pliku "spigot.yml":
hopper-transfer: 24 #Domyślnie: 8
hopper-check: 24 #Domyślnie: 8
hopper-amount: 3 #Domyślnie: 1
Kolizje
Kolizje zostały wprowadzone w Minecraft 1.9. Dzięki nim na przykład gracze nie mogą już wchodzić jeden w drugiego. Tutaj określamy, jak często byty mogą ze sobą kolidować. Może to mocno obciążać serwer, szczególnie na farmach mobów, gdzie wiele mobów znajduje się na małej przestrzeni.
Aby zmienić ustawienie, edytuj poniższą wartość w pliku "spigot.yml":
max-entity-collisions: 1 #Domyślnie: 8
Kolizje mobów nie mają większego wpływu na rozgrywkę, więc można zmniejszyć tę wartość. Nie dotyczy ona graczy, tylko mobów!
Promień łączenia
Promień łączenia określa, które przedmioty i punkty doświadczenia zostaną połączone. Dzięki temu serwer musi przetwarzać mniej bytów. Zwiększenie tego promienia może poprawić rozgrywkę, zwłaszcza na serwerach, na których na ziemi leży wiele przedmiotów. Również w tym przypadku warto znaleźć złoty środek — w przeciwnym razie może wystąpić efekt lagów, ponieważ serwer będzie musiał sprawdzać większy obszar, co pochłania dużo mocy obliczeniowej!
Aby zmienić ustawienia, edytuj poniższe wartości w sekcji "merge-radius" pliku "spigot.yml":
item: 4.0 #Domyślnie: 2.5
exp: 6.0 #Domyślnie: 3.0
Informacje
Nie ustawiaj wartości wyższych niż 8, ponieważ może wystąpić wspomniany wyżej efekt lagów!
Paper Spigot
Informacje
Od Paper 1.19 nie ma już pojedynczego pliku "paper.yml". Dawny plik został podzielony na kilka plików w folderze "config": "paper-global.yml" (ustawienia dotyczące całego serwera) i "paper-world-defaults.yml" (wartości domyślne dla wszystkich światów, które można nadpisać dla każdego świata w osobnym pliku "paper-world.yml"). Pliki "bukkit.yml" i "spigot.yml" pozostają bez zmian i nadal są używane w ten sam sposób. Ponieważ Paper od czasu do czasu zmienia nazwy i ścieżki ustawień, w razie rozbieżności warto sprawdzić komentarze w danym pliku konfiguracyjnym lub oficjalną dokumentację Paper.
Zasięg widzenia
Często stosowanym rozwiązaniem jest zmniejszenie zasięgu widzenia. Domyślnie wynosi on 10 chunków, ale wielu graczy korzysta ze znacznie mniejszej wartości, np. 6–8. Niektórzy przesadzają z liczbą chunków i ustawiają ją np. na 32. Oznacza to, że serwer musi wczytywać i przetwarzać wszystkie te chunki, co znacznie obciąża jego wydajność.
W przypadku serwera (Paper) Spigot zasięg widzenia można zmienić w pliku konfiguracyjnym "spigot.yml". W tym celu należy zmienić wartość "view-distance". Aby nie ograniczyć zbytnio rozgrywki, zalecamy ustawienie jej na 5–6. Może to zmniejszyć obciążenie serwera nawet o 50%.
Informacje
W zależności od preferencji można ustawić tę wartość również na 4. Może to skutecznie ograniczyć lagi, np. na serwerach z farmowym światem działających w wersji 1.13+.
Kompresja danych
Serwer nieustannie wymienia dane z połączonymi z nim graczami. Ruchy graczy są wysyłane do serwera, a następnie przekazywane przez niego wszystkim pozostałym graczom. Do danych przesyłanych w ten sposób należą również działania graczy i zdarzenia w świecie, takie jak eksplozje.
Aby usprawnić wymianę danych, można podwoić rozmiar skompresowanych danych. Dzięki temu serwer będzie potrzebował o 50% mniej pracy, aby wymieniać z graczami te same dane. W tym celu należy zmienić wartość "network-compression-threshold" w pliku konfiguracyjnym "server.properties". Zalecamy ustawienie jej na 512. Mamy już na ten temat artykuł w naszym poradniku, który znajdziesz tutaj.
Limity pojawiania się mobów
W tym kroku nieco zmniejszymy ogólną częstotliwość pojawiania się mobów na serwerze. W porównaniu z wartościami domyślnymi zmiana będzie prawie niezauważalna. Mimo to w niektórych miejscach, np. na farmach mobów, farma może nie działać zgodnie z oczekiwaniami.
Aby zmienić te ustawienia, edytuj plik konfiguracyjny "bukkit.yml". W sekcji "spawn-limits" zmień poniższe wartości:
monsters: 50 #Domyślnie: 70
animals: 10 #Domyślnie: 15
water-animals: 3 #Domyślnie: 5
ambient: 4 #Domyślnie: 15
Informacje
Możesz oczywiście samodzielnie zmienić te wartości. Jeśli wolisz tego nie robić, powyższe ustawienia stanowią dobry kompromis. Na serwerze Paper Spigot możesz dodatkowo ustawić te same wartości w sekcji "entities.spawning.spawn-limits" pliku "paper-world-defaults.yml". Ustawienia te mają wtedy wyższy priorytet.
Aby jeszcze bardziej poprawić pojawianie się mobów, zmień również wartość "monster-spawns" w sekcji "ticks-per" pliku "bukkit.yml":
monster-spawns: 2 #Domyślnie: 1
Jeśli występują ogólne problemy z mobami, widoczne np. w raporcie wydajności, wartość można zwiększyć maksymalnie do 5. Obserwuj działanie serwera po każdej zmianie, aby znaleźć ustawienie najlepsze dla Twojego serwera.
Przetwarzanie chunków
Minecraft korzysta z tak zwanych chunków. Każdy chunk składa się z obszaru o wymiarach 16x16 bloków. Chunks łączą się ze sobą i tworzą świat widoczny dla klienta gry. Serwer działa więc na chunkach i wczytuje potrzebne z nich dane do pamięci RAM. Im więcej chunków jest wczytywanych i stale przetwarzanych przez serwer, tym więcej mocy obliczeniowej musi on wykorzystać. Może to w niektórych sytuacjach doprowadzić do przeciążenia serwera.
Przy ustawieniach domyślnych serwery nigdy nie wyładowują wczytanych chunków. Oznacza to, że w niektórych sytuacjach zużywają bardzo dużo pamięci RAM. Wydajność serwera znacznie się przez to pogarsza, ponieważ musi on przetwarzać coraz więcej danych.
Aby serwer wczytywał tylko aktualnie potrzebne chunki, możesz zmienić poniższą opcję w sekcji "chunk-gc" pliku "bukkit.yml":
period-in-ticks: 300 #Domyślnie: 600
Informacje
Dawna dodatkowa wartość "load-threshold" nie występuje już w aktualnych wersjach Paper-/Spigot-/Bukkit, a Paper i tak ogranicza "period-in-ticks" po stronie serwera do maksymalnie 20 ticków (1 sekundy). Dlatego wyższa wartość nie ma już praktycznie żadnego efektu na serwerze opartym na Paper (np. Paper Spigot).
Opcja "period-in-ticks" określa, w jakich odstępach czasu chunki mają być wyładowywane. W razie potrzeby można jeszcze zmniejszyć tę wartość, ale może to wywołać niepożądany efekt: zapętlenie.
W takiej sytuacji chunk zostanie wyładowany, mimo że chwilę później będzie ponownie potrzebny. Serwer będzie więc musiał ponownie poświęcić czas i moc obliczeniową na jego wczytanie. Proces będzie się powtarzał i bardziej obciąży serwer niż pozostawienie chunków wczytanych np. o minutę dłużej.
Zasięg pojawiania się mobów
Moby mogą pojawiać się w określonej odległości od graczy. Nieco zmniejszymy ten zasięg, aby uniknąć problemów z pojawianiem się mobów. To bardzo ważne ustawienie, ponieważ część ustawień dotyczących pojawiania się mobów została już omówiona powyżej.
Zmień poniższe ustawienie w sekcji "world-settings" pliku "spigot.yml":
mob-spawn-range: 3 #Domyślnie: 4
Spawners mobów
Spawners są często używane, zwłaszcza na serwerach typu City Build, czasem w dużej liczbie. Generują one coraz więcej mobów na serwerze, co może powodować wiele problemów.
To ustawienie nieco zmienia działanie spawnerów, dzięki czemu serwer aktywuje je w krótkich odstępach czasu. W tym celu zmień poniższą wartość w sekcji "tick-rates" pliku "paper-world-defaults.yml":
mob-spawner: 3 #Domyślnie: 1
Informacje
Podana wyżej wartość nie zmienia zbytnio działania spawnerów i ma niewielki wpływ na rozgrywkę.
Zasięgi aktywacji bytów
Tutaj określamy, kiedy byty — czyli zwierzęta i potwory — mają być aktywowane. Oznacza to na przykład, że zwierzęta mogą się poruszać, a potwory rozpoznawać graczy. Zasadniczo wszystkie moby są aktywne, ale działają w pewnego rodzaju trybie gotowości. W tym trybie nadal mogą się poruszać i rozpoznawać graczy, ale robią to np. znacznie wolniej, dzięki czemu serwer nie musi wykorzystywać dużej mocy obliczeniowej.
Te ustawienia również należy zmienić w sekcji "entity-activation-range" pliku "spigot.yml". Zalecamy następujące wartości:
animals: 6 #Domyślnie: 32
monsters: 16 #Domyślnie: 32
misc: 2 #Domyślnie: 16
water: 6 #Domyślnie: 6
tick-inactive-villagers: true #Domyślnie: true
Optymalizacja lejków
Lejki są bardzo ważnym elementem Minecrafta, ale dla serwera mogą być prawdziwą zmorą! Przy każdym postawionym lejku serwer musi 20 razy na sekundę sprawdzać, czy jest w pobliżu przedmiot do podniesienia. Przenoszenie przedmiotów między lejkami lub do skrzyni również pochłania cenną moc obliczeniową!
Aby nieco usprawnić działanie, wydłużymy odstępy czasu, w których serwer wykonuje takie operacje. Przy podanych tu wartościach operacja będzie wykonywana i sprawdzana co 3 sekundy. Szybkość transferu się nie zmieni. Może się jednak zdarzyć, że zegary redstone zbudowane z lejków przestaną działać prawidłowo.
Aby zmienić ustawienia, edytuj poniższe wartości w pliku "spigot.yml":
hopper-transfer: 24 #Domyślnie: 8
hopper-check: 24 #Domyślnie: 8
hopper-amount: 3 #Domyślnie: 1
Kolizje
Kolizje zostały wprowadzone w Minecraft 1.9. Dzięki nim na przykład gracze nie mogą już wchodzić jeden w drugiego. Tutaj określamy, jak często byty mogą ze sobą kolidować. Może to mocno obciążać serwer, szczególnie na farmach mobów, gdzie wiele mobów znajduje się na małej przestrzeni.
Na serwerze Paper Spigot tej wartości nie znajdziesz już w pliku "spigot.yml". Jest ona dostępna w sekcji "collisions" pliku "paper-world-defaults.yml":
max-entity-collisions: 1 #Domyślnie: 8
Kolizje mobów nie mają większego wpływu na rozgrywkę, więc można zmniejszyć tę wartość. Nie dotyczy ona graczy, tylko mobów!
Promień łączenia
Promień łączenia określa, które przedmioty i punkty doświadczenia zostaną połączone. Dzięki temu serwer musi przetwarzać mniej bytów. Zwiększenie tego promienia może poprawić rozgrywkę, zwłaszcza na serwerach, na których na ziemi leży wiele przedmiotów. Również w tym przypadku warto znaleźć złoty środek — w przeciwnym razie może wystąpić efekt lagów, ponieważ serwer będzie musiał sprawdzać większy obszar, co pochłania dużo mocy obliczeniowej!
Aby zmienić ustawienia, edytuj poniższe wartości w sekcji "merge-radius" pliku "spigot.yml":
item: 4.0 #Domyślnie: 2.5
exp: 6.0 #Domyślnie: 3.0
Informacje
Nie ustawiaj wartości wyższych niż 8, ponieważ może wystąpić wspomniany wyżej efekt lagów!
Eksplozje
W Paper Spigot wiele elementów serwerów Minecraft zostało napisanych na nowo, aby poprawić ich działanie. Dotyczy to również eksplozji! Oprogramowanie będzie lepiej je obsługiwać, co pozwoli uniknąć większych lagów na serwerze.
W tym celu zmień poniższą wartość w sekcji "environment" pliku "paper-world-defaults.yml":
optimize-explosions: true #Domyślnie: false
Skrzynie
Skrzynie również można nieco zoptymalizować! Jeśli kot siedzi na skrzyni, nie można jej otworzyć. Aby to sprawdzić, serwer musi przeszukać wszystkie moby w określonym promieniu i sprawdzić, czy któryś z nich siedzi na skrzyni. Jest to niestety bardzo czasochłonne i odbywa się przy każdym otwarciu skrzyni!
Możesz wyłączyć tę opcję w sekcji "entities.behavior" pliku "paper-world-defaults.yml", wprowadzając poniższą zmianę:
Ekwipunki są często używane, ale nie każdy ekwipunek jest taki sam. Skrzynia lub stół rzemieślniczy również są ekwipunkiem. Dzięki tej zmianie możesz dać serwerowi chwilę wytchnienia, a gracze tego nie zauważą! Ustawienie określa liczbę ticków, po której serwer ma odświeżyć każdy ekwipunek.
W tym celu zmień poniższą wartość w sekcji "tick-rates" pliku "paper-world-defaults.yml":
container-update: 3 #Domyślnie: 1
Informacje
Nie ustawiaj wartości wyższej niż 5, bo ekwipunek może działać nieprawidłowo! W trybach gry takich jak SurvivalGames, w których wszyscy gracze sięgają po przedmioty ze skrzyń na środku mapy, nie zmieniaj tej wartości i pozostaw ją na "1".
Zapisywanie danych chunków
Zmiany w chunkach nie są od razu zapisywane na dysku, lecz najpierw trafiają do pamięci RAM. Mimo to wszystkie zmiany są zapisywane bardzo często, co czasem może powodować ogromne lagi, szczególnie gdy serwer próbuje zapisać wiele zmian naraz.
Ta zmiana ogranicza maksymalną liczbę chunków, które można zapisać podczas jednej operacji. Może to zwiększyć zużycie pamięci RAM, ponieważ zmiany będą w niej przechowywane dłużej!
Wprowadź poniższą zmianę w sekcji "chunks" pliku "paper-world-defaults.yml":
max-auto-save-chunks-per-tick: 10 #Domyślnie: 24
Redstone
Redstone jest często wykorzystywany w bardzo rozbudowanych układach. Na serwerach publicznych bywa to najsłabszy punkt nawet w przypadku niemal 90% serwerów, ponieważ rozbudowane układy redstone mogą powodować ogromne lagi. Skorzystamy z alternatywnego sposobu przetwarzania redstone dostępnego w Paper Spigot. Odciąża on serwer, zachowując taką samą funkcjonalność jak w Vanilla!
W tym celu wprowadź poniższe ustawienie w sekcji "misc" pliku "paper-world-defaults.yml":
Oprócz "VANILLA" dostępne są opcje "EIGENCRAFT" i "ALTERNATE_CURRENT" — według Paper "ALTERNATE_CURRENT" jest obecnie najszybszą alternatywą, która jednocześnie najmniej odbiega od zachowania Vanilla.
Informacje
Uwaga! W niektórych sytuacjach może to znacząco zmienić działanie redstone!
Hosting serwerów od 2,49 € / miesiąc, natychmiastowa dostępność, ochrona DDoS w cenie.