Ile RAM potrzebuje serwer z modpackiem? Poradnik
Serwer vanilla albo Paper spokojnie chodzi na 1 do 2 GB RAM. Lekki modpack do mniej więcej 60 modów potrzebuje 4 GB, średni pack ze 100 do 200 modów od 6 do 8 GB, a duży kitchen-sink z 300 modami lub więcej, taki jak All the Mods 10, zaczyna się na poważnie dopiero przy 10 do 12 GB. Liczba modów wyznacza dolną granicę, a gracze dochodzą do tego z góry: mniej więcej 1 do 2 GB na każdych kilku kolejnych graczy, gdy na serwerze robi się mocna automatyzacja.
Dlaczego liczba modów waży więcej niż liczba graczy?
Serwer z modami przy starcie ładuje do pamięci wszystko, co przynosi ze sobą pack: każdy blok, każdy przedmiot, każdy przepis, każdy typ entity, każde biome i każdy wymiar. Dzieje się to również wtedy, gdy nikogo nie ma online. Pusto pracujący serwer z dużym packiem potrzebuje więc już prawie całego swojego budżetu pamięci. All the Mods 10 ma od 400 do 500 modów; te rejestry to stały koszt, którego nie zbijesz wpuszczaniem mniejszej liczby graczy.
Gracze to koszt zmienny, który dochodzi na wierzch. Każdy gracz ładuje wokół siebie chunki, czyli fragmenty świata, razem z entity i pracującymi maszynami, które w nich stoją. Czterech znajomych budujących razem w tej samej dolinie kosztuje niewiele więcej. Czterech graczy z własną fabryką w osobnym rogu mapy i z chunkloaderami, które kręcą się dalej, gdy są offline, kosztuje sporo więcej. Stąd ta reguła kciuka: 1 do 2 GB na każdych kilku kolejnych graczy przy ciężkiej automatyzacji.
Działa to w obie strony. Jeśli chcesz postawić ATM10 dla dwóch osób, 6 GB niczego nie załatwi. A jeśli prowadzisz serwer Paper z pluginami i pięćdziesięcioma graczami, zwykle nie potrzebujesz 16 GB; taki serwer ma raczej problem z CPU niż z pamięcią.
Ile RAM potrzebujesz przy danym typie serwera?
| Typ serwera | Przykład | Zalecany RAM |
|---|---|---|
| Vanilla lub Paper bez modów | Survival z kilkoma pluginami | 1-2 GB |
| Lekki pack, do 60 modów | Pack wydajnościowy lub tematyczny o wąskim zakresie | 4 GB |
| Średni pack, 100-200 modów | Packi oparte na Create | 6-8 GB |
| Duży kitchen-sink, 300+ modów | All the Mods 10 | 10-12 GB |
| Duży pack z 5+ graczami lub silną automatyzacją | ATM10 z aktywną ekipą | 14-16 GB |
Te liczby dotyczą serwera, a nie twojego własnego komputera. Część packów jest lżejsza, niż sugeruje ich reputacja: packi Cobblemon często chodzą bez problemu na 4 do 8 GB, podczas gdy stare serwery Pixelmon do tego samego rodzaju zabawy potrzebowały zwykle 10 do 12 GB. Najpierw sprawdź więc zalecenia autora packa. Jeśli nie wiesz jeszcze, jak modpack jest zbudowany, przeczytaj, czym dokładnie jest modpack i jak się go instaluje.
Czy zbyt dużo RAM też może zaszkodzić?
Tak, i to zaskakuje wiele osób. Java nie zwalnia pamięci od razu, tylko pozwala śmieciom się gromadzić i sprząta je okresowo za pomocą garbage collectora. Im większa sterta, czyli heap, tym więcej collector ma do przejścia, gdy przychodzi jego kolej. Jeśli packowi, któremu wystarcza 6 GB, dasz nagle znacznie więcej, śmieci leżą dłużej, a samo sprzątanie robi się cięższe. Efektem nie jest wyższy TPS, czyli liczba ticków na sekundę, tylko co jakiś czas wyraźne zacięcie.
Więcej RAM to więc nie suwak prędkości. To sufit, który musi być na tyle wysoki, żebyś w niego nie uderzał, i niewiele wyższy. Jeśli serwer wywala się z błędem OutOfMemoryError, pamięci trzeba dołożyć. Jeśli po sprzątaniu zużycie zostaje mocno poniżej sufitu, za dodatkowe GB kupujesz tylko dłuższe pauzy i wyższy rachunek.
Co dokładnie oznaczają Xmx i Xms?
-Xmx to maksymalny rozmiar sterty: sufit, którego Java nigdy nie przekroczy. -Xms to rozmiar sterty, z jakim Java startuje. Gdy -Xms jest ustawione nisko, serwer zaczyna od małej sterty i rośnie stopniowo, co przy starcie dużego packa oznacza dodatkową robotę.
- Sprawdź, ile RAM ma twój pakiet. To twoja górna granica; proces Javy poza stertą zużywa pamięć także na wątki i bufory sieciowe.
- Ustaw więc
-Xmxtuż poniżej rozmiaru pakietu: przy pakiecie 8 GB nie dawaj stercie pełnych 8 GB. - Ustaw
-Xmsna tę samą wartość co-Xmx, żeby sterta nie rosła i nie kurczyła się w kółko. - Zrestartuj serwer i pozwól mu pochodzić godzinę z graczami na pokładzie. Pierwsze minuty po restarcie mówią niewiele.
- Potem zajrzyj do wykresu pamięci w swoim panelu. Jeśli po każdym sprzątaniu zużycie wraca mniej więcej do tego samego poziomu, jest dobrze. Jeśli linia stale ociera się o sufit, trzeba dołożyć RAM albo wyrzucić jakiegoś moda.
W panelu Pterodactyl ustawiasz to w zmiennych startowych, więc nie musisz grzebać w skrypcie startowym. Jeśli nie masz pewności, jak poskładany jest twój serwer, pomoże ci nasze wyjaśnienie, jak samodzielnie postawić serwer Minecraft.
Dlaczego pregeneracja i view-distance ważą więcej niż jeden gigabajt ekstra?
Najdroższą rzeczą, jaką robi serwer z modami, jest generowanie nowego świata. Przy dużym packu dochodzą do tego dodatkowe struktury, rudy i czasem całe wymiary, liczone dokładnie w chwili, gdy gracz przekracza granicę wygenerowanego terenu. To właśnie wtedy serwer się zacina: ktoś leci na elytrach nad nieodkrytym terenem i TPS leci w dół. Dodatkowy RAM tego nie naprawi, bo problemem są obliczenia, a nie miejsce.
Rozwiązaniem jest wcześniejsze wygenerowanie świata narzędziem do pregeneracji, zanim wpuścisz graczy. Serwer wyliczy wtedy chunki w spokojnym momencie i zapisze je na dysk, a później będzie je już tylko odczytywał. Zrób to osobno dla każdego wymiaru i z granicą dopasowaną do liczby graczy.
Drugie pokrętło to view-distance, czyli zasięg widzenia, w pliku server.properties. Każdy krok w górę zwiększa liczbę chunków, które serwer utrzymuje na gracza, a to skaluje się bardzo ostro. Zejście z 10 na 6 daje na obciążonym packu z modami więcej niż dorzucenie paru GB. simulation-distance, czyli zasięg symulacji, często można ustawić jeszcze o stopień niżej: gracze nadal widzą daleko, ale serwer nie musi wszędzie tykać mobami i maszynami. W naszym artykule o optymalizacji serwera Minecraft wchodzimy głębiej w te ustawienia i w mierzenie TPS.
Czy prawdziwym wąskim gardłem nie jest taktowanie CPU?
Często tak. Tick świata w Minecraft działa na jednym wątku. Wszystko, co dzieje się w jednym ticku (moby, redstone, maszyny, leje, generowanie świata), jest obsługiwane po kolei, a masz na to 50 milisekund, jeśli chcesz utrzymać 20 TPS. Więcej rdzeni prawie w tym nie pomaga; liczy się to, jak szybko jeden rdzeń przerobi tę kolejkę. Taktowanie waży więc na serwerze z modami więcej niż liczba rdzeni.
Widać to zwłaszcza przy packach nastawionych na automatyzację. Baza pełna maszyn Create wypełnia twój budżet ticku, choć zużycie pamięci prawie nie rośnie. Jeśli widzisz niski TPS, a zużycie RAM ładnie trzyma się poniżej sufitu, większy pakiet niczego ci nie da. Zmierz wtedy najpierw narzędziem spark, który mod albo który chunk zjada budżet ticku, liczony w MSPT, czyli milisekundach na tick.
W hostingu Minecraft w MC-Node linia budżetowa działa na AMD EPYC 7443P, a linia premium na AMD Ryzen 9 9950X. Do małego packa ze znajomymi linia budżetowa w zupełności wystarczy; jeśli chcesz płynnie prowadzić duży pack z automatyzacją i aktywną ekipą, szybsza linia zwraca się szybciej niż kilka GB ekstra na tej wolniejszej.
Jak zbić zużycie RAM bez dokupowania?
Mody optymalizacyjne to najprostszy zysk. Na NeoForge standardowym wyborem są FerriteCore, Canary i ModernFix. Sam FerriteCore oszczędza w praktyce jakieś 30 do 40 procent pamięci, scalając zdublowane dane blockstate i modeli. Nie zmieniają przy tym niczego w samej rozgrywce.
Do tego uruchamiaj serwer na właściwej wersji Javy: ATM10 wymaga Java 21 i na Java 17 po prostu nie wystartuje. Liczy się też nośnik. Przy packu takim jak ATM10 SSD to różnica między dobrymi dziesięcioma minutami ładowania na dysku talerzowym a dwiema, trzema minutami; dysk NVMe mamy standardowo w każdym pakiecie. Na koniec możesz sprawdzić, czy da się wyrzucić jakieś mody. Przy własnoręcznie złożonym packu działa to świetnie, ale w kitchen-sinku przepisy i linie questów są ze sobą splątane, więc zepsujesz więcej, niż zyskasz.
Najczęściej zadawane pytania
Ile RAM potrzebuje All the Mods 10? Minimum 10 GB na serwer, 12 GB dla małej ekipy i 14 do 16 GB, gdy gracie w 5 osób lub więcej albo mocno automatyzujecie. ATM10 działa na NeoForge dla Minecraft 1.21.1 i wymaga Java 21; Java 17 nie zadziała.
Czy 4 GB wystarczy na modpack? Na lekki pack do mniej więcej 60 modów 4 GB wystarczy. Packi Cobblemon często chodzą bez problemu na 4 do 8 GB. Na kitchen-sink z 300 modami lub więcej 4 GB to zdecydowanie za mało; taki pack nie wystartuje albo wywali się w ciągu kilku minut.
Czy serwer przyspieszy od większej ilości RAM? Nie. RAM to sufit, a nie przyspieszacz. Zbyt duża sterta wydłuża właśnie pauzy garbage collection. Jeśli zużycie pamięci ładnie trzyma się poniżej sufitu, a TPS jest niski, problem leży po stronie CPU, twojego view-distance albo konkretnego moda.
Jaka jest różnica między Xmx i Xms? -Xmx to maksimum sterty, jakie Java może wykorzystać, a -Xms to rozmiar, z jakim proces startuje. Na serwerze, który nie robi nic poza tym, zwykle ustawia się je równo i oba nieco poniżej rozmiaru pakietu, bo Java używa też pamięci poza stertą.
Ile kosztuje 8 GB RAM w MC-Node? Linia budżetowa to 4,75 zł za GB miesięcznie, a pakiet 8 GB kosztuje 38,02 zł miesięcznie. Przy 15 GB cena spada do 4,32 zł za GB, czyli 64,80 zł miesięcznie. Linia premium z szybszym procesorem kosztuje 10,80 zł za GB.