Discord
RYJON - nowy polski serwer KitPvP na Minecraft 1.21.4, graj na ryjon.pl
Wiki - Hosting

Serwer Minecraft na VPS - poradnik

Serwer Minecraft na VPS

VPS daje pełna kontrole nad serwerem i często wychodzi taniej niż shared hosting. Pokaże Ci, jak kupić VPS u Hetzner, OVH lub Oracle, zainstalować system i postawić 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 dostępem root. W przeciwieństwie 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, żeby wybrać VPS:

  • Pełna kontrola - instalujesz co chcesz, konfigurujesz jak chcesz. Własne flagi JVM, własny panel (Pterodactyl), wiele serwerów 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 pieniądze 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 spadków wydajności, bo ktoś obok uruchomił ciężki modpack.

Wymogi: VPS wymaga podstawowej znajomosci Linuxa. Musisz umieć połączyć się przez SSH, używać terminala, edytować pliki (nano/vim) i rozwiązywać problemy. Jeśli to Twój pierwszy kontakt z linia komend, zacznij od shared hostingu i wróć tu później.

Porównanie dostawców VPS

Trzech dostawców, których polecamy dla serwerów 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 zapłacisz ok. 35 zl/mies. Na Hetznerze postawisz serwer Minecraft, który pomieści 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 niż u Hetzner (~45 zl za porównywalne zasoby), a panel zarządzania jest bardziej skomplikowany. Ale jeśli potrzebujesz absolutnie najniższego 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. Szczegóły opisaliśmy w poradniku darmowego hostingu. Tutaj skupimy się 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, więc to nie problem).

Krok 1: Zakup VPS

Pokaże konfiguracje na przykładzie Hetzner, bo to nasz domyślny wybor. Kroki dla OVH i Oracle sa analogiczne.

  1. Załóż konto na hetzner.com/cloud - potrzebujesz karty kredytowej lub PayPal do weryfikacji.
  2. Utwórz 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 się w ciagu 30-60 sekund. Dostaniesz adres IP.

Wskazówka: Nie wybieraj planów "shared vCPU" (CX) do dużych serwerow. Minecraft jest jednowątkowy i potrzebuje szybkiego pojedynczego rdzenia. Plany "dedicated vCPU" (CCX) sa droższe, ale gwarantują wydajność CPU. Dla serwera 30+ graczy z pluginami warto doplacic.

Krok 2: Konfiguracja systemu

Połącz się z serwerem przez SSH:

ssh root@TWOJ_IP

Przy pierwszym połączeniu potwierdź fingerprint (wpisz "yes"). Teraz skonfiguruj podstawy:

Aktualizacja systemu

apt update && apt upgrade -y

Utwórz użytkownika dla Minecrafta

Nigdy nie uruchamiaj serwera Minecraft jako root. Stwórz dedykowanego użytkownika:

adduser minecraft
usermod -aG sudo minecraft

Ustaw hasło i zaloguj się jako nowy użytkownik:

su - minecraft

Zainstaluj podstawowe narzędzia

sudo apt install -y screen wget curl unzip htop
  • screen - pozwala uruchomić serwer w tle (nie zamknie się po rozlaczeniu SSH)
  • wget/curl - do pobierania plików
  • htop - monitor zasobów (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 wymagają 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 wyświetlić się 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: Używaj 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 podłączony do internetu jest celem atakow. Skonfiguruj firewall, żeby 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

# Jeśli 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 hasłem przez SSH - używaj 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, żeby port 25565 był otwarty na obu poziomach (systemowy + chmurowy).

Krok 5: Instalacja i konfiguracja Paper

Paper to rekomendowana platforma serwerowa - szybsza niż Spigot, kompatybilna z Bukkit/Spigot pluginami, z regularnymi aktualizacjami. Zainstaluj go:

# Zaloguj się jako użytkownik minecraft
su - minecraft

# Utwórz 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

Utwórz plik startowy z flagami Aikar (standard optymalizacji MC serwerów). 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 robią?

Flagi Aikar to zestaw optymalizacji garbage collectora Javy specjalnie dla serwerów Minecraft. Redukują "lag spikes" spowodowane przez GC pauses, co daje stabilniejsze 20 TPS. Używaj 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 zakończeniu zobaczysz "Done!" w konsoli. Serwer jest dostępny pod adresem TWOJ_IP:25565.

Żeby odłączyć się od sesji screen (serwer będzie działać w tle): naciśnij Ctrl+A, potem D. Żeby wrócić do konsoli: screen -r minecraft.

Konfiguracja server.properties

Najważniejsze ustawienia w server.properties:

# Otwórz edytor
nano server.properties
  • server-port=25565 - domyślny port (zmień, jeśli chcesz kilka serwerów)
  • max-players=30 - dostosuj do zasobów VPS-a
  • view-distance=10 - zmniejsz do 6-8 na słabszych 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 liście serwerów

Więcej o konfiguracji server.properties w naszym szczegółowym poradniku.

Krok 6: Autostart i monitoring

Chcesz, żeby serwer uruchamial się automatycznie po restarcie VPS-a? Utwórz usługę 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 się 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 - połącz się 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 niż 7 dni. Pamiętaj, żeby utworzyć folder na backupy: mkdir -p /home/minecraft/backups.

Bonus: Instalacja panelu Pterodactyl

Jeśli wolisz panel webowy zamiast terminala na co dzień, zainstaluj Pterodactyl. To ten sam panel, z którego korzystają Apex, Bisect i inne hostingi. Daje Ci interfejs do zarządzania plikami, konsole, harmonogram zadań 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 zarządzania 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. Użyj pluginu Chunky, żeby wygenerować świat z wyprzedzeniem:

/chunky radius 5000
/chunky start

Poczekaj, az zakończy (może zając godziny). Po pre-generacji serwer będzie znacznie plynniejszy.

Paper: config/paper-global.yml

  • max-auto-save-chunks-per-tick: 8 - rozłóż zapis chunków na więcej tików

Spigot: spigot.yml

  • mob-spawn-range: 6 - zmniejsz z domyślnego 8 na słabszych VPS-ach
  • entity-activation-range - zmniejsz zasięgi aktywacji mobów

Monitoring TPS

Zainstaluj plugin spark do monitorowania wydajności. Komenda /spark tps pokaże 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 pogorszyć wydajność przez dłuższe GC pauses.

Powiązane poradniki

Komentarze