Установка и настройка панели Pterodactyl

В этом руководстве мы подробно разберем процесс развертывания панели управления игровыми серверами Pterodactyl на виртуальном сервере (VPS). Вы узнаете, как подготовить сервер, установить все необходимые компоненты и выполнить первоначальную настройку панели.

Pterodactyl: что это такое

Pterodactyl — это мощная панель управления с открытым исходным кодом, написанная на PHP (бэкенд), React (фронтенд) и Go (демон Wings). Она предназначена для удобного развертывания и администрирования игровых серверов.

Ключевые преимущества панели:

  • Поддержка более 200 готовых шаблонов для быстрого запуска популярных игр (Minecraft, CS:GO, Rust и многих других).
  • Гибкое управление ресурсами (CPU, RAM, диск) и многопользовательский доступ с разными уровнями прав.
  • Встроенный магазин для установки модов, плагинов и дополнений непосредственно через интерфейс.
  • Прямая консоль управления серверами в реальном времени и детальный мониторинг статистики.

Для работы панели нам потребуется VPS с операционной системой Ubuntu 24.04 LTS. В качестве стек-технологий мы будем использовать: Nginx (веб-сервер), MariaDB (база данных), PHP 8.3 и Redis (для кэширования).

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов.

Перейти

Подготовка VPS сервера к установке Pterodactyl

Перед установкой самой панели необходимо настроить серверное окружение.

1. Установка необходимых пакетов и репозиториев

Обновите список пакетов и установите базовые утилиты для работы с репозиториями:

sudo apt update && sudo apt upgrade -y
sudo apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg

2. Добавление репозитория PHP 8.3:

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

3. Добавление репозитория Redis и его установка:

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
sudo apt update

4. Установка основных компонентов:
Установите PHP с необходимыми модулями, веб-сервер, базу данных и другие инструменты одной командой:

sudo 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

5. Установка Composer (менеджер зависимостей для PHP):

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

Установка и базовая настройка панели Pterodactyl

1. Загрузка файлов панели

Создайте директорию и загрузите в нее последнюю стабильную версию панели:

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

2. Настройка базы данных MariaDB

Запустите скрипт безопасности MariaDB и задайте пароль для root:

sudo mysql_secure_installation

Создайте базу данных и пользователя для панели:

sudo mariadb -u root -p

В консоли MariaDB выполните следующие команды (замените StrongPassword123 на свой надежный пароль):

CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'StrongPassword123';
CREATE DATABASE panel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

3. Настройка окружения панели

Скопируйте файл конфигурации и установите PHP-зависимости:

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

Сгенерируйте ключ шифрования приложения и сохраните его:

sudo php artisan key:generate --force
sudo grep APP_KEY .env

4. Настройка параметров панели через CLI

Запустите мастер настройки. Вам потребуется последовательно указать данные:

  • Настройки URL, языка, кэширования (для Redis выберите redis).
  • Данные для подключения к базе данных (хост: 127.0.0.1, пользователь и пароль, созданные на шаге 2, имя БД: panel).
sudo php artisan p:environment:setup
sudo php artisan p:environment:database

Примените миграции базы данных и создайте начальные записи:

sudo php artisan migrate --seed --force

5. Создание учетной записи администратора

sudo php artisan p:user:make

Следуйте интерактивным подсказкам, чтобы создать первого пользователя с правами администратора.

6. Настройка прав доступа

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

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов.

Перейти

Настройка фоновых служб и веб-сервера

1. Настройка планировщика задач (Cron)

Для корректной работы панели требуется задача Cron. Откройте crontab для пользователя www-data:

sudo crontab -u www-data -e

Добавьте в конец файла строку:

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

2. Создание системной службы для обработки очередей

Создайте файл службы pteroq.service:

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

Вставьте следующую конфигурацию:

[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

Активируйте и запустите службы:

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

3. Настройка веб-сервера Nginx

Удалите конфигурацию по умолчанию и создайте новую для панели:

sudo rm /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/pterodactyl.conf

Вставьте следующую конфигурацию, заменив your-domain.com на ваш IP-адрес или доменное имя:

server {
 listen 80;
 server_name your-domain.com;
 root /var/www/pterodactyl/public;
 index index.php index.html index.htm;
 location / {
 try_files $uri $uri/ /index.php?$query_string;
 }
 location ~ \.php$ {
 fastcgi_pass unix:/run/php/php8.3-fpm.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
 fastcgi_buffers 16 16k;
 fastcgi_buffer_size 32k;
 fastcgi_connect_timeout 300;
 fastcgi_send_timeout 300;
 fastcgi_read_timeout 300;
 }
 location ~ /\.ht {
 deny all;
 }
}

Активируйте конфигурацию и перезапустите Nginx:

sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
sudo nginx -t # Проверка конфигурации на ошибки
sudo systemctl restart nginx

Завершение установки

Откройте ваш браузер и перейдите по IP-адресу или доменному имени вашего сервера. Вы должны увидеть страницу входа в панель Pterodactyl. Используйте для входа учетные данные администратора, созданные на шаге 5.

Что дальше? После успешного входа рекомендуется:

  1. Настроить SSL-сертификат (например, через Let’s Encrypt) для защиты соединения.
  2. Установить и настроить игровой демон Wings на том же или отдельном сервере, чтобы запускать игровые сервера.
  3. Ознакомиться с настройками панели, создать локацию и ваш первый игровой сервер.

Поздравляем! Панель управления Pterodactyl готова к работе.

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов.

Перейти