Przejdź do treści
  • Część 2
  • Sprawdzono 29.10.2026

Jak uruchomić serwer Minecraft przez aaPanel i Docker?

aaPanel daje wygodny dostęp do plików, logów i kontenerów przez przeglądarkę, a Docker zamyka serwer Minecraft wraz z Javą w powtarzalnym środowisku. To rozwiązanie ma więcej elementów niż zwykła usługa systemowa, ale późniejszy restart, podgląd logów i zmiana konfiguracji są prostsze.

Dla kogo jest ta metoda?

Wybierz aaPanel i Docker, jeśli panel już działa na twoim VPS-ie albo wolisz zarządzać serwerem z przeglądarki. Jeżeli chcesz możliwie najmniej warstw i dobrze czujesz się w terminalu, instalacja Paper jako usługi systemowej z poprzedniej części serii pozostaje prostsza.

Co właściwie zainstalujemy?

Na VPS-ie będą działały trzy warstwy: Ubuntu, panel aaPanel oraz Docker. W Dockerze uruchomimy obraz itzg/minecraft-server, który pobiera wybrany typ serwera, dobiera Javę i zapisuje cały świat w trwałym katalogu na VPS-ie.

ElementZa co odpowiadaGdzie szukać problemu
aaPanelPanel, pliki, terminal, podgląd kontenerów i logówLogowanie do panelu, ustawienia bezpieczeństwa, moduł Docker
Docker ComposePort, pamięć, wersja serwera, automatyczny restart i katalog danychPlik compose.yaml oraz log kontenera
PaperWłaściwy serwer Minecraft i obsługa pluginów/www/minecraft/data/logs/latest.log

Kontener nie jest kopią zapasową. Jego usunięcie nie zabierze świata tylko dlatego, że katalog /data podłączymy do zwykłego katalogu na VPS-ie. Ten katalog nadal trzeba regularnie kopiować poza maszynę.

Zanim zaczniesz

  • Przygotuj VPS z Ubuntu, publicznym adresem IP i działającym logowaniem SSH.
  • Dla małej grupy rozsądny start to 2 vCPU i 6–8 GB RAM. W przykładzie oddajemy Javie 4 GB.
  • W zaporze dostawcy otwórz 25565/TCP dla graczy. Port panelu dopuść najlepiej tylko ze swojego publicznego IP.
  • Jeżeli na porcie 25565 działa już Paper uruchamiany przez systemd, nie włączaj równocześnie kontenera. Najpierw zrób kopię i zatrzymaj starą usługę.
  • Do wykonania instalacji potrzebujesz uprawnień administratora. Po wszystkim zachowaj działający dostęp SSH — panel nie powinien być jedyną drogą do serwera.

1. Zainstaluj aaPanel

aaPanel zaleca instalację na świeżym systemie; w bieżącej dokumentacji jako podstawowy wybór wskazuje Ubuntu 22.04, choć lista obsługiwanych systemów obejmuje także nowsze wydania. Zaloguj się przez SSH, przejdź na konto administratora poleceniem sudo -i i skopiuj aktualne polecenie instalacyjne z oficjalnej strony aaPanel. W dniu sprawdzania poradnika wyglądało ono tak:

URL=https://www.aapanel.com/script/install_panel_en.sh && if [ -f /usr/bin/curl ]; then curl -ksSO "$URL"; else wget --no-check-certificate -O install_panel_en.sh "$URL"; fi; bash install_panel_en.sh forum

Po instalacji zapisz adres panelu, jego port, bezpieczną ścieżkę wejścia, nazwę użytkownika i wygenerowane hasło. Te dane można później odczytać przez SSH poleceniem bt default.

Nie otwieraj wszystkich portów z komunikatu instalatora

Do samego Minecrafta potrzebujesz publicznie tylko 25565/TCP. Port panelu ogranicz do własnego IP w zaporze Oracle, Hetznera lub innego dostawcy. Porty WWW, FTP i baz danych otwieraj dopiero wtedy, gdy naprawdę uruchamiasz takie usługi.

2. Zabezpiecz panel przed instalacją gry

Wejdź do Settings → Security i wykonaj przynajmniej poniższe kroki:

  1. Ustaw własną, długą nazwę użytkownika oraz niepowtarzalne hasło.
  2. Zostaw włączony szyfrowany dostęp do panelu i docelowo skonfiguruj prawidłowy certyfikat TLS.
  3. Włącz Google Authenticator albo dodatkowe zabezpieczenie BasicAuth.
  4. Zachowaj losową Security Entrance; nie zmieniaj jej na łatwe /admin.
  5. Jeżeli masz stały adres, ustaw Authorized IP. Najpierw sprawdź go i nie zamykaj sesji SSH, aby nie odciąć sobie dostępu.
  6. Nie włączaj API ani tymczasowych kont, jeśli ich nie używasz.

Po zmianie portu panelu najpierw dodaj nową regułę w zaporze dostawcy, sprawdź logowanie w drugiej karcie, a dopiero później usuń starą regułę.

3. Zainstaluj Docker w aaPanel

W bocznym menu otwórz Docker. Jeśli komponent nie jest jeszcze dostępny, aaPanel zaproponuje jego instalację. Nie musisz instalować stosu LNMP lub LAMP tylko po to, aby uruchomić Minecrafta.

Po instalacji sprawdź w zakładce Docker → Overview, czy usługa działa. W Docker → Compose powinny być dostępne polecenia dodawania, uruchamiania, zatrzymywania i aktualizowania projektu.

Docker i UFW

Docker tworzy własne reguły sieciowe. Oficjalna dokumentacja ostrzega, że ruch do opublikowanego portu kontenera może zostać przekierowany zanim trafi do reguł UFW. Dlatego port 25565 kontroluj przede wszystkim w zaporze dostawcy chmury, a panel ogranicz do swojego IP. Nie wyłączaj mechanizmu iptables Dockera — bez zastępczej konfiguracji łatwo zepsuć sieć kontenerów.

4. Przygotuj trwały katalog świata

W terminalu aaPanel albo przez SSH wykonaj:

mkdir -p /www/minecraft/data
chown -R 1000:1000 /www/minecraft

Obraz uruchamia serwer domyślnie jako użytkownik o identyfikatorze 1000. Właściwy właściciel katalogu zapobiega błędom Permission denied. Wszystkie światy, ustawienia, logi i pluginy znajdą się później w /www/minecraft/data.

5. Dodaj projekt Compose

Przejdź do Docker → Compose → Add Compose. Nazwij projekt minecraft, a w polu konfiguracji wklej:

services:
  mc:
    image: itzg/minecraft-server:latest
    container_name: mc
    restart: unless-stopped
    tty: true
    stdin_open: true
    ports:
      - "25565:25565/tcp"
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      VERSION: "LATEST"
      MEMORY: "4G"
      TZ: "Europe/Warsaw"
      ONLINE_MODE: "TRUE"
      ENABLE_WHITELIST: "TRUE"
      ENFORCE_WHITELIST: "TRUE"
      VIEW_DISTANCE: "8"
      SIMULATION_DISTANCE: "6"
      MOTD: "Prywatny serwer Minecraft"
    volumes:
      - /www/minecraft/data:/data
    stop_grace_period: 1m

Ustawienie EULA: "TRUE" oznacza akceptację umowy licencyjnej Minecrafta — zrób to tylko po jej przeczytaniu. ONLINE_MODE: "TRUE" pozostawia oficjalne uwierzytelnianie graczy. Nie wyłączaj go, aby tworzyć tak zwany serwer non-premium.

VERSION: "LATEST" jest wygodne przy pierwszym, pustym świecie. Gdy serwer już działa, odczytaj wersję z logu i wpisz ją w tym miejscu na stałe. Dzięki temu zwykłe odtworzenie kontenera nie podniesie przypadkiem wersji gry przed aktualizacją pluginów. Nie przydzielaj Javie całej pamięci VPS-a — kontener, aaPanel i system także potrzebują RAM.

6. Uruchom serwer i przeczytaj log

Zapisz projekt i wybierz Start. Pierwsze uruchomienie trwa dłużej, ponieważ obraz pobiera Paper oraz właściwą Javę. Otwórz Compose Logs lub log kontenera mc. Serwer jest gotowy dopiero po komunikacie zawierającym Done.

W terminalu te same informacje pokaże polecenie:

docker logs --tail 200 -f mc

Z podglądu wychodzisz skrótem Ctrl+C; kontener nadal działa. W grze dodaj serwer pod adresem ADRES_IP:25565.

7. Dodaj graczy do białej listy

Lista jest włączona, ale na początku pusta. Dla każdego gracza wykonaj, podając jego nazwę profilu Java Edition:

docker exec mc rcon-cli whitelist add NICK_GRACZA

Jednej zaufanej osobie możesz nadać uprawnienia operatora:

docker exec mc rcon-cli op NICK_ADMINA

RCON działa wewnątrz kontenera, aby umożliwić bezpieczne zatrzymanie i wykonywanie poleceń. W Compose nie publikujemy portu 25575, więc konsola RCON nie jest wystawiona do internetu.

8. Jak przenieść istniejący serwer Paper?

Najpierw zatrzymaj starą usługę i kontener. Nigdy nie kopiuj aktywnego świata:

systemctl stop minecraft
docker stop mc
rsync -a /opt/minecraft/server/ /www/minecraft/data/
chown -R 1000:1000 /www/minecraft/data
docker start mc

Sprawdź log i wejdź do świata. Dopiero gdy wszystko działa, wyłącz automatyczny start starej usługi:

systemctl disable minecraft

Jeśli wcześniejszy serwer był Fabric, Forge albo NeoForge, nie uruchamiaj jego świata jako Paper bez analizy. Bloki i przedmioty dodane przez mody mogą zniknąć. Wróć wtedy do kopii i wybierz właściwy typ kontenera zgodnie z następną częścią serii.

9. Kopia zapasowa, aktualizacja i cofnięcie zmiany

Najprostsza pewna kopia powstaje przy zatrzymanym kontenerze:

docker stop mc
mkdir -p /www/backup/minecraft
tar -czf /www/backup/minecraft/minecraft-2026-10-29.tar.gz -C /www/minecraft data
docker start mc

Zmień datę w nazwie i pobierz archiwum na inny komputer. Kopia w /www/backup nie pomoże po utracie całego VPS-a. Harmonogram można później dodać w aaPanel Cron, ale najpierw wykonaj ręczne odtworzenie na katalogu testowym.

Przed aktualizacją zrób kopię, ustaw konkretną wersję Minecrafta, wybierz w Compose Update Image i obserwuj pełny start. Nie aktualizuj Paper, pluginów i świata jednocześnie bez możliwości cofnięcia. Powrót oznacza odtworzenie całego zgodnego zestawu: świata, konfiguracji, pluginów i poprzedniej wersji serwera.

Najczęstsze problemy

ObjawCo sprawdzić
Kontener ciągle się restartujeOtwórz pełny log. Najczęstsze przyczyny to brak akceptacji EULA, zła wersja albo brak zapisu do katalogu.
Permission deniedWykonaj chown -R 1000:1000 /www/minecraft i ponownie uruchom projekt.
Address already in usePort 25565 zajmuje stara usługa lub drugi kontener. Sprawdź ss -lntp oraz listę kontenerów.
Serwer działa, ale nie można wejśćSprawdź 25565/TCP w zaporze dostawcy, mapowanie portu oraz zgodność wersji klienta.
Proces został zabity kodem 137Zabrakło pamięci. Zmniejsz MEMORY, zostaw zapas na system i aaPanel albo zwiększ VPS.
Panel zniknął po zmianie zabezpieczeńPołącz się przez SSH. Polecenia bt default i menu bt pomagają odzyskać port, ścieżkę oraz dostęp.

Źródła

Poradnik przygotowany z pomocą AI; interfejs aaPanel, ustawienia obrazu i dokumentację sieci Dockera sprawdzono 29.10.2026. Przed instalacją porównaj polecenie oraz nazwy opcji z aktualną dokumentacją. Zgłoś różnicę lub błąd.

Komentarze

Opublikowane komentarze: 0

Wszystkie komentarze z modułu
Nikt jeszcze nie skomentował tej części. Masz pytanie albo coś nie działa? Napisz.
Komentarz po dodaniu będzie oczekiwał na zatwierdzenie przez administratora.