// Minecraft

Tuning configu Paper: ustawienia, które naprawdę dają wydajność

Tuning configu Paper: ustawienia, które naprawdę dają wydajność

Nie ma tygodnia, żeby ktoś gdzieś na Discordzie nie podzielił się "zoptymalizowanym configiem Paper", który ma zrobić Twój serwer "dwa razy szybszym". Rzeczywistość: domyślne ustawienia Paper są już całkiem dobre, większość zysku siedzi w kilku pokrętłach, a reszta takiego magicznego configu zmienia głównie to, jak serwer się gra — nie to, jak jest szybki. Dlatego w tym artykule: które ustawienia naprawdę dają wydajność, w którym pliku mieszkają i czemu najpierw mierzysz, zanim czegokolwiek dotkniesz.

Najpierw pomiar, potem zmiany

Tuning bez pomiaru to zgadywanie. Na szczęście mierzenie jest dziś proste: nowsze wersje Paper mają profiler spark w standardzie. Komendą /spark tps widzisz TPS i MSPT od ręki, a /spark profiler uruchamia pomiar pokazujący, dokąd ucieka czas: entity, hoppery, generowanie świata czy ten jeden plugin. Starsze raporty timings odchodzą do lamusa; spark to następca.

Ważne rozróżnienie: niskie FPS u gracza to lag klienta i nie naprawisz go configiem serwera. Dopiero gdy TPS spada poniżej 20 albo MSPT regularnie pełznie w stronę 50, Twój serwer naprawdę się męczy. Mierz też w reprezentatywnym momencie — w zatłoczony wieczór, nie w pusty wtorkowy poranek — i zachowaj ten pomiar. Tylko wtedy po zmianie zobaczysz, czy naprawdę coś dała.

Warstwy configu w pigułce

Paper bazuje na Spigocie, który z kolei bazuje na Bukkicie i vanilli. Każda warstwa ma własny plik:

PlikCo tam mieszka
server.propertiesPodstawa vanilli: view-distance, simulation-distance, max-players, ustawienia świata
bukkit.ymlLimity spawnów per kategoria mobów, interwał autosave
spigot.ymlEntity-activation-range, mob-spawn-range, ticki hopperów, merge-radius
config/paper-global.ymlUstawienia Paper dla całego serwera, np. system chunków
config/paper-world-defaults.ymlUstawienia Paper per świat: zachowanie hopperów, poprawki spawnów i dużo więcej

Warto wiedzieć: ustawienia z paper-world-defaults.yml nadpiszesz per świat plikiem paper-world.yml w folderze danego świata.

Pokrętła, które naprawdę coś robią

view-distance i simulation-distance

Największa dźwignia, oba w server.properties. View-distance decyduje, ile chunków gracz widzi; simulation-distance — w ilu chunkach świat naprawdę żyje: moby się ruszają, uprawy rosną, maszyny tykają. Symulowanie jest dużo droższe niż pokazywanie. Klasyczny trik brzmi więc: view-distance zostaw szeroko (8 do 10), a simulation-distance ustaw niżej (5 do 7 na zatłoczonym serwerze). Gracze widzą daleki horyzont, a serwer musi tykać tylko ułamek tych chunków. Jak zmienić view-distance, przeczytasz w bazie wiedzy: jak zmienić view-distance.

Spawny mobów

spawn-limits w bukkit.yml określają, ile mobów każdej kategorii może istnieć wokół graczy; potwory domyślnie stoją na 70. Na zatłoczonym serwerze możesz stopniowo schodzić niżej. W spigot.yml mob-spawn-range powinno pozostać w równowadze z simulation-distance, a Paper domyślnie rozdziela spawny uczciwie między graczy, więc jeden gracz AFK przy farmie nie pochłonie wszystkich spawnów. Ale uwaga: zbyt agresywne cięcie od razu czuć w rozgrywce — puste noce, stające farmy, źli gracze. Małe kroki.

Hoppery

Wielkie sortownie i farmy z tysiącami hopperów potrafią poważnie obciążyć czas ticku. W spigot.yml ticks-per.hopper-transfer i ticks-per.hopper-check określają, jak często hoppery pracują; lekkie podniesienie daje wtedy zauważalną różnicę, ale zmienia timing istniejących farm i sortowni. W paper-world-defaults.yml możesz dodatkowo dać pełnym hopperom odpocząć dzięki cooldown-when-full. Najpierw zmierz, czy hoppery w ogóle są Twoim problemem, zanim czegokolwiek tu dotkniesz.

Ładowanie chunków

Generowanie nowych chunków to jedno z najcięższych zadań, jakie zna serwer. Paper ma w paper-global.yml pokrętła systemu chunków, ale szczera rada brzmi: trzymaj się od nich z daleka, chyba że pomiar Cię tam kieruje i wiesz, co robisz — wartości domyślne są dobrze dobrane. Więcej zyskasz na granicy świata i pregenerowaniu chunków (patrz "Czytaj dalej") oraz na szybkich dyskach: ładowanie chunków z NVMe po prostu czuć w grze.

Rozsądne ustawienia według typu serwera

Mały serwer survival (2 do 10 graczy): zostaw prawie wszystko na domyślnych. Defaulty Paper są na to aż nadto; jeśli mimo to coś przycina, to prędzej przez jedną ekstremalną farmę, ciężki plugin albo za mało RAM-u niż przez config. Godziny w tuningu rzadko się tu zwracają.

Zatłoczony serwer społeczności (20+ graczy): potraktuj to jako punkt wyjścia, nie dogmat:

  • view-distance 8 i simulation-distance 6;
  • spawn-limits.monsters stopniowo w dół od 70;
  • mob-spawn-range zgrane z simulation-distance;
  • ustawienia hopperów tylko wtedy, gdy spark wskazuje hoppery.

Wprowadzaj zmiany pojedynczo i po każdym kroku mierz przynajmniej jeden zatłoczony wieczór. Inaczej nigdy się nie dowiesz, które pokrętło zrobiło różnicę — ani które coś zepsuło.

Uważaj na "magiczne configi" z internetu

O tych gotowych configach optymalizacyjnych krążących wszędzie: podchodź do nich ostrożnie. Często pisane są pod starsze wersje, przestawiają dziesiątki ustawień naraz i przede wszystkim wycinają zachowania: mniej spawnów mobów, inny timing redstone'a, farmy, które po cichu przestają działać. Jeśli serwer przyspieszy, nie wiesz, dzięki której z czterdziestu linijek; jeśli coś się zepsuje — też nie. Jeśli mimo to chcesz jakiegoś użyć: połóż go obok wartości domyślnych, przejmuj świadomie tylko to, co rozumiesz, i zmieniaj małymi krokami. Defaulty Paper napisali ludzie, którzy sami budują to oprogramowanie serwerowe; "wszystko inaczej" rzadko jest ulepszeniem.

Gdy tuning nie wystarcza

Na koniec szczerze: config nie wyczaruje sprzętu. Za mało RAM-u na liczbę graczy, sterta ciężkich pluginów albo wolne dyski — tego nie rozwiążesz YAML-em. Jeśli spark wskazuje na presję pamięci albo wolny zapis chunków, większy pakiet to po prostu lepsza inwestycja. W MC-Node każdy serwer Minecraft działa na własnym sprzęcie z dyskami NVMe — właśnie przy chunkach to zauważalna różnica — od 0,50 € miesięcznie, przy ok. 1,10 € za GB RAM. Wszystko można wypowiedzieć co miesiąc, więc spróbować rozmiaru większego i wrócić, jeśli okaże się przesadą, można bez problemu.

Czytaj dalej

// WYPRÓBUJ SAM
Twój serwer Minecraft online w 60 sekund
Zobacz pakiety →