// VPS

Serwer Minecraft na VPS: instalacja na Ubuntu z Javą 21 i systemd

Serwer Minecraft na VPS: instalacja na Ubuntu z Javą 21 i systemd

Większości osób, które chcą mieć serwer Minecraft, lepiej posłuży pakiet serwera gier: panel, kopie zapasowe, aktualizacja jednym kliknięciem. Ale jest grupa, dla której VPS to lepszy wybór: chcesz kilka małych serwerów za proxy, chcesz uruchamiać własne skrypty i cronjoby albo po prostu chcesz się nauczyć, jak to działa pod maską. Ten poradnik stawia serwer Paper na Ubuntu 24.04, jako usługę systemd, która po restarcie startuje sama i przy zatrzymaniu porządnie zapisuje świat. Licz na pół godziny.

Jaki VPS?

Minecraft działa na jednym rdzeniu i chce, żeby był szybki. Wybierz więc linię Normal z AMD EPYC 7443P (do 4,0 GHz): HEN-N-02 z 4 GB za 5,30 € miesięcznie to dobry start dla 5 do 10 graczy, HEN-N-03 z 4 vCore i 8 GB za 9,50 €, jeśli chcesz pluginów albo kilku serwerów. Linia budżetowa na starszym Xeonie też zadziała, ale niższe taktowanie odczujesz w tickrate, gdy tylko zrobi się tłoczno. Zostaw 1 GB dla systemu operacyjnego: na VPS-ie z 4 GB dajesz serwerowi 3 GB.

Osiem kroków instalacji serwera Minecraft na VPS-ie z Ubuntu: użytkownik, firewall, Java 21, Paper i EULA, usługa systemd, RCON, kopie zapasowe, aktualizacje
Osiem kroków od pustego VPS-a z Ubuntu do serwera Paper, który sam startuje i porządnie zapisuje świat.

Krok 1: logowanie, aktualizacje, osobny użytkownik

Zaloguj się przez SSH (tak się łączysz) i zacznij od aktualizacji oraz użytkownika bez uprawnień roota. Serwer będzie działał na tym użytkowniku, żeby złośliwy plugin nie przejął od razu całej maszyny.

apt update && apt upgrade -y
adduser --disabled-password --gecos "" minecraft
mkdir -p /opt/minecraft && chown minecraft:minecraft /opt/minecraft

Krok 2: firewall

ufw allow OpenSSH
ufw allow 25565/tcp
ufw enable

Otwarte są tylko SSH i port Minecrafta. Jeśli później zechcesz Geysera dla graczy Bedrocka, dojdzie do tego 19132/udp. RCON-u (krok 6) świadomie nie otwierasz na zewnątrz.

Krok 3: Java 21

Minecraft 1.20.5 i nowsze, łącznie z wersjami 26.x, wymagają Javy 21. Na Ubuntu 24.04 to jedna linijka; w naszej bazie wiedzy jest osobna instrukcja, jeśli siedzisz na innej dystrybucji.

apt install -y openjdk-21-jre-headless
java -version

Krok 4: pobranie Papera i EULA

Pobierz najnowszy build Papera dla swojej wersji Minecrafta ze strony PaperMC i umieść go jako paper.jar w /opt/minecraft. Uruchom go raz jako użytkownik minecraft; utworzy pliki i zatrzyma się na EULA.

su - minecraft
cd /opt/minecraft
java -Xms3G -Xmx3G -jar paper.jar --nogui
sed -i 's/eula=false/eula=true/' eula.txt

Ustawiając -Xms i -Xmx na tę samą wartość, zapobiegasz ciągłemu dobieraniu pamięci przez Javę. Więcej flag, jak znany tuning garbage collectora, może poczekać; przy dziesięciu graczach nie zauważysz różnicy. Dostosuj teraz też server.properties: zostaw online-mode=true, ustaw view-distance na 8 i wpisz motd. Co robią pozostałe linijki, opisujemy w artykule server.properties bez tajemnic.

Krok 5: usługa systemd

To krok, który odróżnia serwer na VPS-ie od „ekranu, który zostawiam otwarty”. Utwórz /etc/systemd/system/minecraft.service:

[Unit]
Description=Minecraft (Paper)
After=network-online.target
Wants=network-online.target

[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms3G -Xmx3G -jar paper.jar --nogui
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now minecraft
systemctl status minecraft
journalctl -u minecraft -f

KillSignal=SIGINT to najważniejsza linijka: serwer Minecraft przechwytuje ten sygnał i zapisuje wszystkie światy, zanim się zatrzyma, dokładnie jak przy stop w konsoli. Bez tej linijki przy restarcie dostaje twardy sygnał i ryzykujesz uszkodzony chunk. TimeoutStopSec daje mu na to dwie minuty; duży świat czasem tego potrzebuje.

Krok 6: konsola przez RCON

Usługa nie ma ekranu, w który wpisujesz komendy. Eleganckie rozwiązanie to RCON: ustaw w server.properties enable-rcon=true, rcon.port=25575 i długie rcon.password, a na VPS-ie zainstaluj klienta RCON, na przykład mcrcon. Ponieważ firewall nie otwiera tego portu, RCON jest dostępny tylko lokalnie i tak ma być. Alternatywa, którą wielu administratorów woli: uruchamianie serwera z usługi w screen albo tmux, żeby przez screen -r widzieć prawdziwą konsolę. To działa, ale logika zatrzymywania robi się wtedy bardziej skomplikowana; zacznij od RCON-u.

Krok 7: kopie zapasowe

Nasze VPS-y mają w cenie kopie zapasowe całej maszyny, ale świat chcesz zapisywać częściej i celniej. Wystarczy cronjob, który co godzinę pakuje foldery świata:

0 * * * * tar -czf /opt/backups/swiat-$(date +\%Y%m%d-%H).tar.gz -C /opt/minecraft world world_nether world_the_end

Dopisz do tego regułę, która usuwa pliki starsze niż siedem dni, i co jakiś czas kopiuj folder w inne miejsce niż sam VPS. Kopia zapasowa na tym samym dysku co serwer to nie kopia zapasowa.

Krok 8: aktualizacje i doglądanie

Aktualizacja to podmiana paper.jar na nowy i systemctl restart minecraft. Przed każdą aktualizacją sprawdź pluginy: muszą obsługiwać nową wersję. Doglądaj maszyny przez htop i free -m; jeśli wolnych zostaje mniej niż kilkaset MB, czas na większy pakiet, a to możesz zrobić co miesiąc.

Szczerze: kiedy tego nie robić

Wszystko powyżej dostajesz gotowe w serwerze gier Minecraft: panel z konsolą, kopie zapasowe jednym kliknięciem, zmiana wersji, instalacja pluginów i ochrona DDoS na porcie gry. Zaczyna się od 0,50 € miesięcznie i kosztuje około 1,10 € za GB, co dla jednego serwera wychodzi taniej niż VPS porównywalnej wielkości. VPS wygrywa dopiero przy kilku serwerach, proxy Velocity, własnym oprogramowaniu obok albo po prostu chęci zrobienia tego samemu. Jeśli chcesz mieć to, co najlepsze z obu światów, spójrz na Pterodactyl na własnym VPS-ie: panel, którym zarządzasz sam.

Czytaj dalej

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