Przejdź do treści
Aktualny kupon:10% zniżkiUżyj w zamówieniu

Pterodactyl Wings: dodanie węzła, alokacje i pierwszy serwer

Zainstaluj Wings i Dockera, dodaj węzeł w Panelu, skonfiguruj certyfikat, porty, alokacje i firewall i utwórz pierwszy serwer gier. Każde pole formularza objaśnione.

  • ekspert
  • ~60 min
  • Zaktualizowano 9.10.2026

Wings to usługa Pterodactyla, która uruchamia serwery gier w kontenerach Dockera na Twoim serwerze. Zainstalujemy ją, połączymy z Panelem, otworzymy potrzebne porty i utworzymy pierwszy serwer.

Czego potrzebujesz

  • Działający Pterodactyl Panel z HTTPS (poradnik)
  • VPS dla serwerów gier z Ubuntu 24.04 lub Debianem 13 (może być ten sam VPS co Panel)
  • Domena dla węzła: ta sama co Panel (panel.example.cz) albo własna (node.example.cz)
  • Połączenie SSH jako root
  • Około 60 minut

Jak to działa#

Panel to tylko interfejs WWW. Prawdziwą pracę wykonuje Wings na węźle (serwerze, na którym działają gry). Wings przyjmuje polecenia z Panelu, pobiera obrazy Dockera, uruchamia serwery gier w izolowanych kontenerach, pilnuje ich RAM i dysku oraz obsługuje konsolę i pliki.

Istotne jest, kto gdzie się łączy:

PołączeniePortProtokółKto się łączy
API Wings8080TCP (HTTPS)Panel i przeglądarka każdego użytkownika (konsola na żywo przez websocket, przesyłanie plików). Dlatego adres węzła musi być publicznie dostępny i mieć ważny certyfikat.
SFTP2022TCPUżytkownicy przesyłający pliki programem takim jak WinSCP lub FileZilla.
Porty gierzależnie od gry, na przykład 25565TCP i UDPGracze.

Serwery gier dostają wewnętrzną sieć Dockera pterodactyl_nw. Na VPS pojawia się interfejs sieciowy pterodactyl0 z adresem 172.18.0.1; kontenery docierają przez niego do samego serwera (użyjesz tego przy database hoście). Dane serwerów leżą w /var/lib/pterodactyl/volumes.

Sprawdzenie wirtualizacji#

Wings potrzebuje Dockera, a Docker pełnej wirtualizacji. VPS StormHost działają na KVM, który się nadaje. Sprawdzisz to przez:

bash
systemd-detect-virt
Wyniktext
kvm

Wynik openvz lub lxc oznaczałby, że Docker (a więc i Wings) najprawdopodobniej nie zadziała.

Instalacja Dockera#

Zainstaluj Dockera z oficjalnego repozytorium Dockera. Każde polecenie szczegółowo objaśnia poradnik Docker i Docker Compose; tutaj tylko kroki:

Ubuntu 24.04

bash
apt update
apt -y install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Debian 13

bash
apt update
apt -y install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Następnie włącz Dockera przy starcie i go przetestuj:

bash
systemctl enable --now docker
docker run --rm hello-world
  • systemctl enable --now docker – Docker startuje od razu, a potem przy każdym uruchomieniu VPS.
  • docker run --rm hello-world – pobiera i uruchamia kontener testowy; --rm usuwa go po zakończeniu. Zobaczysz tekst Hello from Docker!.

Pomiń krok „Enabling Swap” z dokumentacji

Oficjalna dokumentacja Wings opisuje zmianę w GRUB (swapaccount=1). Jest potrzebna tylko na jądrach starszych niż 6.1. Ubuntu 24.04 i Debian 13 mają nowsze jądra (sprawdź przez uname -r), więc ten krok pomiń.

Pobieranie Wings#

bash
mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
chmod u+x /usr/local/bin/wings
  • mkdir -p /etc/pterodactyl – katalog na konfigurację Wings.
  • curl -L -o /usr/local/bin/wings "…" – pobiera najnowsze wydanie Wings jako program /usr/local/bin/wings. -L podąża za przekierowaniami GitHuba.
  • $([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64") – wybiera właściwy plik dla architektury CPU: uname -m wypisuje x86_64 (typowe serwery), dla którego pobierany jest build amd64.
  • chmod u+x – pozwala właścicielowi (root) uruchamiać plik.

Kontrola: wings version wypisuje numer wersji.

Domena i certyfikat dla węzła#

Panel działa na HTTPS, więc Wings także musi używać HTTPS. Inaczej przeglądarka zablokowałaby połączenie z węzłem. Certyfikat jest powiązany z domeną węzła (pole FQDN w Panelu).

Ten sam VPS co Panel

Jeśli Wings działa na tym samym VPS co Panel, jako FQDN węzła użyj domeny Panelu (panel.example.cz). Certyfikat masz już z instalacji Panelu, a Wings znajdzie go w /etc/letsencrypt/live/panel.example.cz/. Nic więcej nie trzeba robić.

Osobny VPS dla węzła

  1. Utwórz rekord A dla node.example.cz z adresem IPv4 VPS węzła.

  2. Otwórz port 80 (TCP) w firewallu węzła; Let's Encrypt używa go do walidacji domeny. Zostaw go otwarty także później: każde automatyczne odnowienie certyfikatu przechodzi przez ten sam port.

  3. Zainstaluj Certbota: apt -y install certbot.

  4. Uzyskaj certyfikat. Na VPS węzła zwykle nie działa żaden serwer WWW, więc użyj trybu standalone, w którym Certbot na chwilę uruchamia własny serwer na porcie 80:

    bash
    certbot certonly --standalone -d node.example.cz
    • certonly – tylko uzyskuje certyfikat.
    • --standalone – walidacja przez tymczasowy serwer Certbota na porcie 80 (port nie może być zajęty przez inny program).
    • -d node.example.cz – domena węzła.

Jeśli na VPS węzła działa Nginx, zamiast --standalone użyj --nginx.

Po odnowieniu certyfikatu Wings trzeba zrestartować, inaczej używa dalej starego certyfikatu. Utwórz deploy hook (skrypt, który Certbot uruchamia po każdym udanym odnowieniu):

bash
cat > /etc/letsencrypt/renewal-hooks/deploy/restart-wings.sh <<'EOF'
#!/bin/sh
systemctl restart wings
EOF
chmod 755 /etc/letsencrypt/renewal-hooks/deploy/restart-wings.sh
  • Certbot uruchamia pliki z katalogu renewal-hooks/deploy po każdym odnowieniu certyfikatu.
  • systemctl restart wings – restartuje Wings. Nie zatrzymuje to działających serwerów gier; Wings po starcie łączy się z nimi ponownie.
  • chmod 755 – skrypt musi być wykonywalny.

Domena węzła nie może przechodzić przez proxy Cloudflare

Jeśli zarządzasz DNS w Cloudflare, rekord domeny węzła zostaw ustawiony na DNS only (szara chmurka). Na porcie 8080 Cloudflare przepuszcza tylko nieszyfrowane HTTP, a SFTP i portów gier w ogóle nie przepuszcza przez proxy. Jeśli węzeł używa tej samej domeny co Panel, zostaw całą domenę Panelu na szarej chmurce albo użyj dla węzła osobnej subdomeny.

Lokalizacja#

Każdy węzeł należy do lokalizacji. Lokalizacja to tylko etykieta do porządkowania węzłów (na przykład według centrum danych).

  1. W Panelu otwórz część administracyjną (ikona koła zębatego w prawym górnym rogu) i kliknij Locations po lewej.
  2. Kliknij Create New.
  3. Wypełnij Short Code, krótki identyfikator o długości 1–⁠60 znaków, na przykład cz-praha.
  4. Wypełnij Description, opis lokalizacji dla Ciebie i innych adminów, na przykład VPS w Pradze.
  5. Kliknij Create.

Węzeł w Panelu#

W części administracyjnej kliknij Nodes po lewej, a potem Create New. Wypełnij formularz według tabeli:

PoleCo wpisaćDlaczego i kiedy wybrać inaczej
NameNa przykład node-praha-1Nazwa dla Ciebie. Dozwolone są litery bez znaków diakrytycznych, cyfry, _, -, . i spacje.
DescriptionOpcjonalnieNotatka dla Ciebie.
LocationLokalizacja z poprzedniej sekcjiTylko kategoria.
Node VisibilityPublicPrivate zapobiega automatycznemu umieszczaniu serwerów na węźle (auto-deploy). Do normalnego użytku zostaw Public.
FQDNpanel.example.cz (ten sam VPS) lub node.example.czAdres, pod którym Panel i przeglądarki znajdują Wings. Przy użyciu SSL musi to być domena, nie adres IP.
Communicate Over SSLUse SSL ConnectionGdy Panel działa na HTTPS, nie da się wybrać niczego innego.
Behind ProxyNot Behind ProxyBehind Proxy tylko wtedy, gdy Wings stoi za proxy, które samo kończy TLS. Wings nie szuka wtedy certyfikatu. W tym poradniku tak nie jest.
Daemon Server File Directory/var/lib/pterodactyl/volumesGdzie przechowywane są dane serwerów gier. Zmieniaj tylko przy pracy z drugim dyskiem.
Total Memory (MiB)RAM VPS minus rezerwaIle RAM Panel może rozdać serwerom gier. Na VPS 8 GB, na którym działa też Panel, wpisz na przykład 6144 (6 GB). 1 GB = 1024 MiB.
Memory Over-Allocation (%)0O ile procent łączna RAM serwerów może przekroczyć Total Memory. 0 = nigdy, -1 = wyłącza kontrolę. Nadprzydział RAM prowadzi do awarii serwerów.
Total Disk Space (MiB)Wolne miejsce na dysku minus rezerwaNa przykład na dysku 100 GB wpisz 81920 (80 GB). Resztę zostaw dla systemu, obrazów Dockera i kopii zapasowych.
Disk Over-Allocation (%)0Tak samo jak dla pamięci.
Daemon Port8080Port API Wings. Zmieniaj tylko przy konflikcie z innym programem.
Daemon SFTP Port2022Port SFTP dla plików serwerów gier. Nigdy nie wpisuj 22; należy do serwera SSH VPS.

Kliknij Create Node. Panel otworzy szczegóły węzła.

Ile RAM zostawić systemowi

Łączną RAM VPS w MiB sprawdzisz przez free -m (wiersz Mem:, kolumna total). System, Docker i Wings potrzebują kilkuset MiB. Jeśli na VPS działa też Panel z MariaDB i Redisem, zostaw im co najmniej 1–⁠2 GB.

Konfiguracja Wings#

W szczegółach węzła otwórz zakładkę Configuration. Konfigurację przeniesiesz na VPS na jeden z dwóch sposobów.

Sposób A, automatyczny: kliknij Generate Token. Panel pokaże polecenie zaczynające się od cd /etc/pterodactyl && sudo wings configure --panel-url https://panel.example.cz --token …. Skopiuj je w całości i uruchom na VPS węzła. Wings pobierze konfigurację z Panelu.

Sposób B, ręczny:

  1. Na VPS otwórz plik:

    bash
    nano /etc/pterodactyl/config.yml
  2. Wklej cały blok z zakładki Configuration, zapisz (Ctrl+O, Enter) i zamknij (Ctrl+X).

Co jest w konfiguracji:

KluczCo oznacza
uuidUnikalny identyfikator węzła w Panelu.
token_id, tokenTajny klucz, którym Wings i Panel wzajemnie się uwierzytelniają. Kto go ma, steruje węzłem. Nie udostępniaj go ani nie publikuj na czatach czy forach.
api.host0.0.0.0 = API nasłuchuje na wszystkich adresach VPS.
api.portDaemon Port z formularza (8080).
api.ssl.enabledtrue, jeśli węzeł używa SSL i nie stoi za proxy.
api.ssl.cert, api.ssl.keyŚcieżka certyfikatu według FQDN, na przykład /etc/letsencrypt/live/panel.example.cz/fullchain.pem.
api.upload_limitNajwiększy plik (w MB), jaki można przesłać przez menedżer plików Panelu. Zmieniasz w ustawieniach węzła.
system.dataKatalog z danymi serwerów.
system.sftp.bind_portPort SFTP (2022).
remoteAdres Panelu, do którego raportuje Wings.

Przy pierwszym starcie Wings dopisuje do pliku kolejne wartości domyślne, na przykład ustawienia sieci Dockera (docker.network, adres 172.18.0.1) i serwery DNS dla kontenerów (1.1.1.1, 1.0.0.1).

Pierwsze uruchomienie w trybie debugowania#

Zanim uruchomisz w tle, wypróbuj Wings ręcznie, aby widzieć ewentualne błędy:

bash
wings --debug
  • --debug – szczegółowy log wszystkiego, co robi Wings.

Przy pierwszym starcie Wings tworzy sieć Dockera (creating missing pterodactyl0 interface…) i zgłasza, że nasłuchuje (configuring internal webserver). Potem otwórz Nodes w Panelu. Węzeł pokazuje zielone pulsujące serce = Panel połączył się z Wings. Czerwone serce oznacza, że połączenie nie działa (zobacz Rozwiązywanie problemów).

Gdy serce jest zielone, zatrzymaj Wings przez Ctrl+C.

Wings jako usługa#

Aby Wings działał stale i startował automatycznie po restarcie VPS, utwórz usługę systemd:

bash
nano /etc/systemd/system/wings.service
/etc/systemd/system/wings.serviceini
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target
LiniaCo robi
After=docker.serviceWings startuje dopiero po Dockerze.
Requires=docker.serviceWings nie wystartuje bez działającego Dockera.
PartOf=docker.serviceRestart lub zatrzymanie Dockera przenosi się na Wings.
User=rootWings potrzebuje uprawnień roota (steruje Dockerem i plikami serwerów).
WorkingDirectory=/etc/pterodactylKatalog roboczy z config.yml.
LimitNOFILE=4096Ile plików i połączeń Wings może mieć otwartych naraz.
PIDFile=Gdzie Wings zapisuje ID swojego procesu.
ExecStart=/usr/local/bin/wingsUruchamia program (bez --debug).
Restart=on-failureWings startuje ponownie po awarii.
StartLimitInterval=180, StartLimitBurst=30Ochrona przed nieskończoną pętlą restartów: najwyżej 30 startów w 180 sekund.
RestartSec=5sCzeka 5 sekund przed restartem.
WantedBy=multi-user.targetStartuje przy uruchomieniu VPS.

Włącz i uruchom usługę:

bash
systemctl enable --now wings
systemctl status wings

Zobaczysz Active: active (running). Serce węzła w Panelu pozostaje zielone.

Alokacje#

Alokacja to kombinacja adresu IP i portu, którą dostaje serwer gier. Każdy serwer potrzebuje co najmniej jednej (głównej); kolejne możesz dodać dla RCON, query lub pluginów.

  1. Znajdź publiczny adres IPv4 VPS. Znajdziesz go w strefie klienta w zakładce Sieć albo wypisze go:

    bash
    hostname -I | awk '{print $1}'
    • hostname -I – wypisuje wszystkie adresy IP VPS; awk '{print $1}' bierze pierwszy.
  2. W szczegółach węzła otwórz zakładkę Allocation.

  3. Po prawej w Assign New Allocations wypełnij pola według tabeli i kliknij Submit.

PoleCo wpisaćDlaczego
IP AddressPubliczny adres IPv4 VPS, na przykład 203.0.113.10Adres, na którym będą nasłuchiwać serwery. Nie używaj 127.0.0.1; gracze nie mogą się z nim połączyć.
IP AliasOpcjonalnie domena, na przykład mc.example.czTekst, który Panel pokazuje użytkownikom zamiast adresu IP. Nie wpływa na routing; domenę musisz skierować w DNS.
PortsPojedyncze porty lub zakresy oddzielone przecinkami, na przykład 25565-25574Porty muszą być powyżej 1024 i najwyżej 65535; jeden zakres może mieć najwyżej 1000 portów.

Typowe porty domyślne: Minecraft Java 25565, Rust 28015 (i 28016 dla RCON), FiveM 30120. Dla kilku serwerów tej samej gry dodaj zakres; każdy serwer dostaje inny port.

Firewall#

Otwórz porty w firewallu w strefie klienta (poradnik: Firewall w strefie klienta). Jeśli ruch przychodzący jest ustawiony na Blokuj wszystko poza dozwolonym, dodaj reguły Przychodzący · Zezwól:

ProtokółPortDo czego
TCP8080API Wings (Panel i przeglądarki użytkowników)
TCP2022SFTP
TCPzakres alokacji, na przykład 25565:25574Serwery gier
UDPzakres alokacji, na przykład 25565:25574Serwery gier i query

Zakresy portów zapisuje się inaczej

W Panelu Pterodactyla zakres zapisuje się myślnikiem (25565-25574); w firewallu strefy klienta dwukropkiem (25565:25574).

Jeśli używasz UFW na VPS, zezwól w nim na API i SFTP:

bash
ufw allow 8080/tcp
ufw allow 2022/tcp

Portów gier nie musisz zezwalać w UFW. Docker publikuje porty kontenerów własnymi regułami, które omijają UFW (szczegóły w poradniku Firewall UFW). Porty gier ograniczaj więc firewallem w strefie klienta; stoi przed VPS i dotyczy wszystkiego.

Pierwszy serwer#

  1. W części administracyjnej kliknij Servers, a potem Create New.
  2. Wypełnij formularz według tabeli i kliknij Create Server na dole.
PoleCo wpisaćDlaczego
Server NameNa przykład SurvivalNazwa serwera w Panelu.
Server OwnerE-mail istniejącego użytkownika PaneluKto będzie zarządzać serwerem. Użytkowników tworzysz w Users.
Server DescriptionOpcjonalnieOpis dla Ciebie.
Start Server when InstalledzaznaczoneSerwer startuje sam po instalacji.
NodeTwój węzełGdzie serwer będzie działać.
Default AllocationWolna alokacja, na przykład 203.0.113.10:25565Główne IP i port serwera.
Additional Allocation(s)Opcjonalnie kolejne portyNa przykład dla RCON lub query.
Database Limit0 do 2Ile baz danych użytkownik może utworzyć sam. Działa dopiero po skonfigurowaniu database hosta.
Allocation Limit0 do 2Ile dodatkowych portów użytkownik może dodać sam.
Backup LimitNa przykład 2Ile kopii zapasowych użytkownik może utworzyć w Panelu. Kopie leżą na dysku węzła (/var/lib/pterodactyl/backups) i zajmują miejsce.
CPU Limit (%)Na przykład 200100 = jeden wątek CPU, 200 = dwa. 0 = bez limitu (serwer może wysycić cały CPU i spowolnić pozostałe).
CPU PinningpustePrzypięcie do konkretnych rdzeni, tylko dla zaawansowanych.
Memory (MiB)Na przykład 4096Ile RAM dostaje kontener. 0 = bez limitu, czego nie zalecamy.
Swap (MiB)00 wyłącza swap dla kontenera, -1 pozwala na nieograniczony swap. Serwer gier w swapie jest wolny.
Disk Space (MiB)Na przykład 20480Limit miejsca. Gdy działający serwer go przekroczy, Wings bezpiecznie go zatrzymuje. 0 = bez limitu.
Block IO Weight500 (domyślnie)Priorytet dysku względem innych kontenerów (10–⁠1000).
Enable OOM Killerzostaw niezaznaczoneZaznaczone = proces serwera jest zabijany po przekroczeniu RAM. Niezaznaczone = proces nie jest zabijany, ale może zamarznąć.
Wybór gry (dwa menu jedno pod drugim)Na przykład Minecraft, a potem PaperPierwsze menu to kategoria gry, drugie konkretny typ serwera.
Skip … Install Scriptzostaw niezaznaczoneSkrypt instalacyjny pobiera pliki gry. Pominąć go chcesz tylko przy własnych instalacjach.
Docker ImageNa przykład Java 21Środowisko, w którym działa serwer. Dla Minecrafta wersja Javy musi pasować do wersji gry (zobacz wskazówkę niżej).
Startup CommandzostawPolecenie startowe, wypełnione dla gry.
Service VariablesNa przykład Minecraft Version latest, Build Number latestUstawienia instalacji i uruchamiania gry.

Wersja Javy dla Minecrafta

Minecraft do 1.16.5 potrzebuje Javy 8, 1.17 Javy 16, 1.18 do 1.20.4 Javy 17, 1.20.5 do 1.21.x Javy 21, a 26.x Javy 25. Jeśli serwer startuje z błędem UnsupportedClassVersionError, zmień Docker Image w ustawieniach serwera na nowszą Javę.

  1. Wings pobiera obraz Dockera i rozpoczyna instalację. Postęp śledź w konsoli serwera: kliknij nazwę Panelu w lewym górnym rogu (przenosi z części administracyjnej do przeglądu serwerów) i otwórz nowy serwer. Jeśli serwer należy do innego użytkownika, przełącz w przeglądzie przełącznik Showing your servers na Showing others' servers.
  2. Przy Minecrafcie po pierwszym starcie pojawi się okno Accept Minecraft® EULA. Kliknięcie I Accept oznacza zgodę na warunki licencji Minecrafta i serwer startuje.

Weryfikacja#

  • Węzeł w Nodes pokazuje zielone serce.
  • Po instalacji serwer działa, a w konsoli widzisz jego wyjście (przy Minecrafcie linię Done (…)! For help, type "help").
  • W grze możesz połączyć się z 203.0.113.10:25565 (albo z IP Alias).
  • Przez SFTP możesz połączyć się z adresem węzła i portem 2022 (na przykład sftp://panel.example.cz:2022). Adres i nazwę użytkownika znajdziesz w zakładce Settings serwera w SFTP Details (Server Address, Username). Hasło jest takie samo jak do Panelu.

Kontrola na VPS:

bash
systemctl is-active docker wings
docker ps
  • docker ps – wypisuje działające kontenery; każdy serwer gier to jeden kontener.

Aktualizacja Wings#

Wings aktualizuj zawsze po aktualizacji Panelu (kroki dla Panelu):

bash
systemctl stop wings
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
chmod u+x /usr/local/bin/wings
systemctl restart wings
  • systemctl stop wings – zatrzymuje Wings, aby dało się nadpisać program. Działające serwery gier nie są dotknięte.
  • curl … i chmod … – to samo co przy instalacji; pobierają najnowszą wersję.
  • systemctl restart wings – uruchamia nową wersję; otwarte połączenia łączą się ponownie same.

Rozwiązywanie problemów#

Czerwone serce przy węźle#

Panel nie mógł dotrzeć do Wings. Przejdź przyczyny od najczęstszych:

  1. Czy Wings działa? systemctl status wings. Jeśli nie, uruchom wings --debug i przeczytaj błąd.
  2. Czy port 8080 jest otwarty w firewallu strefy klienta i w UFW?
  3. Czy FQDN węzła wskazuje na właściwe IP? getent hosts node.example.cz.
  4. Czy certyfikat działa? Na VPS Panelu uruchom curl https://node.example.cz:8080. Odpowiedź {"error":"The required authorization heads were not present in the request."} jest w porządku: Wings odpowiada, tylko nie wysłano tokenu logowania. Błąd certyfikatu (SSL certificate problem) oznacza zły lub wygasły certyfikat.
  5. Czy domena węzła przechodzi przez proxy Cloudflare (pomarańczowa chmurka)? Przełącz ją na DNS only.
  6. Czy config.yml zgadza się z tym, co pokazuje zakładka Configuration w Panelu? Usunięcie i ponowne utworzenie węzła zmienia token.
  7. Sprawdź, czy rozszerzenie przeglądarki, takie jak AdBlock, nie blokuje połączenia.

failed to configure HTTPS server#

Wings nie znalazł certyfikatu. Wyjście zwykle zawiera też no such file or directory ze ścieżką. Ścieżka w config.yml (api.ssl.cert) musi zgadzać się z posiadanym certyfikatem (certbot certificates). Jeśli zmieniono FQDN węzła, uzyskaj certyfikat także dla nowej domeny.

address already in use#

Port 8080 lub 2022 zajmuje już inny program. Ustal który:

bash
ss -tulpn | grep -E ':8080|:2022'
  • ss -tulpn – wypisuje nasłuchujące porty (TCP i UDP) i trzymające je programy.

Przenieś program gdzie indziej albo zmień Daemon Port w ustawieniach węzła, skopiuj nową konfigurację i zrestartuj Wings.

Konsola serwera się nie łączy#

Przeglądarka pokazuje Failed to connect to websocket instance after multiple attempts: try refreshing the page. Przeglądarka nie mogła dotrzeć do FQDN:8080. Przyczyny są takie same jak przy czerwonym sercu, ale port 8080 musi działać też z Twojego komputera, nie tylko z Panelu. Otwórz w przeglądarce https://node.example.cz:8080. Jeśli strona się nie ładuje, problem jest w firewallu, DNS lub certyfikacie.

Instalacja serwera nie udaje się przy pobieraniu#

Konsola instalacji pokazuje komunikaty typu Could not resolve host. Kontenery nie mają działającego DNS. Domyślnie Wings daje im serwery 1.1.1.1 i 1.0.0.1. Serwery DNS VPS znajdziesz przez resolvectl status (linie DNS Servers) albo, jeśli polecenie nie istnieje na Debianie, w /etc/resolv.conf (linie nameserver). Wpisz je do /etc/pterodactyl/config.yml w miejsce domyślnych (w docker: › network: › dns:). Nie używaj 127.0.0.53; działa tylko na samym VPS, nie w kontenerze. Potem zrestartuj Wings: systemctl restart wings.

Serwer nie powstaje, Panel zgłasza brak miejsca lub pamięci#

Łączna RAM lub dysk serwerów przekroczyłyby Total Memory lub Total Disk Space węzła. Podnieś wartości w ustawieniach węzła (zakładka Settings), jeśli VPS naprawdę ma pojemność, albo obniż limity serwerów.

Serwer po chwili sam się wyłącza#

Przekroczył limit dysku (Wings bezpiecznie go zatrzymuje) albo zalał konsolę wyjściem (ochrona przed floodem). Sprawdź w Panelu zużycie dysku serwera i wyjście konsoli przed wyłączeniem.

Podsumowanie

  • Wings działa jako usługa wings; dane serwerów są w /var/lib/pterodactyl/volumes.
  • Węzeł potrzebuje domeny z ważnym certyfikatem i portu 8080 dostępnego z internetu; domena nie może przechodzić przez proxy Cloudflare.
  • SFTP działa na porcie 2022, nigdy na 22.
  • Alokacja = publiczne IP + port; w Panelu zakres zapisuje się myślnikiem, w firewallu strefy klienta dwukropkiem.
  • Docker otwiera porty gier poza UFW; ograniczaj je firewallem w strefie klienta.
  • Po aktualizacji Panelu zaktualizuj też Wings.

Wyszukiwanie w poradnikach