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.

 

Alussa on Ubuntu Linuxille vaatimuksien lataus mutta jos olet AlmaLinuxilla tai sen tapaisella voit mennä hieman alaspäin jotta löydät oikeat komennot.

1. Aja ensin päivitys palvelimellasi ennen kuin aloitamme Pterodactylin asentamisen.

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äpaketit PHP:lle, Redisille ja MariaDB:lle.

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 asennusskripti 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ä palvelimesi.

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

Asenna ja käynnistä palomuuri.

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 tekstitiedostojen 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 kansio on luotu ja olet sen sisällä, lataa ja pura tiedostot sinne käyttäen 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 luo tietokantataulukot ja lisää kaikki Pterodactylin käyttämät ‘Nests & Eggs’.


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 CentOS:ssa):

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-palvelua 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 kirjoitat selaimeen kohdassa 6 määrittämäsi verkkotunnuksen tai IP-osoitteen.

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


14. Wings vaatimuksien asennus

Dockerin asennus.

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ää kuvassa 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äet 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 sivulla näkyvä konfiguraatiokoodi.

 

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 koittaa käynnistää Wingsin uudelleen. 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 palvelimellesi nimen.

 

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

 

Voit valita, mistä pelistä haluat tehdä palvelimen (tässä esimerkissä luomme Minecraft-palvelimen).

 

Sitten voit valita version ja sitten painaa Create Server nappia.

 

Sitten saat odottaa hetken että palvelin 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. Tulet tarvimaan Start napin alapuolella olevaa Addressia siihen että pääset palvelimelle pelissä.

 

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

 

Minecraftissä voit lisätä palvelimesi kun painat Add Server napista.

 

Ja laittamalla server address kohtaan paneelissa näkyvän addressin ja sitten painamalla Done.


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)