Pterodactyl on avoimen lähdekoodin Linux-pohjainen pelipalvelinten hallintapaneeli.

Sen avulla voit helposti hallita ja käynnistää pelipalvelimia verkkokäyttöliittymän kautta. Pterodactyl käyttää Docker-kontteja eristämään palvelimet ja tukee monia pelejä.

Ohje käyttää referenssinä Pterodactylin sivuilla olevaa ohjetta johon pääset tästä.

Tässä ohjeessa näytän kuinka voit asentaa Pterodactyl-paneelin. Pterodactyl paneeli on suunniteltu toimimaan omalla verkkopalvelimellasi. Sinulla on oltava pääkäyttäjän oikeudet palvelimellesi, jotta voit suorittaa ja käyttää tätä paneelia.

 

1. Ensimmäiseksi aja päivitys palvelimellasi ennen, kuin alamme asentamaan Pterodactyliä.

sudo apt update

2. Seuraavaksi asennetaan tärkeitä vaatimuksia palvelimelle:

Lisää "add-apt-repository" komento

apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg

Lisää lisätietokanta PHP, Redis, and MariaDB

LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php

Lisää virallinen Redis APT tietokanta

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

MariaDB repo asennus skripti voidaan ohittaa jos on Ubuntu 22.04

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

Päivitä

apt update

Asenna vaatimukset

apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server

Käytä näitä jos sinulla on CentOS, Rocky Linux, AlmaLinux tai Fedora Server

Päivitä serverisi

sudo dnf update -y

Asenna EPEL ja Remi repositorit

sudo dnf install -y epel-release

Lisää PHP-säilöitä (Enterprise Linux 8)

(Jos sinulla on vaikka Almalinux 9.3 vaihda "remi-release-8.rpm" kohdasta 8 -> 9 jotta saat ladattua oikeat tiedot)

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Ota PHP 8.3 käyttöön

sudo dnf module reset php
sudo dnf module enable php:remi-8.3 -y
sudo dnf install php-process -y
sudo dnf install php83-php-process -y

Asenna riippuvuudet

sudo dnf install -y php php-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb mariadb-server nginx redis zip unzip tar

Käynnistä ja ota palvelut käyttöön

sudo systemctl enable --now mariadb nginx redis

Lataa firewall

sudo dnf install firewalld -y
sudo systemctl enable --now firewalld

Konfiguroi firewall (Nämä avaa portit 80 ja 443 jotta pystyt pääsemään Pterodactyl paneeliin)

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent 
sudo firewall-cmd --reload

Lataa Nano (Nano on teksti tiedostojen muokkaus työkalu)

sudo dnf install nano -y

3. Composerin asentaminen

Composer on PHP:n hallintaohjelma, jonka avulla voimme toimittaa kaiken, mitä tarvitset paneelin käyttämiseen.

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

4. Tiedostojen asentaminen

Ensiksi luodaan kansio johon asennamme Pterodactylin:

mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl

Kun olet saanut kansion luotua ja olet kansion sisällä, ladataan sekä puretaan tiedostot sinne käyttämällä curl työkalua.

curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/

5. Asennus

Nyt kun kaikki tiedostot on ladattu, meidän on määritettävä joitain paneelin ominaisuuksia. Luodaan ensiksi tietokanta paneelille:

mysql -u root -p

Muista vaihtaa 'yourPassword' omaksi salasanaksi!!

CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'yourPassword';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
exit


Pääset pois Mysql-näkymästä kirjoittamalla "exit" ja painamalla ENTER

Sitten kopioimme oletusympäristön asetustiedostomme, asennamme tärkeitä vaatimuksia ja luomme sitten uuden sovelluksen salausavaimen.

cp .env.example .env
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader

Suorita tämä komento vain silloin kun lataat Pterodactyliä ensimmäistä kertaa eikä sinulla ole tietokantoja luotuna

php artisan key:generate --force

6. Ympäristön määritykset

Pterodactylin ympäristön saa helposti konfiguroitua käyttäen muutamaa CLI komentoa:

php artisan p:environment:setup
php artisan p:environment:database

7. Tietokannan määritykset

Nyt meidän on määritettävä kaikki paneelin perustiedot aiemmin luomassasi tietokannassa:

php artisan migrate --seed --force

Tämä komento määrittää tietokantataulukot ja lisää sitten kaikki "Nests & Eggs", jotka käyttävät Pterodactyliä.


8. Käyttäjän luonti

Seuraavaksi meidän pitää luoda käyttäjä, jolla on järjestelmänvalvojan oikeudet. Määritä käyttäjälle tiedot käyttäen tätä komentoa:

php artisan p:user:make

9. Oikeuksien antaminen

Asennuksen viimeinen vaihe on asettaa oikeat käyttöoikeudet paneelitiedostoille, jotta verkkopalvelin voi käyttää niitä oikein.

 

Jos käytät Apachea tai Nginxiä (ei toimi jos on CentOS):

chown -R www-data:www-data /var/www/pterodactyl/*

Jos käytät Nginxiä CentOS

chown -R nginx:nginx /var/www/pterodactyl/*

Jos käytät Apachea CentOS

chown -R apache:apache /var/www/pterodactyl/*

10. Crontab-asetukset

Ensimmäinen asia, joka meidän on tehtävä, on luoda uusi cronjob, joka suoritetaan joka minuutti tiettyjen Pterodactyl-tehtävien käsittelemiseksi, kuten istunnon puhdistaminen ja ajoitettujen tehtävien lähettäminen.

Avaa Cron käyttämällä komentoa:  "sudo crontab -e" ja lisää tämä viimeiselle riville:

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

11. Queue Worker tiedoston luonti

Luo tiedosto nimeltä pteroq.service hakemistoon /etc/systemd/system alla olevalla sisällöllä.

cd /etc/systemd/system
sudo nano pteroq.service

Jos olet Almalinuxilla niin vaihda After=redis-server.service -> After=redis.service

Tässä ohjeessa jos teet Almalinuxilla tai muulla sen tapaisella laita user ja group kohtiin =nginx.

[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service

[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target

Jos käytät Redis ohjelmaa niin aja nämä komennot jotta Redis käynnistyy automaattisesti, kun palvelin käynnistyy ja Pterodactyl saadaan käyttöön alemmalla komennolla.

sudo systemctl enable --now redis-server

Almalinuxilla toimivat Redis komennot

 sudo systemctl enable --now redis
sudo systemctl enable --now pteroq.service

11.5. Almalinux 9 lisä konfigurointi

cd /etc/php-fpm.d
sudo nano www-pterodactyl.conf

Kopioi alla oleva teksti sinne, tallenna se ja sitten voit poistua

[pterodactyl]
user = nginx
group = nginx

listen = /var/run/php-fpm/pterodactyl.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0750

pm = ondemand
pm.max_children = 9
pm.process_idle_timeout = 10s
pm.max_requests = 200

Sitten laita php-fpm päälle tällä komennolla:

sudo systemctl enable --now php-fpm

12. Web-palvelimen konfigurointi

Ensin poista Nginx oletus konfiguraatio.

rm /etc/nginx/sites-enabled/default

Liitä nyt alla olevan tiedoston sisältö ja korvaa <domain> verkkotunnuksellasi, jota käytetään tiedostossa nimeltä pterodactyl.conf ja aseta tiedosto kansioon

cd /etc/nginx/sites-available
sudo nano pterodactyl.conf

Almalinuxilla löydät oikean kansion

cd /etc/nginx/conf.d
sudo nano pterodactyl.conf

Jos olet Almalinuxilla vaihda fastcgi_pass unix:/run/php/php8.3-fpm.sock; --> fastcgi_pass unix:/var/run/php-fpm/pterodactyl.sock;

server {
    # Muuta esimerkki <domain> verkkotunnuksellasi tai IP-osoitteella
    listen 80;
    server_name <domain>;


    root /var/www/pterodactyl/public;
    index index.html index.htm index.php;
    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/pterodactyl.app-error.log error;

    # allow larger file uploads and longer script runtimes
    client_max_body_size 100m;
    client_body_timeout 120s;

    sendfile off;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTP_PROXY "";
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }
}

Ota konfiguraatio käyttöön tällä komennolla (Jos olet Almalinuxilla tätä ei tarvitse tehdä):

sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf

Sen jälkeen uudelleenkäynnistä Nginx:

sudo systemctl restart nginx

Almalinux 9 konfiguraatioiden toimimiseen laita nämä komennot:

sudo -u nginx php /var/www/pterodactyl/artisan config:clear
sudo -u nginx php /var/www/pterodactyl/artisan config:cache
sudo systemctl restart php-fpm

13. Paneeliin sisäänpääsy

Pääset paneeliin kun laitat seleimeen kohdassa 6. laittamasi domainin tai ip osoitteen

Sinne laitat kohdassa 8. tekemäsi käyttäjänimen ja salasanan


14. Wings vaatimuksien asennus

Dockerin asenus

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

Tällä Docker käynnistyy aloituksessa

sudo systemctl enable --now docker

Käytä näitä jos sinulla on CentOS, Rocky Linux, AlmaLinux tai Fedora Server

Asenna tarvittavat paketit

sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2

Lisää Docker repositori

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Asenna Docker

sudo dnf install -y docker-ce docker-ce-cli containerd.io

Tällä Docker käynnistyy aloituksessa

sudo systemctl enable --now docker

Konfiguroi firewall (Tällä avataan eri portteja ja laitetaan Pterodactyl käyttäjä varmasti menemään firewallista läpi)

firewall-cmd --add-port 8080/tcp --permanent
firewall-cmd --add-port 2022/tcp --permanent
firewall-cmd --permanent --zone=trusted --change-interface=pterodactyl0
firewall-cmd --zone=trusted --add-masquerade --permanent
firewall-cmd --reload

Kun olet tehnyt jommankumman näistä, sinun on otettava swap käyttöön.

sudo nano /etc/default/grub

 

Lisää kuvssa näkyvän GRUB_CMDLINE_LINUX tai sen tyyliseen kohtaan swapaccount=1 saman tapaisesti kuin kuvassa

Sen jälkeen tee

sudo update-grub
sudo reboot

Jos olet Almalinuxilla sinun pitää käyttää

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

15. Asenna Wings

Käytä näitä komentoja asentaaksesi Wings.

sudo 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")"
sudo chmod u+x /usr/local/bin/wings

16. Konfigurointi

Mene paneelissa admin alueelle

 

Siellä mene vasemmalla olevassa sivu palkissa olevaan Locations kohtaan

 

Siellä painetaan oikeassa yläkulmassa olevaa Create New nappia

 

Sinne lisäät Short Code kohtaan siellä näkyvän mallin mukaan alueesi

 

Sitten mene Nodes kohtaan

 

Sieltä Create New nappia

 

Sitten näät tämän näköisen sivun johon sinun pitää laittaa sivusi/ip osoite ja konfiguroida kuinka paljon laitat nodelle tilaa ja muita sen tapaisia

 

Sitten voit avata noden painamalla sen nimestä

 

Siellä mene Configuration sivulle ja kopioi siellä oleva koodinpätkä

 

Sitten mene näillä komennoilla config.yml tiedostoon ja lisää sivulta kopioitu pätkä sinne

cd /etc/pterodactyl
sudo nano config.yml

17. Aloita Wings

Saat aloitettua Wings:sin tällä komennolla

sudo wings --debug

Almalinuxilla sinun pitää tehdä vielä vähän jotta saat sen toimimaan

Lataa tarvittavat asiat

sudo dnf install -y curl tar unzip socat

Tee Wings:sille kansio ja mene sinne

sudo mkdir -p /etc/pterodactyl
cd /etc/pterodactyl

Varmista että Wings on ladattuna

curl -L https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64 -o wings

Tee tämä jotta se varmasti pystyy käynnistymään

chmod +x wings

Ja sitten koita käynnistää Wings

sudo ./wings --debug

Jos saat jonkin näköisen errorin niin voit koittaa laittaa firewallin pois päältä hetkeksi

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Sitten voit koitaa uudelleen aloittaa Wings:siä ja jos saat tämän auki ilman erroreita niin voit laittaa sen kiinni.


18. Laita Wings olemaan käynnissä taustalla

Mene tuohon kansioon ja avaa tiedosto

cd /etc/systemd/system
sudo nano wings.service

Kopioi alla oleva siihen tiedostoon ja tallenna se

[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

Ja sitten voit aloittaa Wings:sin tällä komennolla

sudo systemctl enable --now wings

Jos aikaisemmin laitoit firewallin pois päältä voit laittaa sen nyt takaisin

sudo systemctl enable --now firewalld

19. Noden allokointi

Mene noden Allocation kohtaan

 

Laita siellä oikealla olevaan kohtaan palvelimesi ip ja kuvassa näkyvät portit

 

Sitten kun olet laittanut ne mene vasemmalla olevaan Servers kohtaan

 

Siellä paina Create New nappia

 

Siellä voit laittaa serverillesi nimen

 

Myös päättää kuinka paljon tilaa ja muita haluat antaa sille

 

Ja sitten voit valita mistä pelistä haluat tehdä serverin (teemme tässä nyt Minecaft serverin)

 

Sitten voit valita version ja sitten painaa Create Server nappia

 

Sitten saat odottaa hetken että serveri menee päälle

 

Voit koittaa päivittää sivua kunnes näet tämän näköisen näkymän josta voit painaa oikeass reunassa olevaa nappia

 

Sillä saat tämän näköisen sivun josta voit painaa start nappia

 

Kun aloitat ensimmäistä kertaa serverisi saat tämän näköisen josta voit painaa I ACCEPT jonka jälkeen voit mennä Minecraftiin.

 

Minecraftissä voit lisätä serverisi kun painat Add Server napista ja laittamalla server address kohtaan paneelissa näkyvän addressin

 


Toivottavasti tästä oppaasta oli apua. Jos ilmenee ongelmia, ota meihin yhteyttä.

Auttoiko artikkeli teitä? 8 käyttäjistä hyötyivät artikkelista (18 Äänet)