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