Advanced 15 min

Pterodactyl Panel & Wings installieren

Komplette Prozedur: erforderlich, Installation Panel/Wings, Node, phpMyAdmin, MySQL und erste Spielserver.

#Pterodactyl#Wings#Panel games#Docker#MySQL

Bereit, Ihren Service zu starten? Überprüfen Sie Angebote und bestellen Sie online.

Angebote ansehen und bestellen

Ziel

Installieren Sie Pterodactyl Panel und Wings auf einem Linux VPS (Debian / Ubuntu), konfigurieren Sie dann einen Knoten, phpMyAdmin und MySQL sauber und sicher.

Das Panel ist das Webinterface. Wings ist der Daemon, der Docker-Container von Spielservern startet.

Panel-Architektur, Flügel und Server
Panel → Wings → Servercontainer
Überblick über das Pterodactyl Panel (offizielle Captures)
Interface Panel - Offizielle Captures pterodactyl.io
Geschätzte Zeit über 15 bis 25 Minuten mit einer Domäne, die bereits auf das VPS zeigte. Der Installateur erledigt den Großteil der Arbeit.

Voraussetzung

  • VPS Anthony IT Solutions (Debian 11/12 oder Ubuntu 22.04/24.04)
  • Zugriff root auf SSH (erste SSH-Verbindung)
  • Empfohlenes Minimum: 2 vCPU / 4 GB RAM / 40 GB Diskette
  • Eine Domain (z.B.) panel.votredomaine.fr) in der Registrierung A zum IP des VPS
  • Ports: 22, 80/443, 8080 (Flügel), 2022 (SFTP), + Spielports

1. Vorbereitung des Systems

Loggen Sie sich als Root ein, aktualisieren und starten Sie:

apt update apt full-upgrade -y apt install -y bash curl wget sudo unzip nano ca-certificates gnupg reboot

Verbinden Sie sich nach dem Neustart und überprüfen Sie das Betriebssystem:

cat /etc/os-release hostnamectl
Firewall Wenn UFW aktiv ist, lassen Sie SSH/HTTP/HTTPS offen: Konfigurieren Sie UFW.

2. Installieren Sie Panel und Flügel

Starten Sie den interaktiven Installer:

bash <(curl -s https://pterodactyl-installer.se)
  1. Installationsoption

    Installieren Sie zuerst Panel, dann Wings auf derselben Maschine (ideal für ein einzelnes VPS).

  2. FQDN-Domain

    Ex. panel.votredomaine.fr - das DNS A muss bereits auf den VPS zeigen.

  3. E-Mail & SSL

    Geben Sie eine gültige E-Mail ein und akzeptieren Sie Lets Encrypt.

  4. Datenbank

    Beachten Sie das MySQL-Passwort / Panel-Benutzer, das vom Skript angezeigt wird.

  5. Admin-Konto

    Erstellen Sie ein Admin-Panel (E-Mail, Benutzername, starkes Passwort).

Überprüfen Sie die Dienste:

systemctl status nginx systemctl status mariadb systemctl status wings systemctl status docker

Offen https://panel.votredomaine.fr und melden Sie sich mit dem erstellten Admin-Konto an.

3. Konfigurieren von Node

  1. Miete

    Admin → Mieten → Neu (ex.) France / FR-01).

  2. Knotenpunkt

    Admin → Nodes → Erstellen :

    • Name : node-01
    • FQDN : gleiche Domain oder node.votredomaine.fr
    • Memory / Disk: Hinterlassen einer Marge für das System
    • Daemon Port : 8080
    • SFTP-Hafen : 2022

  3. Zulagen

    Fügen Sie öffentliche IP + einen Portbereich hinzu (z.B.) 25565-25600, 30120).

  4. Konfigurierte Flügel

    Öffnen Sie den Knoten → Tab Konfiguration → kopieren Sie die angezeigte YAML.

Admin Nodes: Liste der Knoten Pterodactyl
Admin → Nodes: Erstellen Sie den Knoten (Neue Taste erstellen). Grünes Herz = Online Node
Detail eines Pterodactyl-Knotens (über)
Nodesheet: Registerkarten Über / Einstellungen / Konfiguration / Allokation / Server

Fügen Sie die Konfiguration auf dem VPS ein:

sudo nano /etc/pterodactyl/config.yml

Starten Sie Wings neu:

systemctl restart wings systemctl status wings
config.yml Enthält die Token Wings Niemals teilen. Neustart wings Nach jeder Änderung.

4. Offene Ports (UFW)

ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw allow 8080/tcp ufw allow 2022/tcp ufw allow 25565:25600/tcp ufw allow 30120/tcp ufw allow 30120/udp ufw enable ufw status

5. Installieren Sie phpMyAdmin (optional)

cd /var/www/pterodactyl/public mkdir -p phpmyadmin && cd phpmyadmin wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip unzip phpMyAdmin-5.2.1-all-languages.zip mv phpMyAdmin-5.2.1-all-languages/* . rm -rf phpMyAdmin-5.2.1-all-languages phpMyAdmin-5.2.1-all-languages.zip cp config.sample.inc.php config.inc.php nano config.inc.php

Definieren a blowfish_secret zufällig (32+ Zeichen):

$cfg['blowfish_secret'] = 'REMPLACEZ_PAR_UNE_CHAINE_ALEATOIRE_32+';

Zugang: https://panel.votredomaine.fr/phpmyadmin

Security Protect phpMyAdmin (Basic Auth, IP Whitelist oder Fail2ban). Legen Sie kein MySQL-Konto offen, das zu privilegiert ist.

6. MySQL / MariaDB konfigurieren

Empfohlenes lokales Zuhören:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 127.0.0.1
systemctl restart mariadb

Benutzer erstellen (starke Passwörter):

mysql -u root -p
CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'MOT_DE_PASSE_FORT'; GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'localhost'; CREATE USER 'games'@'localhost' IDENTIFIED BY 'AUTRE_MOT_DE_PASSE_FORT'; GRANT ALL PRIVILEGES ON *.* TO 'games'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Vermeiden admin@'%' Ein Konto, das für das gesamte Netzwerk geöffnet ist, ist gefährlich, wenn Port 3306 ausgesetzt ist. Vorzug localhost.

7. Erstellen Sie den ersten Spielserver

  1. Eier

    Admin → Nests: Wählen Sie l'egg (Paper, FiveM, etc.).

  2. Nutzer

    Admin → Benutzer: Kundenkonto (oder Admin zum Testen).

  3. Server

    Admin → Server → Erstellen : Node, Allokation, RAM/CPU/Disc, Ei, dann Start.

  4. MySQL-Basis

    Erstellen Sie eine dedizierte Datenbank mit dem Benutzer games und informieren Sie es in den Servervariablen.

Admin Server: Minecraft Server-Datei
Admin → Server: Details eines erstellten Servers (Ressourcen, Node, Eigentümer)

8. Überprüfungen

  • HTTPS-Panel OK
  • Node Connected
  • systemctl is-active wings docker nginx mariadb → active
  • Testserver startet korrekt
journalctl -u wings -n 50 --no-pager docker ps df -h free -h

Fehlerbehebung

  • Offline-Knoten : Token / config.yml / Port 8080 / systemctl restart wings
  • SSL failed: DNS A incorrect oder Port 80 closed
  • Installation blocked : Docker, full disk, invalid egg
  • MySQL weigert sich : User/Host/Password oder bind-address

zugehörige Leitfäden