Pterodactyl installieren - Dein Webinterface für Minecraft, Teamspeak, Terraria und mehr

  • In diesem Artikel wird ihnen erklärt, wie Sie das Game- und Voiceserver Webinterface Pterodactyl installieren können.

    Falls es für Sie auch viel zu umständlich ist ihre Game- und Voiceserver immer über eine Linux Konsole zu starten, ist das die perfekte Lösung für Sie. Mit Pterodactyl, können sie ihre Server kinderleicht durch ein Webinterface verwalten


    Vorteile von Pterodactyl:

    • Docker Support - Jeder Server läuft in seinem eigenen Docker Container und ist so vom eigentlichen Server isoliert und kann diesen nicht beeinträchtigen.
    • Scalable - Sie haben die Möglichkeit Ihre Server auf mehrere Server ("Nodes") auszulagern und können diese alle über das selbe Interface verwalten.
    • Kostenlos - Das Ganze ist für Sie komplett kostenlos

    Voraussetzungen:

    • Einen KVM vServer oder Dedicated Server, welcher von Docker unterstützt wird
    • Min. Ubuntu 16.04/Debian 9 (Debian 8 wird ebenfalls unterstützt allerdings müssen sie Ihren Kernel aktualisieren)

    Vorbereitungen:


    Schritt 1 - Kompatibilität prüfen:

    Um die Kompatibilität Ihres Systems zu überprüfen, führen Sie bitte diesen Befehl aus:

    Code
    1. lscpu | grep 'vendor\|type'

    Falls Sie bei Hypervisor vendor: KVM und bei Virtualization type: full angezeigt bekommen, ist Ihr System in der Regel mit Pterodactyl kompatibel.


    Schritt 2 - Voraussetzungen installieren:

    Um alle von Pterodactyl benötigten Pakete zu installieren, müssen Sie als erstes den software-properties-common mit folgendem Befehl installieren:

    Code
    1. apt -y install software-properties-common

    Anschließend müssen Sie die Paketlisten von php7, redis und MariaDB hinzufügen. Dies geht mit den folgenden Befehlen:

    Code
    1. LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
    2. add-apt-repository -y ppa:chris-lea/redis-server
    3. curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
    4. ## Falls sie Ubuntu 18.04 benutzen müssen sie diesen Befehl ebenfalls ausführen
    5. apt-add-repository universe

    Nun müssen Sie die Paketlisten aktualisieren und ggf. Updates installieren:

    Code
    1. apt update; apt upgrade -y

    Nun müssen Sie mit folgendem Befehl, alle von Pterodactyl benötigten Pakete herunterladen. Dies kann je nach ihrem System einge Zeit in Anspruch nehmen

    Code
    1. apt -y install php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-pdo php7.2-mbstring php7.2-tokenizer php7.2-bcmath php7.2-xml php7.2-fpm php7.2-curl php7.2-zip mariadb-server nginx curl tar unzip git redis-server

    Anschließend müssen Sie noch den PHP Dependency Manager Composer installieren:

    Code
    1. curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

    Schritt 3 - Pterodactyl installieren


    Als erstes müssen wir ein Verzeichnis für Pterodactyl erstellen. In diesem Tutorial, wird dieses /var/www/pterodactyl heißen. Bitte achten Sie darauf, dieses Verzeichnis überall zu ersetzen, sollten Sie ein anderes verwenden. Um ein Verzeichnis zu erstellen und gleich in dieses zu wechseln, verwenden Sie bitte folgende Befehle:

    Code
    1. mkdir -p /var/www/pterodactyl
    2. cd /var/www/pterodactyl

    Nun müssen Sie die Dateien von Pterodactyl herunterladen, entpacken und die Schreibrechte für die Verzeichnisse storage/ und bootstrap/cache/ setzen

    Code
    1. curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v0.7.10/panel.tar.gz
    2. tar --strip-components=1 -xzvf panel.tar.gz
    3. chmod -R 755 storage/* bootstrap/cache/

    Nun müssen sie die Konfigurationsdatei aus dem mitgelieferten Beispiel kopieren und die PHP Erweiterungen installieren:

    Code
    1. cp .env.example .env
    2. composer install --no-dev --optimize-autoloader

    Anschließend müssen sie noch einen Key erstellen (Nur falls sie noch keine Datenbank besitzen)

    Code
    1. php artisan key:generate --force

    Wichtig! Bitte beachten sie, dass für die folgenden Schritte eine MySQL/MariaDB Datenbank erforderlich ist wie sie eine derartige erstellen finden sie in einem anderen Artikel (Artikel folgt)


    Um die grundlegenden Einstellungen für Pterodactyl zu tätigen führen sie bitte den folgenden Befehl aus:

    Code
    1. php artisan p:environment:setup

    Bitte wählen sie als Cache, Session und Queue Driver redis aus. Ein Beispiel für die restlichen Optionen finden sie unter diesem Text.

    Anschließend müssen Sie noch ihre MySQL Datenbank konfigurieren:

    Code
    1. php artisan p:environment:database

    Die Daten werden nach ausfüllen des Formulars direkt überprüft, falls sie eine Fehlermeldung bekommen überprüfen sie bitte ihre MySQL Daten


    Wenn Sie nachdem Sie ihr Password eingegeben haben keine Ausgabe bekommen haben Sie alles richtig gemacht


    Optional können Sie mit folgendem Befehl auch noch die Email Benachrichtigungen aktivieren

    Code
    1. php artisan p:environment:mail

    Nun müssen sie die Datenbank mit Daten befüllen:

    Code
    1. php artisan migrate --seed


    Antworten Sie auf die Frage Do you really wish to run this command? mit yes


    Nun können sie Ihren Benutzer erstellen bitte beachten Sie, dass sie auf die Frage Is this user an administrator? ebenfalls mit yes antworten

    Das Ganze könnte beispielsweise so aussehen

    Nun müssen Sie noch Ihrem Webserver die Berechtigungen geben die Paneldateien einzulesen

    Wichtig! Bitte vergewissern Sie sich, dass Sie den folgenden Befehl auch im Installationsordner ausführen

    Code
    1. chown -R www-data:www-data *


    Nun müssen sie noch 2 Cronjobs für das Interface hinzufügen. Den ersten tragen sie bitte in die Datei ein die sie mit crontab -e öffnen können

    Wichtig! Bitte passen sie den Pfad zu PHP und ihren Installationspfad gegebenenfalls an

    Code
    1. * * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1

    Für den zweiten erstellen Sie bitte die Datei /etc/systemd/system/pteroq.service

    Und fügen ihn in den Autostart hinzu und starten ihn anschließend

    Code
    1. sudo systemctl enable pteroq.service
    2. sudo systemctl start pteroq

    Nun müssen sie allerdings noch die nginx Konfiguration hinzufügen

    Erstellen Sie hierfür folgende Datei im Ordner /etc/nginx/conf.d/pterodactyl.conf

    Um SSL zu aktivieren können Sie sich den Let's Encrypt Certbot herunterladen und das nginx Plugin benutzen

    Code
    1. wget https://dl.eff.org/certbot-auto -O /usr/bin/cerbot
    2. chmod a+x /usr/bin/cerbot
    3. certbot --nginx

    Um nun ein Node einzurichten klicken wir zunächst auf das Zahnradsymbol oben rechtsum das Adminpanel zu öffnen

    Anschließend klicken wir auf "Nodes" um ein Node zu erstellen

    Bevor wir ein Node erstellen können werden wir zuerst darum gebeten eine Location zu erstellen dazu klicken Sie einfach auf den Button "Create New" oben rechts und fülle die beiden Felder aus

    Bitte beachten Sie, dass Sie nun nocheinmal zum Nodes Tab zurückkehren müssen um dort ebenfalls auf "Create New" zu klicken

    Füllen sie anschließend das Formular aus.

    Und klicken auf "create node"

    Anschließend müssen sie noch die Ports für Ihr Node einstellen

    Schritt 4 - Den Daemon (Wings) installieren

    Um den Daemon zu nutzen müssen sie als erstes Docker installieren

    Code
    1. curl -sSL https://get.docker.com/ | CHANNEL=stable bash

    Und es anschließend zum Autostart hinzufügen

    Code
    1. systemctl enable docker

    Anschließend müssen sie noch NodeJS und die einige build tools installíeren

    Code
    1. curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    2. apt -y install nodejs make gcc g++

    Nun müssen sie auch für den Daemon ein Verzeichnis erstellen. Bitte achten sie darauf dieses ebenfalls überall abzuändern sollten sie ein anderes benutzen

    Code
    1. mkdir -p /srv/daemon /srv/daemon-data
    2. cd /srv/daemon

    Nun können sie den Daemon mit diesem Befehl herunterladen und entpacken

    Code
    1. curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.7/daemon.tar.gz | tar --strip-components=1 -xzv

    Mit folgendem Befehl müssen Sie anschließend die erforderlichen NodeJS Pakete installieren

    Code
    1. npm install --only=production

    Nun gehen Sie nochmal auf die Konfigurationsseite zurück und klicken auf Configuration->Generate Token und kopieren sich den angezeigten Befehl um die Konfiguration auf dem Daemon zu laden

    Anschließend sollten sie solch eine Ausgabe bekommen

    Code
    1. Fetching configuration from panel.
    2. Writing configuration to file.
    3. Configuration file written successfully.

    Nun könnt ihr den Daemon mit npm start starten und anschließend durch einen Klick auf About überprüfen ob sich das Panel mit Ihm verbinden kann. Wenn dort die Daemon Version angezeigt hat haben Sie alles richtig eingestellt

    Zum Abschluss können Sie noch den Daemon als Service hinzufügen dazu einfach folgende Datei erstellen /etc/systemd/system/wings.service


    Und diesen dann nur noch starten

    Code
    1. systemctl daemon-reload
    2. systemctl enable wings
    3. systemctl start wings