Serwer Minecraft na VPS - poradnik
VPS daje pełna kontrole nad serwerem i często wychodzi taniej niz shared hosting. Pokaze Ci, jak kupic VPS u Hetzner, OVH lub Oracle, zainstalowac system i postawic serwer Paper od zera.
Dlaczego VPS zamiast shared hostingu
VPS (Virtual Private Server) to wirtualna maszyna z dedykowanymi zasobami - CPU, RAM, dysk - i pełnym dostepem root. W przeciwienstwie do shared hostingu, gdzie dzielisz zasoby z innymi klientami, na VPS-ie masz gwarancje wydajności. Nikt inny nie "zajmie" Twojego CPU w godzinach szczytu.
Trzy główne powody, zeby wybrać VPS:
- Pełna kontrola - instalujesz co chcesz, konfigurujesz jak chcesz. Wlasne flagi JVM, własny panel (Pterodactyl), wiele serwerow na jednej maszynie, bazy danych, strona WWW - wszystko na jednym VPS-ie.
- Taniej przy dużych serwerach - VPS z 8 GB RAM u Hetzner to ok. 35-40 zl/mies. Za te pieniadze na shared hostingu dostajesz 2-3 GB. Przy 16 GB różnica jest jeszcze większa.
- Dedykowane zasoby - CPU i RAM sa tylko Twoje. Brak "noisy neighbors", brak spadkow wydajności, bo ktos obok uruchomil ciezki modpack.
Wymogi: VPS wymaga podstawowej znajomosci Linuxa. Musisz umiec połączyć sie przez SSH, używać terminala, edytowac pliki (nano/vim) i rozwiazywac problemy. Jeśli to Twoj pierwszy kontakt z linia komend, zacznij od shared hostingu i wroc tu później.
Porownanie dostawcow VPS
Trzech dostawcow, których polecamy dla serwerow Minecraft w Polsce:
Hetzner - rekomendacja nr 1
Hetzner to niemiecki dostawca z najlepszym stosunkiem ceny do wydajności na rynku. Serwery w Falkenstein (blisko granicy z Polska) dają ping 15-25 ms. Dyski NVMe, szybkie procesory AMD EPYC, prosta konsola zarzadzania. Za VPS z 4 vCPU (dedykowane), 8 GB RAM i 80 GB NVMe zaplacisz ok. 35 zl/mies. Na Hetznerze postawisz serwer Minecraft, który pomiesci 30-50 graczy bez mrugnieciem oka.
OVH - centrum danych w Polsce
OVH ma centrum danych we Wroclawiu. To jedyny duży dostawca VPS z serwerami fizycznie w Polsce. Ping 5-15 ms z dowolnego miejsca w kraju - tak samo jak CraftServe, ale z pełna kontrola root. Ceny sa wyższe niz u Hetzner (~45 zl za porownywalne zasoby), a panel zarzadzania jest bardziej skomplikowany. Ale jeśli potrzebujesz absolutnie najnizszego pingu z VPS - OVH Wroclaw to jedyna opcja.
Oracle Cloud free tier - za darmo
Oracle oferuje darmowa instancje ARM z 4 CPU i 24 GB RAM. Szczegoly opisalismy w poradniku darmowego hostingu. Tutaj skupimy sie na konfiguracji serwera - kroki sa takie same jak dla Hetzner czy OVH, z ta różnica, ze musisz użyć Javy w wersji ARM (OpenJDK obsługuje ARM natywnie, wiec to nie problem).
Krok 1: Zakup VPS
Pokaze konfiguracje na przykladzie Hetzner, bo to nasz domyslny wybor. Kroki dla OVH i Oracle sa analogiczne.
- Zaloz konto na hetzner.com/cloud - potrzebujesz karty kredytowej lub PayPal do weryfikacji.
- Utworz nowy projekt - nazwij go np. "minecraft" i kliknij "Add Server".
- Wybierz lokalizacje - Falkenstein (FSN1) daje najniższy ping do Polski. Norymberga (NBG1) tez jest OK.
- Wybierz system - Ubuntu 24.04 LTS (najnowszy LTS, wsparcie do 2029).
- Wybierz plan - dla serwera Minecraft rekomendujemy minimum:
Mały serwer (do 15 graczy): CX22 - 2 vCPU, 4 GB RAM, 40 GB NVMe (~20 zl/mies.)
Średni serwer (15-40 graczy): CX32 - 4 vCPU, 8 GB RAM, 80 GB NVMe (~35 zl/mies.)
Duży serwer (40+ graczy): CX42 - 8 vCPU, 16 GB RAM, 160 GB NVMe (~65 zl/mies.) - Dodaj klucz SSH - Hetzner wymaga klucza SSH do połączenia. Jeśli nie masz, wygeneruj:
ssh-keygen -t ed25519i wklej zawartość pliku~/.ssh/id_ed25519.pub. - Kliknij "Create & Buy Now" - serwer uruchomi sie w ciagu 30-60 sekund. Dostaniesz adres IP.
Wskazówka: Nie wybieraj planow "shared vCPU" (CX) do dużych serwerow. Minecraft jest jednowatkowy i potrzebuje szybkiego pojedynczego rdzenia. Plany "dedicated vCPU" (CCX) sa droższe, ale gwarantuja wydajność CPU. Dla serwera 30+ graczy z pluginami warto doplacic.
Krok 2: Konfiguracja systemu
Polacz sie z serwerem przez SSH:
ssh root@TWOJ_IP Przy pierwszym połączeniu potwierdz fingerprint (wpisz "yes"). Teraz skonfiguruj podstawy:
Aktualizacja systemu
apt update && apt upgrade -y Utworz użytkownika dla Minecrafta
Nigdy nie uruchamiaj serwera Minecraft jako root. Stwórz dedykowanego użytkownika:
adduser minecraft
usermod -aG sudo minecraft Ustaw haslo i zaloguj sie jako nowy użytkownik:
su - minecraft Zainstaluj podstawowe narzędzia
sudo apt install -y screen wget curl unzip htop - screen - pozwala uruchomic serwer w tle (nie zamknie sie po rozlaczeniu SSH)
- wget/curl - do pobierania plikow
- htop - monitor zasobow (CPU, RAM)
Alternatywa: tmux
Zamiast screen możesz użyć tmux (sudo apt install tmux). Tmux jest nowszy i ma więcej funkcji (panele, okna), ale screen jest prostszy. Dla jednego serwera Minecraft nie ma różnicy.
Krok 3: Instalacja Javy
Minecraft 1.20.5 i nowsze wymagaja Javy 21. Zainstaluj OpenJDK 21 (wersja headless - bez interfejsu graficznego, bo go nie potrzebujesz na serwerze):
sudo apt install -y openjdk-21-jre-headless Zweryfikuj instalacje:
java -version Powinna wyswietlic sie wersja 21.x.x. Jeśli Ubuntu 24.04 nie ma paczki openjdk-21, zainstaluj z Adoptium:
# Dodaj repozytorium Adoptium
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install -y temurin-21-jre Ważne: Uzywaj dokładnie tej wersji Javy, jakiej wymaga Twoja wersja Minecrafta. MC 1.17-1.20.4 = Java 17. MC 1.20.5+ = Java 21. Bledna wersja = crash przy starcie.
Krok 4: Firewall i bezpieczeństwo
Każdy serwer podlaczony do internetu jest celem atakow. Skonfiguruj firewall, zeby przepuszczal tylko potrzebny ruch:
# Włącz firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Otwórz SSH (port 22)
sudo ufw allow 22/tcp
# Otwórz Minecraft (port 25565)
sudo ufw allow 25565/tcp
# Jesli planujesz RCON (zdalną konsole)
# sudo ufw allow 25575/tcp
# Włącz firewall
sudo ufw enable Sprawdź status:
sudo ufw status Dodatkowe zabezpieczenia (rekomendowane)
- Wyłącz logowanie haslem przez SSH - uzywaj tylko kluczy SSH. Edytuj
/etc/ssh/sshd_config, ustawPasswordAuthentication noi zrestartuj SSH:sudo systemctl restart sshd - Wyłącz logowanie root -
PermitRootLogin now sshd_config - Zainstaluj fail2ban - blokuje IP po kilku nieudanych probach logowania:
sudo apt install fail2ban
Hetzner/OVH firewall: Dostawcy mają tez własne firewalle w panelu chmury. Możesz ich użyć dodatkowo lub zamiast ufw. Ważne, zeby port 25565 byl otwarty na obu poziomach (systemowy + chmurowy).
Krok 5: Instalacja i konfiguracja Paper
Paper to rekomendowana platforma serwerowa - szybsza niz Spigot, kompatybilna z Bukkit/Spigot pluginami, z regularnymi aktualizacjami. Zainstaluj go:
# Zaloguj sie jako użytkownik minecraft
su - minecraft
# Utworz katalog serwera
mkdir -p ~/server && cd ~/server
# Pobierz najnowszego Paper (sprawdź aktualna wersje na papermc.io)
wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar Zaakceptuj EULA Mojanga (wymagane do uruchomienia):
echo "eula=true" > eula.txt Skrypt startowy z optymalnymi flagami JVM
Utworz plik startowy z flagami Aikar (standard optymalizacji MC serwerow). Dostosuj -Xmx do ilości RAM na VPS-ie (zostaw 1-2 GB dla systemu):
cat > start.sh << 'SCRIPT'
#!/bin/bash
java -Xms4G -Xmx4G \
-XX:+AlwaysPreTouch \
-XX:+DisableExplicitGC \
-XX:+ParallelRefProcEnabled \
-XX:+PerfDisableSharedMem \
-XX:+UnlockExperimentalVMOptions \
-XX:+UseG1GC \
-XX:G1HeapRegionSize=8M \
-XX:G1HeapWastePercent=5 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1MixedGCCountTarget=4 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1NewSizePercent=30 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:G1ReservePercent=20 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:MaxGCPauseMillis=200 \
-XX:MaxTenuringThreshold=1 \
-XX:SurvivorRatio=32 \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true \
-jar paper.jar nogui
SCRIPT
chmod +x start.sh Flagi Aikar - co robia?
Flagi Aikar to zestaw optymalizacji garbage collectora Javy specjalnie dla serwerow Minecraft. Redukuja "lag spikes" spowodowane przez GC pauses, co daje stabilniejsze 20 TPS. Uzywaj ich zawsze - to standard w społeczności MC serwerowej.
Pierwsze uruchomienie
# Uruchom w sesji screen
screen -S minecraft
./start.sh Pierwsze uruchomienie trwa 1-3 minuty (Paper generuje świat). Po zakonczeniu zobaczysz "Done!" w konsoli. Serwer jest dostępny pod adresem TWOJ_IP:25565.
Zeby odlaczyc sie od sesji screen (serwer bedzie działać w tle): nacisnij Ctrl+A, potem D. Zeby wrocic do konsoli: screen -r minecraft.
Konfiguracja server.properties
Najważniejsze ustawienia w server.properties:
# Otwórz edytor
nano server.properties server-port=25565- domyslny port (zmien, jeśli chcesz kilka serwerow)max-players=30- dostosuj do zasobow VPS-aview-distance=10- zmniejsz do 6-8 na slabszych VPS-achsimulation-distance=6- zmniejsz do 4-5 dla lepszego TPSonline-mode=true- weryfikacja kont Mojang (zostaw true!)motd=Twoj serwer Minecraft- opis widoczny na liscie serwerow
Więcej o konfiguracji server.properties w naszym szczegolowym poradniku.
Krok 6: Autostart i monitoring
Chcesz, zeby serwer uruchamial sie automatycznie po restarcie VPS-a? Utworz usluge systemd:
sudo nano /etc/systemd/system/minecraft.service Wklej:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/usr/bin/screen -DmS minecraft /home/minecraft/server/start.sh
ExecStop=/usr/bin/screen -S minecraft -X stuff "stop\n"
Type=forking
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target Aktywuj usluge:
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft Teraz serwer uruchomi sie automatycznie po każdym restarcie VPS-a. Przydatne komendy:
sudo systemctl status minecraft- sprawdź statussudo systemctl stop minecraft- zatrzymaj serwersudo systemctl restart minecraft- restartujscreen -r minecraft- polacz sie z konsola
Automatyczne backupy
Dodaj cron job robiacy backup świata codziennie o 4:00:
# Edytuj crontab użytkownika minecraft
crontab -e
# Dodaj linijke:
0 4 * * * tar -czf /home/minecraft/backups/backup-$(date +\%Y\%m\%d).tar.gz /home/minecraft/server/world/ && find /home/minecraft/backups/ -mtime +7 -delete Ten skrypt tworzy skompresowany backup świata i usuwa kopie starsze niz 7 dni. Pamietaj, zeby utworzyc folder na backupy: mkdir -p /home/minecraft/backups.
Bonus: Instalacja panelu Pterodactyl
Jeśli wolisz panel webowy zamiast terminala na co dzien, zainstaluj Pterodactyl. To ten sam panel, z którego korzystaja Apex, Bisect i inne hostingi. Daje Ci interfejs do zarzadzania plikami, konsole, harmonogram zadan i wiele więcej.
Instalacja Pterodactyl jest bardziej skomplikowana (wymaga Nginx, PHP, MariaDB, Redis). Pełna instrukcja: pterodactyl.io/panel/getting_started.
Alternatywa: Jeśli Pterodactyl jest za skomplikowany, rozważ Crafty Controller - prostszy panel webowy do zarzadzania serwerami Minecraft. Instalacja: docker compose up -d (wymaga Dockera).
Optymalizacja serwera Minecraft na VPS
VPS daje pełna kontrole nad optymalizacja. Kilka rzeczy, które poprawia wydajność:
Pre-generowanie chunków
Generowanie nowych chunkow w locie to najciezsze zadanie dla serwera. Uzyj pluginu Chunky, zeby wygenerowac świat z wyprzedzeniem:
/chunky radius 5000
/chunky start Poczekaj, az zakonczy (może zając godziny). Po pre-generacji serwer bedzie znacznie plynniejszy.
Paper: config/paper-global.yml
max-auto-save-chunks-per-tick: 8- rozloz zapis chunków na więcej tików
Spigot: spigot.yml
mob-spawn-range: 6- zmniejsz z domyslnego 8 na slabszych VPS-achentity-activation-range- zmniejsz zasiegi aktywacji mobow
Monitoring TPS
Zainstaluj plugin spark do monitorowania wydajności. Komenda /spark tps pokaze aktualne TPS. Jeśli spada poniżej 18, masz problem z wydajnoscia.
Więcej o optymalizacji w naszym poradniku optymalizacji serwera.
RAM != wydajność: Nie przydzielaj całego RAM-u VPS-a serwerowi Minecraft. System operacyjny potrzebuje 1-2 GB. Jeśli masz VPS z 8 GB, ustaw -Xmx6G (6 GB dla MC, 2 GB dla systemu). Przydzielenie za dużo RAM-u może paradoksalnie pogorszyc wydajność przez dluzsze GC pauses.
Powiązane poradniki
- Porownanie hostingow Minecraft - shared hosting, jeśli VPS to za dużo
- Darmowy hosting - Aternos, Minehut, Oracle Cloud free tier
- Recenzja CraftServe - najlepszy polski shared hosting
- Jak założyć serwer - podstawy od zera
- Optymalizacja serwera - wycisnij 20 TPS z każdego VPS-a
- Pluginy serwerowe - niezbedne wtyczki
- Konfiguracja server.properties - szczegółowy opis każdego ustawienia
- Pobierz Paper - rekomendowana platforma serwerowa
Komentarze