Notatki operatora
Serwer Minecraft z modami: Forge, NeoForge i Fabric krok po kroku
Serwer z modami to inna bajka niż zwykły Paper z pluginami. Trzeba trafić loader, dopasować wersję Javy, wgrać te same mody na serwer i u graczy, i pilnować RAM. Ten przewodnik prowadzi przez to po kolei: czym różni się Forge od NeoForge i Fabric, jak postawić serwer każdego z nich, gdzie lądują mody i co zrobić, gdy całość wywala się przy starcie.
W skrócie: najpierw sprawdź, na jakim loaderze są Twoje mody, bo Forge, NeoForge i Fabric nie są ze sobą zgodne. Potem dobierz Javę pod wersję gry (1.21.x potrzebuje Javy 21). Serwer Forge i NeoForge instalujesz installerem komendą java -jar installer.jar --installServer, który tworzy run.sh i user_jvm_args.txt; Fabric stawiasz installerem w trybie Server, dostając fabric-server-launch.jar. Mody wrzucasz do folderu mods, ale bez modów czysto klienckich (np. OptiFine). RAM ustawiasz w user_jvm_args.txt albo przez -Xmx; duży modpack chce realnie 6 do 8 GB.
Po co osobny serwer z modami
Większość poradników na tej stronie dotyczy serwerów z pluginami: Paper albo Spigot plus pluginy w folderze plugins. To świetnie sprawdza się przy survivalu, mini-grach czy ekonomii, ale ma jedno ograniczenie: pluginy nie dodają nowych bloków, przedmiotów ani maszyn. Jeśli chcesz grać na serwerze z modpackiem, który dorzuca technikę, magię, nowe wymiary czy mechanikę zwierzaków, potrzebujesz prawdziwego loadera modów, a nie pluginów.
Kluczowa zasada serwera z modami brzmi: na serwerze i u każdego gracza musi działać ta sama wersja Minecrafta, ten sam loader i ten sam zestaw modów wspólnych. Jeśli Ty masz na serwerze modpack na NeoForge w wersji 1.21.1, to każdy, kto chce wejść, musi mieć dokładnie taki sam profil w launcherze. To zupełnie inny model niż serwer z pluginami, gdzie gracz łączy się zwykłym, czystym klientem.
Forge, NeoForge czy Fabric
To pierwsza i najważniejsza decyzja, bo loadery nie są ze sobą zgodne. Mod napisany pod Forge nie uruchomi się na Fabricu, a mod Fabric nie zadziała na Forge ani NeoForge. Nie wybierasz więc loadera „bo lepszy”, tylko dopasowujesz go do modów, które chcesz uruchomić.
- Forge to najstarszy i najbardziej znany loader, przez lata standard dla dużych modpacków technicznych. Wiele klasycznych zestawów i starszych wersji gry nadal stoi właśnie na Forge.
- NeoForge to loader wydzielony z Forge w okresie wersji 1.20.x. W praktyce na nowe wersje gry (od 1.20.x w górę) to właśnie NeoForge jest dziś rozwijany najaktywniej i to na niego celuje większość świeżych modów dawniej kojarzonych z Forge. Mody Forge i NeoForge nie są jednak wzajemnie wymienne, więc na karcie moda zawsze szukaj, który z dwóch jest wskazany dla danej wersji.
- Fabric to lekki, szybko aktualizowany loader. Króluje przy modach optymalizacyjnych i mniejszych, wycinkowych zestawach. Większość modów Fabric wymaga dodatkowo biblioteki Fabric API, którą trzeba wgrać jak zwykły mod.
Jak wybrać w praktyce: wejdź na stronę modpacka albo poszczególnych modów na CurseForge lub Modrinth i sprawdź, jaki loader i jaką wersję Minecrafta podają. To one dyktują wybór, nie odwrotnie. Jeśli stawiasz serwer pod gotowy modpack, loader jest już w nim ustalony i nie masz tu nic do gadania.
Z doświadczenia: nie próbuj „dorzucić jednego moda Forge” na serwer Fabric ani odwrotnie. To najczęstszy błąd początkujących i kończy się crashem przy starcie albo cichym ignorowaniem moda. Jedna instancja serwera = jeden loader.
Dobór wersji Javy
Druga rzecz, która kładzie serwery z modami, to niezgodna Java. Wersja Javy zależy od wersji Minecrafta, a nie od loadera, i nowe wersje gry są pod tym względem bezwzględne: odpalisz modpack na 1.21 starą Javą i dostaniesz błąd zanim serwer w ogóle wstanie.
| Wersja Minecrafta | Wymagana Java |
|---|---|
| do 1.16.5 | Java 8 (uruchomisz też na 17) |
| 1.17 | Java 16 lub nowsza |
| 1.18 do 1.20.4 | Java 17 lub nowsza |
| 1.20.5 i nowsze (w tym całe 1.21.x) | Java 21 |
Zawsze instaluj 64-bitową Javę; 32-bitowa nie obsłuży nowoczesnych wersji i nie pozwoli przydzielić większej ilości RAM. Jeśli masz na maszynie kilka serwerów na różnych wersjach gry, najczyściej jest zainstalować obok siebie kilka wersji Javy i w skrypcie startowym każdego serwera wskazać pełną ścieżkę do właściwej (np. wywołać konkretne java zamiast tej domyślnej z systemu).
Stawianie serwera Forge lub NeoForge
Forge i NeoForge stawia się niemal identycznie, bo NeoForge wyrósł z Forge i dziedziczy jego sposób instalacji. Schemat jest taki:
- Pobierz installer dla właściwej wersji gry i loadera ze strony projektu (Forge albo NeoForge). To plik
.jarz installerem, a nie sam serwer. - Wrzuć go do pustego katalogu i uruchom instalację serwera komendą
java -jar nazwa-installera.jar --installServer. - Installer pobierze potrzebne biblioteki i wygeneruje pliki startowe:
run.sh(Linux/macOS) lubrun.bat(Windows), plikuser_jvm_args.txtdo ustawień RAM i JVM oraz, przy pierwszym uruchomieniu, foldermods. - Uruchom serwer skryptem
./run.sh(lubrun.bat). Pierwszy start od razu się zatrzyma, bo nie zaakceptowałeś jeszcze EULA. - Otwórz plik
eula.txti zmieńeula=falsenaeula=true, co oznacza zgodę na licencję Minecrafta. Uruchom serwer ponownie.
RAM ustawiasz w user_jvm_args.txt, w którym znajdziesz zakomentowane przykłady. Odkomentowujesz i ustawiasz parametry sterty, najczęściej -Xmx (maksymalny RAM) i -Xms (startowy). Przykładowo -Xmx6G da serwerowi do 6 GB. Dzięki temu, że ustawienia siedzą w osobnym pliku, nie musisz grzebać w samym skrypcie startowym przy każdej zmianie.
Stawianie serwera Fabric
Fabric ma własny, prosty installer, który robi większość roboty za Ciebie:
- Pobierz installer Fabric ze strony projektu (wersja uniwersalna
.jaralbo Windowsowy.exe). - Uruchom installer, przejdź na zakładkę Server, wybierz wersję Minecrafta i wersję loadera, wskaż folder docelowy i kliknij instalację.
- Installer utworzy plik
fabric-server-launch.jar, który jest głównym plikiem startowym, i pobierze obok niego oryginalny serwerowyserver.jarvanilla. - Uruchom serwer, wskazując
fabric-server-launch.jarjako plik startowy, np.java -Xmx4G -jar fabric-server-launch.jar nogui. - Tak jak wszędzie, zaakceptuj EULA w pliku
eula.txti uruchom ponownie.
Przy Fabricu pamiętaj o jednym: większość modów potrzebuje Fabric API. To osobny mod, który wgrywasz do folderu mods jak każdy inny. Bez niego mody, które go wymagają, po prostu się nie załadują albo wywalą start.
Wgrywanie modów
Niezależnie od loadera mody serwerowe trafiają do jednego miejsca: folderu mods w katalogu serwera. Plik .jar moda po prostu kopiujesz do tego folderu i restartujesz serwer. Jest jednak kilka zasad, które oszczędzają godzin szukania, dlaczego serwer nie chce wstać:
- Te same wersje co u graczy. Każdy mod wspólny musi być w identycznej wersji na serwerze i w kliencie każdego gracza. Różnica wersji jednego moda potrafi wyrzucać graczy przy łączeniu.
- Bez modów czysto klienckich. Mody poprawiające grafikę, interfejs czy oświetlenie często działają tylko po stronie gracza. Nie wrzucaj ich do folderu
modsserwera. Klasyczny przykład to OptiFine i OptiFabric, których na serwer się nie wgrywa. - Pilnuj zależności. Wiele modów wymaga bibliotek bazowych (na Fabricu to Fabric API, na innych loaderach bywają dedykowane mody-biblioteki). Brak takiej zależności to natychmiastowy crash.
- Mody zgodne z wersją gry. Mod na 1.20.1 nie zadziała na serwerze 1.21. Filtruj wersje na CurseForge/Modrinth zanim pobierzesz.
Jeśli stawiasz gotowy modpack, najwygodniej pobrać jego wersję serwerową (server pack), która ma już skompletowany właściwy folder mods i pasujące pliki startowe. Wtedy ręcznie dobierasz tylko Javę i RAM.
Komendy i pliki startowe
Poniżej najważniejsze elementy, z którymi będziesz pracować przy serwerze z modami.
| Element | Czego dotyczy |
|---|---|
java -jar installer.jar --installServer | Instalacja serwera Forge lub NeoForge w bieżącym katalogu. |
run.sh / run.bat | Skrypt startowy serwera Forge/NeoForge generowany przez installer. |
user_jvm_args.txt | Plik z parametrami JVM (RAM przez -Xmx/-Xms) dla Forge/NeoForge. |
fabric-server-launch.jar | Główny plik startowy serwera Fabric, tworzony przez installer. |
java -Xmx4G -jar fabric-server-launch.jar nogui | Przykładowe uruchomienie serwera Fabric z 4 GB RAM. |
folder mods | Tu wrzucasz pliki .jar modów (na każdym loaderze). |
eula.txt | Akceptacja licencji: zmień eula=false na eula=true. |
server.properties | Podstawowa konfiguracja serwera (port, tryb gry, limit graczy). |
logs/latest.log | Najważniejszy plik do diagnozy crashy i błędów modów. |
RAM i wydajność
Serwer z modami zjada znacznie więcej RAM niż vanilla, bo każdy mod dokłada własne dane, bloki i logikę. Orientacyjnie: lekki zestaw kilkunastu modów dla paru osób zmieści się w 4 GB, typowy duży modpack techniczny dla paczki znajomych potrzebuje realnie 6 do 8 GB, a najcięższe zestawy z setkami modów chcą 10 GB i więcej.
Częsty błąd to ustawienie absurdalnie dużego -Xmx „na zapas”. Zbyt wielka sterta wydłuża pauzy garbage collectora i serwer zaczyna co chwilę przycinać, mimo że RAM teoretycznie jest. Lepiej przydzielić tyle, ile modpack faktycznie potrzebuje plus zapas, niż wrzucić wszystko, co masz w maszynie. Przy serwerach z modami liczy się też mocny pojedynczy rdzeń procesora, bo silnik gry słabo rozkłada pracę na wiele wątków. Więcej o tym, ile RAM i jaki procesor dobrać do gry i liczby graczy, jest w osobnym wpisie o doborze sprzętu pod serwer gry.
Typowe problemy
- Serwer nie wstaje, błąd o wersji Javy. Najczęstsza przyczyna w ogóle. Sprawdź, czy uruchamiasz serwer właściwą Javą: 1.21.x wymaga Javy 21, starsze wersje odpowiednio 17 lub 16. Skontroluj komendą
java -version, którą Javę widzi system. - Pomieszane loadery. Mod Forge w instancji Fabric (albo odwrotnie) nie zadziała i często wywala start. Cała instancja serwera musi być na jednym loaderze, a wszystkie mody pod ten sam loader i wersję gry.
- Brakująca zależność. W logu pojawia się komunikat o brakującym wymaganym modzie, np. o Fabric API. Doczytaj na karcie moda, czego wymaga, i wgraj brakujące biblioteki do folderu
mods. - Mod kliencki na serwerze. Wrzucenie moda działającego tylko u gracza (grafika, interfejs, OptiFine) do serwerowego
modsbywa przyczyną crasha. Usuń mody czysto klienckie z serwera. - Gracz nie może wejść po aktualizacji modpacka. Po każdej zmianie listy lub wersji modów na serwerze gracze muszą zaktualizować swój profil do identycznego zestawu. Niezgodność wersji moda blokuje połączenie.
- Nie wiadomo, który mod psuje. Otwórz
logs/latest.logi szukaj słówincompatible,missingalbo nazwy moda przy błędzie. Przy dużym modpacku dodawaj mody partiami, zamiast wszystkich naraz, żeby zawęzić winowajcę.
Jeśli nie chcesz samodzielnie pilnować wersji Javy, loadera i RAM, gotowy zarządzany hosting Minecrafta (Java) z obsługą modów pozwala wybrać wersję serwera i wgrać mody przez panel oraz menedżer plików, bez stawiania installerów od zera. Dla samego rdzenia bez modów zacznij od wpisu o tym, jak zrobić serwer Minecraft, a kwestie zdalnego dostępu z domu ogarniesz w przewodniku o przekierowaniu portów.
Najczęstsze pytania
Forge, NeoForge czy Fabric: co wybrać na serwer z modami?
Decyduje to, na jakim loaderze są Twoje mody. Forge, NeoForge i Fabric nie są zgodne, więc sprawdź na karcie modów lub modpacka (CurseForge, Modrinth), który loader podają, i pod niego stawiaj serwer. NeoForge dominuje przy nowych wersjach gry, Fabric przy modach optymalizacyjnych i mniejszych zestawach.
Jaką wersję Javy potrzebuję do serwera z modami?
Tę, której wymaga Twoja wersja Minecrafta: 1.21.x potrzebuje Javy 21, 1.18 do 1.20.4 Javy 17, 1.17 Javy 16, a starsze do 1.16.5 Javy 8. Zawsze 64-bitowej.
Gdzie wgrywać mody i czy te same co u klienta?
Do folderu mods w katalogu serwera. Mody wspólne muszą być w tej samej wersji co u graczy, ale modów czysto klienckich (np. OptiFine) na serwer się nie wgrywa.
Ile RAM potrzebuje serwer z modami?
Lekki zestaw zmieści się w 4 GB, typowy duży modpack chce realnie 6 do 8 GB, a najcięższe zestawy 10 GB i więcej. Nie przesadzaj z -Xmx, bo zbyt duża sterta wydłuża pauzy GC i serwer ścina.
Dlaczego serwer z modami crashuje przy starcie?
Najczęściej przez niezgodną Javę, pomieszane loadery, brakującą zależność, moda klienckiego na serwerze albo niezgodne wersje modów. Diagnozę zaczynaj od logs/latest.log.