Wings is de service van Pterodactyl die op de server gameservers in Docker-containers draait. We installeren Wings, koppelen het aan het Panel, openen de benodigde poorten en maken de eerste server aan.
Wat je nodig hebt
- Een werkend Pterodactyl Panel met HTTPS (handleiding)
- Een VPS voor de gameservers met Ubuntu 24.04 of Debian 13 (dat mag dezelfde VPS zijn als die van het Panel)
- Een domein voor de node: hetzelfde als dat van het Panel (
panel.example.cz), of een eigen domein (node.example.cz) - Een SSH-verbinding als root
- Ongeveer 60 minuten
Hoe het werkt#
Het Panel is alleen een webinterface. Het echte werk doet Wings op de node (de server waarop de spellen draaien). Wings krijgt opdrachten van het Panel, downloadt Docker-images, draait gameservers in geïsoleerde containers, bewaakt hun RAM en schijfruimte en verzorgt de console en de bestanden.
Het is belangrijk wie waarmee verbinding maakt:
| Verbinding | Poort | Protocol | Wie verbinding maakt |
|---|---|---|---|
| API van Wings | 8080 | TCP (HTTPS) | Het Panel en de browsers van alle gebruikers (live console via websocket, bestanden uploaden). Daarom moet het adres van de node openbaar bereikbaar zijn en een geldig certificaat hebben. |
| SFTP | 2022 | TCP | Gebruikers die bestanden uploaden met een programma als WinSCP of FileZilla. |
| Gamepoorten | afhankelijk van het spel, bijvoorbeeld 25565 | TCP en UDP | Spelers. |
De gameservers krijgen het interne Docker-netwerk pterodactyl_nw. Op de VPS verschijnt de netwerkinterface pterodactyl0 met het adres 172.18.0.1, waarlangs de containers de server zelf zien (dat gebruik je bij de databasehost). De gegevens van de servers staan in de map /var/.
De virtualisatie controleren#
Wings heeft Docker nodig en Docker heeft volwaardige virtualisatie nodig. Een VPS bij StormHost draait op KVM, en dat voldoet. Je kunt het controleren met het commando:
systemd-detect-virtkvmDe uitkomsten openvz of lxc zouden betekenen dat Docker (en dus Wings) waarschijnlijk niet werkt.
Docker installeren#
Installeer Docker uit de officiële repository van Docker. Elk commando is uitgebreid uitgelegd in de handleiding Docker en Docker Compose, hier staat alleen de korte werkwijze:
Ubuntu 24.04
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-pluginDebian 13
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-pluginLaat Docker daarna meestarten met het systeem en controleer of het werkt:
systemctl enable --now docker
docker run --rm hello-worldsystemctl enable --now docker– Docker start meteen en daarna bij elke start van de VPS.docker run --rm hello-world– downloadt en start een testcontainer;--rmverwijdert die na afloop. Je ziet de tekstHello from Docker!.
Sla de stap “Enabling Swap” uit de documentatie over
De officiële documentatie van Wings beschrijft een aanpassing van GRUB (swapaccount=1). Die is alleen nodig bij kernels ouder dan 6.1. Ubuntu 24.04 en Debian 13 hebben allebei een nieuwere kernel (dat controleer je met het commando uname -r), sla de stap daarom over.
Wings downloaden#
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/wingsmkdir -p /etc/pterodactyl– de map voor de configuratie van Wings.curl -L -o /usr/local/bin/wings "…"– downloadt de nieuwste release van Wings als het programma/usr/local/bin/wings.-Lvolgt de omleiding van GitHub.$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")– kiest het juiste bestand op basis van de processorarchitectuur:uname -mtoontx86_64(gewone servers), waarvoor de versieamd64wordt gedownload.chmod u+x– staat de eigenaar (root) toe het bestand uit te voeren.
Controle: wings version toont het versienummer.
Domein en certificaat voor de node#
Het Panel draait op HTTPS, dus moet Wings ook HTTPS gebruiken. Anders zou de browser de verbinding met de node blokkeren. Het certificaat is gebonden aan het domein van de node (in het Panel het veld FQDN).
Dezelfde VPS als het Panel
Draait Wings op dezelfde VPS als het Panel, gebruik dan het domein van het Panel (panel.example.cz) als FQDN van de node. Het certificaat heb je al van de installatie van het Panel en Wings vindt het op het pad /etc/. Verder hoef je niets te doen.
Aparte VPS voor de node
Maak een
A-record aan voornode.example.czmet het IPv4-adres van de VPS van de node.Open poort
80(TCP) in de firewall van de node, Let's Encrypt verifieert het domein via die poort. Laat de poort ook daarna open: via dezelfde poort verloopt elke automatische verlenging van het certificaat.Installeer Certbot:
apt -y install certbot.Vraag het certificaat aan. Op de VPS van de node draait meestal geen webserver, gebruik daarom de standalone-modus, waarin Certbot even een eigen server op poort 80 start:
bash certbot certonly --standalone -d node.example.czcertonly– vraagt alleen het certificaat aan.--standalone– verificatie via een tijdelijke server van Certbot op poort 80 (de poort mag niet door een ander programma bezet zijn).-d node.example.cz– het domein van de node.
Draait er op de VPS van de node Nginx, gebruik dan in plaats van --standalone de optie --nginx.
Na een verlenging van het certificaat moet Wings worden herstart, anders blijft het het oude certificaat gebruiken. Maak een deploy hook aan (een script dat Certbot na elke geslaagde verlenging uitvoert):
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- Een bestand in de map
renewal-hooks/deployvoert Certbot uit na elke verlenging van het certificaat. systemctl restart wings– herstart Wings. Draaiende gameservers zet je daarmee niet uit, Wings maakt er na de start opnieuw verbinding mee.chmod 755– het script moet uitvoerbaar zijn.
Het domein van de node mag niet via de proxy van Cloudflare lopen
Beheer je de DNS in Cloudflare, laat het record van het domein van de node dan op DNS only staan (grijs wolkje). Cloudflare geeft op poort 8080 alleen onversleuteld HTTP door en laat SFTP en gamepoorten niet door zijn proxy. Loopt de node via hetzelfde domein als het Panel, laat dan het hele domein van het Panel op het grijze wolkje staan, of gebruik voor de node een apart subdomein.
Locatie#
Elke node hoort bij een locatie. Een locatie is alleen een label om nodes te ordenen (bijvoorbeeld per datacenter).
- Open in het Panel het beheergedeelte (het tandwielpictogram rechtsboven) en klik links op Locations.
- Klik op Create New.
- Vul Short Code in, een korte aanduiding van 1–60 tekens, bijvoorbeeld
cz-praha. - Vul Description in, een omschrijving van de locatie voor jou en andere beheerders, bijvoorbeeld
VPS in Praag. - Klik op Create.
De node in het Panel#
Klik in het beheergedeelte links op Nodes en daarna op Create New. Vul het formulier in volgens de tabel:
| Veld | Wat je invult | Waarom, en wanneer anders |
|---|---|---|
| Name | Bijvoorbeeld node-praha-1 | Een naam voor jezelf. Toegestaan zijn letters zonder accenten, cijfers, _, -, . en een spatie. |
| Description | Optioneel | Een notitie voor jezelf. |
| Location | De locatie uit het vorige hoofdstuk | Alleen een categorie. |
| Node Visibility | Public | Private verbiedt het automatisch plaatsen van servers op de node (auto-deploy). Laat het voor normaal gebruik op Public staan. |
| FQDN | panel.example.cz (dezelfde VPS) of node.example.cz | Het adres waarop het Panel en de browsers Wings vinden. Het moet een domein zijn, geen IP-adres, als je SSL gebruikt. |
| Communicate Over SSL | Use SSL Connection | Als het Panel op HTTPS draait, kun je niet eens iets anders kiezen. |
| Behind Proxy | Not Behind Proxy | Behind Proxy alleen als er vóór Wings een proxy staat die zelf TLS afhandelt. Wings zoekt dan geen certificaat. In deze handleiding is dat niet zo. |
| Daemon Server File Directory | /var/ | Waar de gegevens van de gameservers komen te staan. Wijzig dit alleen als je met een tweede schijf werkt. |
| Total Memory (MiB) | Het RAM van de VPS min een reserve | Hoeveel RAM het Panel over de gameservers mag verdelen. Vul op een VPS met 8 GB waarop ook het Panel draait bijvoorbeeld 6144 in (6 GB). 1 GB = 1024 MiB. |
| Memory Over-Allocation (%) | 0 | Met hoeveel procent de som van het RAM van de servers Total Memory mag overschrijden. 0 = nooit, -1 = schakelt de controle uit. Overbelasting van het RAM leidt tot crashes van servers. |
| Total Disk Space (MiB) | De vrije schijfruimte min een reserve | Vul bij een schijf van 100 GB bijvoorbeeld 81920 in (80 GB). Laat de rest over voor het systeem, Docker-images en back-ups. |
| Disk Over-Allocation (%) | 0 | Hetzelfde als bij het geheugen. |
| Daemon Port | 8080 | De poort van de API van Wings. Wijzig dit alleen bij een conflict met een ander programma. |
| Daemon SFTP Port | 2022 | De SFTP-poort voor de bestanden van de gameservers. Vul nooit 22 in, die hoort bij de SSH-server van de VPS. |
Klik op Create Node. Het Panel opent de detailpagina van de node.
Hoeveel RAM je voor het systeem overlaat
Het totale RAM van de VPS in MiB zie je met het commando free -m (de regel Mem:, de kolom total). Het systeem, Docker en Wings hebben een paar honderd MiB nodig. Draait op de VPS ook het Panel met MariaDB en Redis, laat daar dan minstens 1–2 GB voor over.
Wings configureren#
Open op de detailpagina van de node het tabblad Configuration. De configuratie krijg je op een van twee manieren op de VPS.
Manier A, automatisch: Klik op Generate Token. Het Panel toont een commando dat begint met cd /etc/pterodactyl && sudo wings configure --panel-url https://panel.example.cz --token …. Kopieer het helemaal en voer het uit op de VPS van de node. Wings haalt de configuratie zelf op bij het Panel.
Manier B, handmatig:
Open op de VPS het bestand:
bash nano /etc/pterodactyl/config.ymlPlak de hele inhoud van het blok op het tabblad Configuration erin, sla op (Ctrl+O, Enter) en sluit af (Ctrl+X).
Wat er in de configuratie staat:
| Sleutel | Wat het betekent |
|---|---|
uuid | De unieke aanduiding van de node in het Panel. |
token_id, token | De geheime sleutel waarmee Wings en het Panel elkaar verifiëren. Wie die heeft, bestuurt de node. Deel hem niet en stuur hem niet in een chat of naar een forum. |
api.host | 0.0.0.0 = de API luistert op alle adressen van de VPS. |
api.port | De Daemon Port uit het formulier (8080). |
api.ssl.enabled | true als de node SSL gebruikt en niet achter een proxy staat. |
api.ssl.cert, api.ssl.key | Het pad naar het certificaat op basis van de FQDN, bijvoorbeeld /etc/. |
api.upload_limit | Het grootste bestand (in MB) dat je via het bestandsbeheer in het Panel kunt uploaden. Je wijzigt dit in de instellingen van de node. |
system.data | De map met de gegevens van de servers. |
system.sftp.bind_port | De SFTP-poort (2022). |
remote | Het adres van het Panel waarbij Wings zich meldt. |
Bij de eerste start vult Wings het bestand aan met meer standaardwaarden, bijvoorbeeld de instellingen van het Docker-netwerk (docker.network, het adres 172.18.0.1) en de DNS-servers voor de containers (1.1.1.1, 1.0.0.1).
De eerste start in debugmodus#
Probeer Wings eerst handmatig uit voordat je het op de achtergrond laat draaien, zodat je eventuele fouten ziet:
wings --debug--debug– gedetailleerde uitvoer van alles wat Wings doet.
Bij de eerste start maakt Wings het Docker-netwerk aan (creating missing pterodactyl0 interface…) en meldt het dat het luistert (configuring internal webserver). Open daarna in het Panel Nodes. Bij de node verschijnt een groen kloppend hartje = het Panel heeft verbinding met Wings. Een rood hartje betekent dat de verbinding niet werkt (zie Als iets niet werkt).
Is het hartje groen, sluit Wings dan af met de toetsen Ctrl+C.
Wings als service#
Om Wings permanent te laten draaien en na een herstart van de VPS vanzelf te laten starten, maak je een systemd-service aan:
nano /etc/systemd/system/wings.service[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| Regel | Wat het doet |
|---|---|
After=docker.service | Wings start pas na Docker. |
Requires=docker.service | Zonder een draaiende Docker start Wings niet. |
PartOf=docker.service | Een herstart of stop van Docker gaat ook over op Wings. |
User=root | Wings heeft rootrechten nodig (het bestuurt Docker en de bestanden van de servers). |
WorkingDirectory= | De werkmap met config.yml. |
LimitNOFILE=4096 | Hoeveel bestanden en verbindingen Wings tegelijk open mag hebben. |
PIDFile= | Waar Wings het nummer van zijn proces wegschrijft. |
ExecStart= | Het starten van het programma (zonder --debug). |
Restart=on-failure | Bij een crash start Wings opnieuw. |
StartLimitInterval=180, StartLimitBurst=30 | Bescherming tegen een eindeloze lus van herstarts: hooguit 30 starts in 180 seconden. |
RestartSec=5s | Wacht 5 seconden voor de herstart. |
WantedBy= | Starten bij de start van de VPS. |
Schakel de service in en start die:
systemctl enable --now wings
systemctl status wingsJe ziet Active: active (running). Het hartje bij de node in het Panel blijft groen.
Allocaties#
Een allocatie is de combinatie van een IP-adres en een poort die een gameserver krijgt. Elke server heeft er minstens één nodig (de primaire), meer kun je toevoegen voor RCON, query of plugins.
Zoek het openbare IPv4-adres van de VPS op. Je vindt het in je klantaccount op het tabblad Netwerk, of je toont het met:
bash hostname -I | awk '{print $1}'hostname -I– toont alle IP-adressen van de VPS;awk '{print $1}'neemt daarvan het eerste.
Open op de detailpagina van de node het tabblad Allocation.
Vul rechts in het gedeelte Assign New Allocations de velden in volgens de tabel en klik op Submit.
| Veld | Wat je invult | Waarom |
|---|---|---|
| IP Address | Het openbare IPv4-adres van de VPS, bijvoorbeeld 203.0.113.10 | Op dit adres gaan de servers luisteren. Gebruik niet 127.0.0.1, daarmee kunnen spelers geen verbinding maken. |
| IP Alias | Optioneel een domein, bijvoorbeeld mc.example.cz | De tekst die het Panel aan gebruikers toont in plaats van het IP-adres. Het heeft geen invloed op de routering, het domein moet je in de DNS laten verwijzen. |
| Ports | Losse poorten of bereiken, gescheiden door een komma, bijvoorbeeld 25565-25574 | Poorten moeten hoger zijn dan 1024 en hooguit 65535, één bereik heeft hooguit 1000 poorten. |
Gebruikelijke standaardpoorten: Minecraft Java 25565, Rust 28015 (en 28016 voor RCON), FiveM 30120. Voeg voor meerdere servers van hetzelfde spel een bereik toe, elke server krijgt een andere poort.
Firewall#
Open de poorten in de firewall in je klantaccount (handleiding: Firewall in je klantaccount). Staat het inkomende verkeer in de modus Alles blokkeren behalve wat is toegestaan, voeg dan regels Inkomend · Toestaan toe:
| Protocol | Poort | Waarvoor |
|---|---|---|
| TCP | 8080 | De API van Wings (het Panel en de browsers van gebruikers) |
| TCP | 2022 | SFTP |
| TCP | het bereik van de allocaties, bijvoorbeeld 25565:25574 | Gameservers |
| UDP | het bereik van de allocaties, bijvoorbeeld 25565:25574 | Gameservers en query |
Een poortbereik schrijf je op twee manieren
In het Panel van Pterodactyl schrijf je een bereik met een streepje (25565-25574), in de firewall van je klantaccount met een dubbele punt (25565:25574).
Gebruik je op de VPS UFW, sta de API en SFTP daar dan in toe:
ufw allow 8080/tcp
ufw allow 2022/tcpDe gamepoorten hoef je in UFW niet toe te staan. Docker publiceert de poorten van containers met eigen regels, die UFW omzeilen (details in de handleiding Firewall UFW). Beperk de gamepoorten daarom met de firewall in je klantaccount, die staat vóór de VPS en geldt voor alles.
De eerste server#
- Klik in het beheergedeelte op Servers en daarna op Create New.
- Vul het formulier in volgens de tabel en klik onderaan op Create Server.
| Veld | Wat je invult | Waarom |
|---|---|---|
| Server Name | Bijvoorbeeld Survival | De naam van de server in het Panel. |
| Server Owner | Het e-mailadres van een bestaande gebruiker van het Panel | Wie de server gaat beheren. Een gebruiker maak je aan onder Users. |
| Server Description | Optioneel | Een omschrijving voor jezelf. |
| Start Server when Installed | aanvinken | De server start na de installatie vanzelf. |
| Node | Jouw node | Waar de server gaat draaien. |
| Default Allocation | Een vrije allocatie, bijvoorbeeld 203.0.113.10:25565 | Het primaire IP-adres en de primaire poort van de server. |
| Additional Allocation(s) | Optioneel meer poorten | Bijvoorbeeld voor RCON of query. |
| Database Limit | 0 tot 2 | Hoeveel databases de gebruiker zelf mag aanmaken. Werkt pas nadat je een databasehost hebt ingesteld. |
| Allocation Limit | 0 tot 2 | Hoeveel extra poorten de gebruiker zelf mag toevoegen. |
| Backup Limit | Bijvoorbeeld 2 | Hoeveel back-ups de gebruiker in het Panel mag maken. De back-ups worden op de schijf van de node opgeslagen (/var/) en nemen ruimte in. |
| CPU Limit (%) | Bijvoorbeeld 200 | 100 = één processorthread, 200 = twee. 0 = geen beperking (de server kan de hele processor belasten en de andere vertragen). |
| CPU Pinning | leeg | Vastzetten op bepaalde cores, alleen voor gevorderden. |
| Memory (MiB) | Bijvoorbeeld 4096 | Hoeveel RAM de container krijgt. 0 = geen beperking, dat raden we af. |
| Swap (MiB) | 0 | 0 schakelt swap voor de container uit, -1 staat onbeperkte swap toe. Een gameserver in swap is traag. |
| Disk Space (MiB) | Bijvoorbeeld 20480 | De limiet voor de schijfruimte. Overschrijdt een draaiende server die, dan stopt Wings hem veilig. 0 = geen limiet. |
| Block IO Weight | 500 (standaard) | De prioriteit van de schijf ten opzichte van andere containers (10–1000). |
| Enable OOM Killer | niet aanvinken | Aangevinkt = bij overschrijding van het RAM wordt het proces van de server beëindigd. Niet aangevinkt = het proces wordt niet beëindigd, maar kan vastlopen. |
| De keuze van het spel (twee keuzelijsten onder elkaar) | Bijvoorbeeld Minecraft en daarna Paper | De eerste keuzelijst is de categorie van spellen, de tweede het concrete type server. |
| Skip … Install Script | niet aanvinken | Het installatiescript downloadt de bestanden van het spel. Overslaan wil je alleen bij eigen installaties. |
| Docker Image | Bijvoorbeeld Java 21 | De omgeving waarin de server draait. Bij Minecraft moet de versie van Java passen bij de versie van het spel (zie de tip hieronder). |
| Startup Command | laten staan | Het startcommando, vooraf ingevuld op basis van het spel. |
| Service Variables | Bijvoorbeeld Minecraft Version latest, Build Number latest | De instellingen voor de installatie en de start van het betreffende spel. |
De versie van Java voor Minecraft
Minecraft tot en met 1.16.5 heeft Java 8 nodig, versie 1.17 Java 16, versie 1.18 tot en met 1.20.4 Java 17, versie 1.20.5 tot en met 1.21.x Java 21 en versie 26.x Java 25. Start de server met de fout UnsupportedClassVersionError, wijzig dan in de instellingen van de server Docker Image naar een nieuwere Java.
- Wings downloadt de Docker-image en start de installatie. Volg de voortgang in de console van de server: klik linksboven op de naam van het Panel (je gaat van het beheergedeelte naar het overzicht van servers) en open de nieuwe server. Is de server van een andere gebruiker, zet dan in het overzicht de schakelaar Showing your servers op Showing others' servers.
- Bij Minecraft verschijnt na de eerste start het venster Accept Minecraft® EULA. Door op I Accept te klikken ga je akkoord met de licentievoorwaarden van Minecraft en start de server.
Controle#
- Bij de node in Nodes brandt een groen hartje.
- De server draait na de installatie en in de console zie je de uitvoer ervan (bij Minecraft de regel
Done (…)! For help, type "help"). - In het spel maak je verbinding met
203.0.113.10:25565(of met de IP Alias). - Via SFTP maak je verbinding met het adres van de node en poort
2022(bijvoorbeeldsftp://). Het adres en de gebruikersnaam vind je bij de server op het tabblad Settings in het gedeelte SFTP Details (Server Address, Username). Het wachtwoord is hetzelfde als je wachtwoord voor het Panel.panel. example. cz: 2022
Controle op de VPS:
systemctl is-active docker wings
docker psdocker ps– toont de draaiende containers; elke gameserver is één container.
Wings bijwerken#
Werk Wings altijd bij nadat je het Panel hebt bijgewerkt (werkwijze voor het Panel):
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 wingssystemctl stop wings– stopt Wings, zodat het programma kan worden overschreven. Draaiende gameservers merken daar niets van.curl …enchmod …– hetzelfde als bij de installatie, ze downloaden de nieuwste versie.systemctl restart wings– start de nieuwe versie; open verbindingen herstellen zich vanzelf.
Als iets niet werkt#
Een rood hartje bij de node#
Het Panel kon Wings niet bereiken. Werk de oorzaken af, te beginnen met de meest voorkomende:
- Draait Wings?
systemctl status wings. Zo niet, voer danwings --debuguit en lees de fout. - Staat poort
8080open in de firewall van je klantaccount en in UFW? - Verwijst de FQDN van de node naar het juiste IP-adres?
getent hosts node.example.cz. - Werkt het certificaat? Voer op de VPS met het Panel
curl https://uit. Het antwoordnode. example. cz: 8080 {"error":"The required authorization heads were not present in the request."}is in orde: Wings antwoordt, je hebt alleen geen inlogtoken meegestuurd. Een certificaatfout (SSL certificate problem) betekent een verkeerd of verlopen certificaat. - Loopt het domein van de node niet via de proxy van Cloudflare (oranje wolkje)? Zet het op DNS only.
- Komt
config.ymlovereen met wat het tabblad Configuration in het Panel toont? Na het verwijderen en opnieuw aanmaken van een node verandert het token. - Controleer of een browserextensie zoals AdBlock de verbinding niet blokkeert.
failed to configure HTTPS server#
Wings heeft het certificaat niet gevonden. In de uitvoer staat meestal ook no such file or directory met een pad. Het pad in config.yml (api.ssl.cert) moet overeenkomen met het certificaat dat je hebt (certbot certificates). Heb je de FQDN van de node gewijzigd, vraag dan ook voor het nieuwe domein een certificaat aan.
address already in use#
Poort 8080 of 2022 wordt al door een ander programma gebruikt. Zoek uit welk:
ss -tulpn | grep -E ':8080|:2022'ss -tulpn– toont de luisterende poorten (TCP en UDP) en de programma's die ze bezet houden.
Verplaats het programma naar een andere poort, of wijzig in de instellingen van de node Daemon Port, kopieer de nieuwe configuratie en herstart Wings.
De console van de server maakt geen verbinding#
In de browser verschijnt Failed to connect to websocket instance after multiple attempts: try refreshing the page. De browser kon FQDN:8080 niet bereiken. De oorzaken zijn dezelfde als bij het rode hartje, en daarnaast moet poort 8080 ook vanaf jouw computer werken, niet alleen vanaf het Panel. Open in de browser https://. Laadt de pagina niet, dan zit het probleem in de firewall, de DNS of het certificaat.
De installatie van de server mislukt bij het downloaden#
In de console van de installatie staan meldingen als Could not resolve host. De containers hebben geen werkende DNS. Wings geeft ze standaard de servers 1.1.1.1 en 1.0.0.1. Zoek de DNS-servers van de VPS op met het commando resolvectl status (de regels DNS Servers), en als dat commando op Debian niet bestaat, in het bestand /etc/resolv.conf (de regels nameserver). Zet ze in /etc/ in plaats van de standaardwaarden (in het gedeelte docker: › network: › dns:). Gebruik het adres 127.0.0.53 niet, dat werkt alleen op de VPS zelf, niet in een container. Herstart daarna Wings: systemctl restart wings.
De server wordt niet aangemaakt, het Panel meldt te weinig ruimte of geheugen#
De som van het RAM of de schijfruimte van de servers zou Total Memory of Total Disk Space van de node overschrijden. Verhoog de waarden in de instellingen van de node (het tabblad Settings), als de VPS dat echt aankan, of verlaag de limieten van de servers.
De server gaat na een tijdje vanzelf uit#
De server heeft de schijflimiet overschreden (Wings stopt hem veilig) of heeft de console overspoeld met uitvoer (bescherming tegen overspoeling). Controleer in het Panel bij de server de schijfruimte en de uitvoer van de console vóór het uitschakelen.
Samenvatting
- Wings draait als de service
wings, de gegevens van de servers staan in/var/.lib/ pterodactyl/ volumes - De node moet een domein met een geldig certificaat hebben en poort
8080moet vanaf internet bereikbaar zijn; het domein mag niet via de proxy van Cloudflare lopen. - SFTP draait op poort
2022, nooit op22. - Allocatie = openbaar IP-adres + poort; in het Panel een bereik met een streepje, in de firewall van je klantaccount met een dubbele punt.
- Docker opent de gamepoorten buiten UFW om; beperk ze met de firewall in je klantaccount.
- Werk na een update van het Panel ook Wings bij.
Meer bronnen#
- Pterodactyl: Installing Wings (opent in een nieuw venster)
- Pterodactyl: Upgrading Wings (opent in een nieuw venster)
- Pterodactyl: Wings Additional Configuration (opent in een nieuw venster)
- Pterodactyl: Creating a New Node (opent in een nieuw venster)
- Pterodactyl: Creating SSL Certificates (opent in een nieuw venster)
- Cloudflare: Network ports (opent in een nieuw venster)