Ga naar inhoud

Pterodactyl Control Panel

In dit artikel

Informatie

Pterodactyl is een gratis open-source game server management paneel. Het maakt centraal beheer van servers voor Minecraft, CS2, Rust en meer dan 50 andere games mogelijk via een webinterface.

Pterodactyl. Belangrijkste functies

Pterodactyl is een moderne oplossing voor het beheer van gameservers die het volgende combineert:

  • Ondersteuning voor 50+ games: Biedt kant-en-klare sjablonen voor snelle installatie van populaire gameservers. Configureert automatisch software, afhankelijkheden en startparameters, ondersteunt het selecteren van gameversies en het toevoegen van aangepaste sjablonen.
  • Nauwkeurige resourcebeheer: Regelt RAM, CPU, schijfruimte en prioriteitsverdeling tussen servers. Voorkomt overbelasting, verdeelt resources op basis van quota's en gebruikt SWAP-geheugen voor stabiliteit.
  • Betrouwbare automatische back-ups: Zorgt voor flexibele geplande back-ups met dataselectie (hele server of belangrijke bestanden). Bewaart back-ups lokaal of in de cloud (S3, FTP, GDrive) met encryptie en directe herstelopties.
  • Efficiënte multi-servermogelijkheid: Draait elke server in een geïsoleerde Docker-container. Verdeelt automatisch de belasting over nodes, wijst poorten toe zonder conflicten en stelt groepering van gerelateerde servers toe.
  • Flexibele multi-user-toegang: Beheert machtigingen via een rolgebaseerd model (vooraf ingestelde + aangepaste rollen) met meer dan 50 granulaire machtigingen. Ondersteunt tijdelijke toegang, audit van acties en tweefactorauthenticatie.
  • Realtime beheerconsole: Biedt volledige controle via een webinterface met een interactieve terminal (vergelijkbaar met SSH). Inclusief kleurformattering, commandogeschiedenis, snelknoppen en gebeurtenisberichten.
  • Realtime statistiekenmonitoring: Toont grafieken van resourcegebruik (CPU, RAM, schijf, netwerk) en gamemetrics (spellers online, TPS, ping). Staart het maken van aangepaste dashboards, het configureren van waarschuwingen en het exporteren van gegevens naar CSV toe.
  • Vereenvoudigd mod/pluginbeheer: Biedt een ingebouwde winkel voor automatische mod-installatie, versie- en afhankelijkheidsbeheer. Inclusief een visuele config-editor met syntax-highlighting en updateberichten.
  • Automatische updates: Zorgt voor ononderbroken systeemwerking. Update gameservers op schema met testmodus en rollback bij fouten. Update het controlepaneel met één commando (php artisan p:upgrade), controleert compatibiliteit en migreert de database zonder dataverlies. Auto-updates Wings daemon, handhaaft compatibiliteit met verschillende Linux-distributies.

Implementatiefuncties

ID Softwarenaam Compatibel OS VM BM VGPU GPU Min CPU (Kernen) Min RAM (GB) Min HDD/SSD (GB) Aangepast Domein Actief
326 Pterodactyl Ubuntu 22.04 + + + + 1 1 - Nee BESTELLEN

Belangrijkste Systeemcomponenten:

Component Doel
Panel Webbeheerinterface (PHP/Laravel). Biedt adminpaneel en gebruikersinterface voor serverbeheer
Wings Daemon voor fysieke opstarten van gameservers (Go). Afzonderlijk geïnstalleerd op machines waar gameservers zullen draaien
Database MariaDB voor het opslaan van configuraties, gebruikers, servers en instellingen
Docker Containerisatieplatform, vereist voor Wings-werking en isolatie van gameservers

Configuratiebestanden

Pad Doel
/var/www/pterodactyl/.env Belangrijkste Panel-instellingen: databaseverbinding, Redis, APP_URL, APP_KEY
/var/www/pterodactyl/storage/logs/laravel.log Panel-werkingslogs (applicatiefouten, verzoeken)
/var/log/nginx/pterodactyl.app-error.log NGINX-webserverlogs voor Panel
/etc/pterodactyl/config.yml Wings-configuratie: autorisatietoken, Panel-URL, Docker-instellingen. Gemaakt tijdens Wings-installatie
/var/lib/pterodactyl/volumes/ Gameservergegevensmap: wereldbestanden, configuraties, plugins. Gemaakt na Wings-installatie

Wat Wordt Automatisch Geïnstalleerd

De playbook installeert en configureert automatisch:

  • Pterodactyl Panel - centraal beheerpaneel met webinterface;
  • MariaDB - database voor het opslaan van alle systeemgegevens;
  • Redis - voor caching en taakwachtrijen;
  • NGINX - webserver voor het serveren van het Panel;
  • PHP 8.3 + PHP-FPM - voor Laravel-applicatiewerking;
  • Certbot - voor automatische SSL-certificaataanschaf;
  • Systemd-services - pteroq (wachtrijverwerking), cron-taken (planner).

Wat Aanvullend Moet Worden Geïnstalleerd

Om gameservers te draaien, hebt u nodig:

  • Wings - daemon die fysiek gameservers start en beheert in Docker-containers

Wings wordt geïnstalleerd op elke machine (node) waar gameservers gepland zijn om te draaien. Dit kan dezelfde server zijn waar Panel is geïnstalleerd ("all-in-one"-configuratie) of afzonderlijke dedicated servers (gedistribueerde architectuur).

Systeemvereisten

Voor Panel (Controlepaneel)

Minimumvereisten:

  • Processor: 2+ kernen;
  • Geheugen: 2 GB RAM (4 GB aanbevolen voor stabiele werking);
  • Schijf: 20 GB SSD (40+ GB aanbevolen voor logs en back-ups);
  • OS: Ubuntu 22.04 LTS (Jammy) - strikt deze versie voor automatische installatie.

Software (automatisch geïnstalleerd):

  • PHP 8.3 + PHP-FPM;
  • MariaDB 10.6+;
  • Redis 7.0+;
  • NGINX;
  • Composer 2;
  • Certbot (voor SSL);
  • Docker (vooraf geïnstalleerd in de image).

Netwerkvereisten:

  • Open poorten: 80 (HTTP), 443 (HTTPS);
  • Statisch IP-adres of domeinnaam (voor SSL-certificaat);
  • Stabiele internetverbinding.

Voor Node (Nodes met Gameservers)

Voor 5-10 gelijktijdige gameservers:

  • Processor: 4+ kernen (6-8 kernen aanbevolen voor veeleisende games);
  • Geheugen: 8 GB RAM (12-16 GB aanbevolen afhankelijk van games);
  • Schijf: 50 GB SSD (100+ GB aanbevolen voor meerdere servers met mods);
  • OS: Ubuntu 20.04/22.04, Debian 10/11, CentOS ⅞ (elke Linux met Docker-ondersteuning).
  • Software:
    • Docker (vooraf geïnstalleerd in de image);
    • Wings (vereist installatie).

Netwerkvereisten:

  • Open poorten:
    • 8080 - Wings API (communicatie met Panel);
    • 2022 - SFTP (bestandsoverdracht naar gameservers);
    • 25565-25665 - gamepoortbereik (individueel geconfigureerd);
  • Stabiele internetverbinding met goed bandbreedte;
  • Lage latentie voor comfortabel gamen.

"All-in-One"-Configuratie (Panel + Wings op Eén Server)

Voor testen of kleine projecten kunt u één server gebruiken:

  • Processor: 4+ kernen;
  • Geheugen: 8 GB RAM (minimum 6 GB);
  • Schijf: 60 GB SSD (100+ GB aanbevolen);
  • OS: Ubuntu 22.04 LTS.

In deze configuratie draait één server:

  • Pterodactyl Panel (webinterface);
  • Wings (serverstartdaemon);
  • Database en cache;
  • Gameservers in Docker-containers.

Aanbevelingen voor Game Resources

Benaderde vereisten per gameserver:

Game RAM CPU Schijf
Minecraft (Vanilla/Paper) 2-4 GB 2+ kernen 5-10 GB
Minecraft met mods (Forge/Fabric) 4-8 GB 4+ kernen 10-20 GB
CS2 / CS:GO 4-6 GB 4+ kernen 15-20 GB
Rust 8-12 GB 4+ kernen 20-30 GB
ARK: Survival Evolved 8-16 GB 6+ kernen 30-50 GB
Terraria 1-2 GB 2+ kernen 2-5 GB
Valheim 4-6 GB 4+ kernen 5-10 GB

Aan de slag na Pterodactyl-implementatie

Nadat u voor uw bestelling heeft betaald, ontvangt u een melding op het e-mailadres waarmee u zich heeft geregistreerd, waarin u wordt geïnformeerd dat uw server klaar is voor gebruik. Deze bevat het VPS-IP-adres, evenals een inlognaam en wachtwoord voor verbinding. Klanten van ons bedrijf beheren hardware in het servers- en API-beheerpaneelInvapi.

Autorisatiegegevens die te vinden zijn in het tabblad Configuration* >> **Tags van het serverbeheerpaneel of in de e-mail:

  • Link: in de webpanel tag. Om toegang te krijgen tot het adminpaneel, voeg /admin toe aan de hoofdlink;
  • Inlognaam: admin;
  • Wachtwoord: verzonden via e-mail naar uw adres wanneer de server klaar is voor gebruik na software-implementatie.

Eerste Inloggen

  1. Open een webbrowser en ga naar uw Pterodactyl-paneladres
  2. Klik op Login:

  3. Na succesvolle autorisatie wordt u doorgestuurd naar de hoofdpagina van het paneel.

  4. Om toegang te krijgen tot het adminpaneel, klikt u op de knop :

Een Gebruiker Maken

  1. Klik in het linkermenu van het adminpaneel op de sectienaam Users;
  2. Klik op de knop Create New in de rechterbovenhoek:

  3. Vul de verplichte velden in:

    • Username: gebruikersnaam;
    • Email: e-mailadres van de gebruiker;
    • First Name: voornaam;
    • Last Name: achternaam;
    • Password: wachtwoord (minimaal 8 tekens, moet letters van verschillende cases en cijfers bevatten);
  4. Selecteer indien nodig Yes in de regel Administrator om administratorrechten te verlenen;
  5. Klik op Create User:

Een Locatie Maken

Wat is een Locatie

Een locatie is een logische groepering van nodes op basis van geografische locatie of doel. Wordt gebruikt voor het organiseren van servers, bijvoorbeeld: "EU", "VS", "Azië", "Productie", "Testen". Gebruikers zien locaties niet direct; dit is een administratief hulpmiddel.

  1. Selecteer in het linkermenu Locations;
  2. Klik op de knop Create New in de rechterbovenhoek:

  3. Vul de velden in:

    • Short Code: korte locatiecode (bijv. "US1", "EU1");
    • Description: locatiebeschrijving (bijv. "Datacenter in de VS");
  4. Klik op Create:

Een Node Maken

Wat is een Node

Een node is een fysieke of virtuele server waarop gameservers worden gestart via Wings. Elke node heeft zijn eigen resources (CPU, RAM, schijf) en kan meerdere gameservers gelijktijdig bedienen.

Voorbereiding Voordat U een Node Maakt

Voordat u een node maakt, zorgt u ervoor dat:

  • Docker is geïnstalleerd op de server (vooraf geïnstalleerd in HOSTKEY-images);
  • U een IP-adres of domeinnaam heeft voor de node;
  • Poorten 8080 (Wings API) en 2022 (SFTP) open staan in de firewall.

Een Node Maken in het Paneel

  1. Selecteer in het linkermenu van het adminpaneel Nodes;

  2. Klik op de knop Create New in de rechterbovenhoek:

  3. Vul basisinstellingen in:

    • Name: unieke nodenaam (bijv. hostkey-us-node1);
    • Location: selecteer de eerder gemaakte locatie;
    • Public: vink het vakje aan als de node zichtbaar moet zijn voor gebruikers;
    • FQDN: geef de panel-domeinnaam op (bijv. pterodactyl50514.hostkey.in) of IP-adres;
    • Communicate Over SSL: vink het vakje aan als Panel HTTPS gebruikt;
    • Behind Proxy: laat uitgeschakeld als de node niet achter een proxy staat.
  4. Configureer resource-instellingen:

    • Daemon Server File Directory: /var/lib/pterodactyl/volumes (niet wijzigen);
    • Total Memory: geef beschikbaar RAM in MB op (bijv. 4608 voor een 6GB-server met reserve);
    • Memory Over-Allocation: geef 0 op (geen overtoewijzing);
    • Total Disk Space: geef beschikbare schijfruimte in MB op (bijv. 102400 voor een 120GB-schijf met reserve);
    • Disk Over-Allocation: geef 0 op (geen overtoewijzing);
    • Daemon Port: 8080 (standaard laten);
    • Daemon SFTP Port: 2022 (standaard laten).

  5. Klik op de knop Create Node.

Belangrijk bij het Gebruik van HTTPS

Als Panel via HTTPS werkt, moet u een domeinnaam opgeven in het veld FQDN, niet een IP-adres. Het opgeven van een IP-adres met SSL ingeschakeld resulteert in een validatiefout.

Voorbeeldinstellingen voor All-in-One-configuratie (4 vCore / 6GB RAM / 120GB SSD)

    Name: hostkey-us-node1
    Location: US1
    Public: ☑
    FQDN: pterodactyl50514.hostkey.in
    Communicate Over SSL: ☑
    Behind Proxy: ☐


    Total Memory: 4608 MB (1.5GB voor systeem vrijhouden)
    Memory Over-Allocation: 0
    Total Disk Space: 102400 MB (20GB voor systeem vrijhouden)
    Disk Over-Allocation: 0

Toewijzingen Configureren

Na het maken van een node moet u toewijzingen configureren - dit zijn combinaties van IP-adres en poort die beschikbaar zijn voor toewijzing aan gameservers.

  1. Na het maken van de node wordt de pagina ervan automatisch geopend. Ga naar het tabblad Allocation;

  2. Vul in het gedeelte Assign New Allocations (rechterkant) de velden in:

    • IP Address: voer het IP-adres van de server in;
    • IP Alias: geef een beschrijving op (bijv. Main IP) of laat leeg;
    • Ports: geef een poortbereik op (bijv. 25565-25570 voor Minecraft-servers).
  3. Klik op de groene knop Submit:

  4. Gemaakte toewijzingen verschijnen in de tabel Existing Allocations (linkerkant). Elke rij vertegenwoordigt een aparte IP:poort-combinatie die aan een gameserver kan worden toegewezen.

Opmerking

Zonder het configureren van toewijzingen kunt u geen servers op deze node maken. U moet minimaal één IP-adres met poorten toevoegen.

Poortaandachtspunten

  • Minecraft: 25565-25570 (standaardpoort 25565);
  • CS2/CS:GO: 27015-27020 (standaardpoort 27015);
  • Rust: 28015-28020 (standaardpoort 28015);
  • Valheim: 2456-2460 (standaardpoort 2456).

Wings Installeren

Kritiek voor Werking

Na het maken van een node en het configureren van toewijzingen, moet u Wings op de server installeren. Zonder Wings zal de node de status Offline tonen en geen gameservers kunnen starten.

Verbind met de server via SSH en voer de commando's uit:

Maak een map voor configuratie:

mkdir -p /etc/pterodactyl
Download Wings:

curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
Verleen uitvoeringsrechten:

chmod u+x /usr/local/bin/wings
Verifieer installatie:

wings version

De Wings-versie zou moeten worden weergegeven (bijv. wings vv1.12.1).

Wings Configureren via Auto-Deploy (Aanbevolen)

  1. Ga in het adminpaneel naar het tabblad Configuration van de gemaakte node;

  2. Klik in het gedeelte Auto-Deploy (rechterkant) op de knop Generate Token:

  3. Kopieer het gegenereerde commando. Het ziet er ongeveer zo uit:

        cd /etc/pterodactyl && wings configure --panel-url https://your-domain.com --token TOKEN --node 1
    

  4. Voer het gekopieerde commando uit op de server:

        cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1
    

    Het bericht zou moeten verschijnen: Successfully configured wings.

  5. Verifieer de gemaakte configuratie:

        cat /etc/pterodactyl/config.yml
    

Een systemd-service Maken

Maak een systemd-service voor automatische Wings-start:

cat > /etc/systemd/system/wings.service <<'EOF'
[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
EOF

Wings Starten

Herlaad systemd-configuratie

systemctl daemon-reload
Schakel autostart in en start Wings

systemctl enable --now wings
Controleer status

systemctl status wings

De status zou Active: active (running) moeten tonen.

Controle op Werking

Controleer Wings-logs:

journalctl -u wings -n 50

De logs zouden de volgende berichten moeten bevatten:

  • fetching list of servers from API - Wings verbonden met Panel;
  • configuring internal webserver - Wings-webserver gestart;
  • sftp server listening for connections - SFTP-server werkt.

Verifieer het maken van de servermap:

ls -la /var/lib/pterodactyl/volumes/

Statuscontrole in Adminpaneel

  1. Open het adminpaneel: https://your-domain.com/admin;
  2. Navigeer naar: Admin > Nodes > uw node;
  3. Vernieuw de pagina (F5);
  4. De groene statusindicator Online zou rechtsboven moeten worden weergegeven;
  5. Op het tabblad About zou informatie over resources (CPU, RAM, Schijf) moeten worden weergegeven.

Als de Node de Status Online Toont

De node is volledig geconfigureerd en klaar voor het maken van gameservers!

Probleemoplossing

Node Toont Status Offline

Controleer Wings-status:

systemctl status wings

Als Wings niet draait, start het dan:

systemctl start wings

Controleer logs op fouten:

journalctl -u wings -n 100

Veelvoorkomende problemen:

  1. Wings kan geen verbinding maken met Panel:

    • Controleer de panel-URL in de configuratie: cat /etc/pterodactyl/config.yml | grep remote;
    • Zorg ervoor dat Panel toegankelijk is: curl -I https://your-domain.com.
  2. Poort 8080 wordt geblokkeerd door firewall:

    • Controleer de poort: netstat -tulpn | grep 8080;
    • Open de poort: ufw allow 8080/tcp.
  3. SSL-problemen:

    • Als Panel HTTPS gebruikt, moet Wings ook met SSL werken;
    • Controleer SSL-instellingen in /etc/pterodactyl/config.yml.

Handmatige Configuratie (Alternatieve Methode)

Als Auto-Deploy niet werkt, kunt u Wings handmatig configureren:

  1. Ga in het adminpaneel naar het tabblad Configuration van de node;
  2. Kopieer de inhoud van het configuratiebestand uit het linkervak;
  3. Maak op de server een configuratiebestand:

    nano /etc/pterodactyl/config.yml
    

  4. Plak de gekopieerde configuratie en sla op (Ctrl+X, dan Y, dan Enter);

  5. Herstart Wings: systemctl restart wings;
  6. Controleer status: systemctl status wings.

Een Nest Maken en een Ei Toevoegen

Een Nest Maken

  1. Selecteer in het linkermenu de sectie Nests;
  2. Klik op de knop Create New in de rechterbovenhoek:

  3. Vul de velden in:

    • Name: nestnaam (bijv. "Minecraft");
    • Description: nestbeschrijving;
  4. Klik op Save:

Een Kant-en-klare Ei Downloaden

  1. Open de website https://pelican-eggs.github.io/;

  2. Vind de gewenste game:

    • Selecteer in het gedeelte Game Eggs een categorie (bijv. Minecraft);
    • Vind het gewenste servertype (bijv. Paper, Vanilla, Forge);
  3. Klik op de servernaam om de GitHub-pagina te openen;

  4. Vind het bestand egg-name.json (bijv. egg-paper.json);

  5. Klik op het bestand, dan op de knop Raw in de rechterbovenhoek;

  6. Sla het bestand op (Ctrl+S of rechtermuisknop > Save as).

Populaire Eieren

Het Ei Importeren naar het Paneel

  1. Ga in het adminpaneel naar de sectie Nests;

  2. Klik op de knop Import Egg in de rechterbovenhoek:

  3. Klik op Choose File en selecteer het gedownloade .json-bestand;

  4. Klik op Import:

Het ei wordt geïmporteerd met alle instellingen, Docker-images en variabelen.

Het Geïmporteerde Ei Verifiëren

  1. Vind in de eilijst het geïmporteerde (bijv. Paper);

  2. Klik erop om instellingen te bekijken;

  3. Zorg ervoor dat het volgende is ingevuld:

    • Docker Images: lijst met beschikbare images;
    • Install Script: serverinstallatiescript;
    • Variables: omgevingsvariabelen (versie, instellingen).

Een Server Maken

  1. Selecteer in het linkermenu Servers;

  2. Klik op de knop Create New in de rechterbovenhoek:

  3. Vul het aanmaakformulier in:

Kerngegevens:

  • Server Name: servernaam (bijv. Test Minecraft Server);
  • Server Owner: selecteer de eigenaar-gebruiker uit de lijst;
  • Server Description: beschrijving (optioneel);
  • Start Server when Installed: laat het selectievakje ingeschakeld.

Toewijzingsbeheer:

  • Node: selecteer de gemaakte node;
  • Default Allocation: selecteer IP-adres:poort uit de lijst;
  • Additional Allocations: laat leeg.

Toepassingsfunctielimieten:

  • Database Limit: 0;
  • Allocation Limit: 0;
  • Backup Limit: 0.

Resourcebeheer:

  • CPU Limit: 0 (geen limieten);
  • Memory: 2048 MiB (2GB om te beginnen);
  • Swap: 0 MiB;
  • Disk Space: 5120 MiB (5GB);
  • Block IO Weight: 500;
  • Enable OOM Killer: laat uitgeschakeld.

Nestconfiguratie:

  • Nest: Minecraft;
  • Egg: Paper (niet Sponge!);
  • Docker Image: Java 21;
  • Service Variables: laat standaardwaarden.

  • Klik op Create Server onderaan de pagina;

  • Wacht tot de installatie is voltooid (status Installing verandert in Offline):

Server Starten en Configureren

  1. Open na installatie de server uit de lijst (Admin > Servers):

  2. Ga naar het gebruikerspaneel (zonder /admin), log in als servereigenaar;

  3. Klik op de knop Start:

  4. Bij het eerste opstarten verschijnt een venster voor het accepteren van de licentie:

  5. Klik op I Accept om de Minecraft-EULA te accepteren;

  6. Wacht tot de server is gestart (status verandert in Running):

Prestatiecontrole

Open in uw browser (vervang IP door uw eigen):

https://api.mcsrvstat.us/3/<IP-adres>:25565
Als het antwoord "online": true toont, werkt de server en is deze toegankelijk voor spelers.

Verbindingsadres:

<IP-adres>:25565

Opmerking

Gedetailleerde informatie over de belangrijkste instellingen van Pterodactyl staat in de documentatie van de ontwikkelaars.

Bestel een Pterodactyl-server via de API

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×