Discord
Wiki - Hosting

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.

Czas czytania: ~15 min Poziom: Zaawansowany

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:

Dostawca Lokalizacja 4 CPU / 8 GB Ping z PL Uwagi
Hetzner Falkenstein, Helsinki ~35 zl/mies. 15-25 ms Najlepszy stosunek ceny do wydajności
OVH Wroclaw, Gravelines ~45 zl/mies. 5-15 ms (PL) Centrum danych w Polsce!
Oracle Cloud Frankfurt, Amsterdam 0 zl (free tier) 20-35 ms Darmowy tier ARM - 24 GB RAM

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.

  1. Zaloz konto na hetzner.com/cloud - potrzebujesz karty kredytowej lub PayPal do weryfikacji.
  2. Utworz nowy projekt - nazwij go np. "minecraft" i kliknij "Add Server".
  3. Wybierz lokalizacje - Falkenstein (FSN1) daje najniższy ping do Polski. Norymberga (NBG1) tez jest OK.
  4. Wybierz system - Ubuntu 24.04 LTS (najnowszy LTS, wsparcie do 2029).
  5. 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.)
  6. Dodaj klucz SSH - Hetzner wymaga klucza SSH do połączenia. Jeśli nie masz, wygeneruj: ssh-keygen -t ed25519 i wklej zawartość pliku ~/.ssh/id_ed25519.pub.
  7. 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, ustaw PasswordAuthentication no i zrestartuj SSH: sudo systemctl restart sshd
  • Wyłącz logowanie root - PermitRootLogin no w 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-a
  • view-distance=10 - zmniejsz do 6-8 na slabszych VPS-ach
  • simulation-distance=6 - zmniejsz do 4-5 dla lepszego TPS
  • online-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ź status
  • sudo systemctl stop minecraft - zatrzymaj serwer
  • sudo systemctl restart minecraft - restartuj
  • screen -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-ach
  • entity-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

Komentarze