О Pterodactyl Panel
Pterodactyl - это панель с открытым исходным кодом для размещения игровых серверов и управления ими (Minecraft, Rust, игры на движке Source, голосовые серверы, боты). Каждый сервер работает в собственном Docker-контейнере под управлением демона Wings, а всё остальное вы делаете в веб-интерфейсе: консоль, файлы, резервные копии, учётные записи пользователей, лимиты ресурсов.
Эта конфигурация устанавливает на один Linux VPS панель (PHP, Nginx, MariaDB, Redis), phpMyAdmin, Docker и Wings. Скрипт также создаёт локацию «main», узел «Node-1», подключённый к Wings, и выделяет порты с 25565 по 25590, так что первый сервер можно создать без дополнительной настройки.
Прежде чем заказывать, учтите одно: для HTTPS-сертификата Let's Encrypt нужно доменное имя. Установочный скрипт ждёт, что вы укажете этот домен и свой e-mail, а A-запись DNS будет указывать на сервер. Порядок действий подробно описан в кратком руководстве ниже.
Что можно делать с Pterodactyl Panel
Полнофункциональная веб-панель
Панель работает на Nginx и PHP-FPM, в качестве базы данных используется MariaDB, а Redis отвечает за кэш, сессии и очередь задач. Очередь в фоне обрабатывает systemd-служба pteroq.
Wings и Docker уже установлены
Docker и демон Wings установлены, а конфигурацию узла панель генерирует в /etc/pterodactyl/config.yml. Если конфигурация корректна, Wings запускается как служба systemd.
Локальный узел уже создан
Узел Node-1 зарегистрирован с примерно 80% оперативной памяти и дискового пространства раздела /var, портами 8080 (Wings) и 2022 (SFTP) и выделенными портами с 25565 по 25590.
Автоматический HTTPS Let's Encrypt
Сертификат для вашего домена запрашивается через certbot. Хук продления при каждом обновлении сертификата перезагружает Nginx и перезапускает Wings.
phpMyAdmin на том же домене
phpMyAdmin доступен по адресу /phpmyadmin, для него создана отдельная учётная запись со случайным паролем. Удобно, когда нужно заглянуть в базу панели или в базы ваших игровых серверов.
Учётные данные создаются при установке
Администратору панели и пользователю phpMyAdmin назначаются случайные пароли, которые записываются в /tmp/credentials.txt (права 600). Телеметрия панели отключена.
Начало работы с Pterodactyl Panel
От заказа до запуска за несколько минут.
- 1
Закажите VPS с отмеченным приложением
Выберите Linux VPS в Париже или Франкфурте и отметьте Pterodactyl Panel на вкладке «Приложения». Подойдут Ubuntu 22.04, Ubuntu 24.04 или Debian 12; если планируете игровые серверы, берите 4 ГБ RAM.
- 2
Подключитесь и направьте домен на сервер
Когда сервер будет готов, создайте у регистратора (см. /web-domains) A-запись вашего поддомена на SERVER_IP, затем откройте SSH-сессию.
Bashssh root@SERVER_IP - 3
Укажите домен и запустите установку
Скрипт /opt/install-pterodactyl.sh останавливается, пока в DOMAIN и LE_EMAIL остаются примерные значения. Измените их, запустите скрипт заново, прочитайте учётные данные (пользователь admin) и откройте https://YOUR_DOMAIN. Установка займёт несколько минут, а если DNS обновляется медленно, то дольше.
Bashnano /opt/install-pterodactyl.sh bash /opt/install-pterodactyl.sh cat /tmp/credentials.txt - 4
Защитите сервер перед запуском в работу
Скопируйте /tmp/credentials.txt за пределы сервера, смените пароль администратора и включите файрвол, пропускающий SSH, HTTP(S), Wings (8080), SFTP (2022) и ваши игровые порты. Заранее настройте резервное копирование базы данных и каталога /var/lib/pterodactyl/volumes.
Bashcp /tmp/credentials.txt /root/credentials.txt apt-get install -y ufw ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp ufw allow 8080/tcp && ufw allow 2022/tcp && ufw allow 25565:25590/tcp ufw enable
Сценарии использования Pterodactyl Panel
Хостинг серверов Minecraft
Создавайте несколько изолированных серверов в контейнерах с отдельными лимитами памяти и диска и выдавайте каждому игроку или клиенту ограниченный доступ только к его серверу.
Сообщество или игровой клан
Соберите игровые серверы и Discord-ботов в одном интерфейсе. Субпользователи смогут запускать и останавливать серверы и редактировать файлы без доступа по SSH.
Перепродажа игровых серверов
Небольшая компания может предлагать игровые серверы клиентам: у каждого будут своя учётная запись в панели, своя консоль и свой доступ по SFTP.
Тестовая площадка перед масштабированием
Опробуйте панель, eggs и лимиты ресурсов на одном VPS, а когда нагрузка вырастет, добавьте узлы Wings или перейдите на [выделенный игровой сервер](/serveur-dedie-gaming).
Частые вопросы о Pterodactyl Panel
Да. Сертификат Let's Encrypt выпускается на домен, и узел Wings объявляется под этим же именем. Перед запуском скрипта создайте A-запись, указывающую на IP вашего VPS. Зарегистрировать домен можно на странице [доменов](/web-domains).
Подробнее о Pterodactyl Panel
Что скрипт ждёт от вас
Скрипт запускается через cloud-init при первой загрузке. Если значения DOMAIN и LE_EMAIL не изменены, он выводит сообщение и завершается, не установив ничего, кроме базовых пакетов. Тогда достаточно отредактировать файл и запустить его снова командой bash /opt/install-pterodactyl.sh.
После запуска скрипт ждёт примерно до 10 минут, пока DNS вашего домена начнёт указывать на публичный IP сервера, а затем пять раз пытается получить сертификат. Поэтому порт 80 должен быть доступен снаружи. Скрипту также нужен PHP 8.1 или новее: он рассчитан на Ubuntu 22.04, Ubuntu 24.04 и Debian 12. В другой системе он остановится, если версия PHP окажется слишком старой.
Скрипт написан для чистого сервера. Не запускайте его повторно на машине, где панель уже успешно установлена.
Где что находится
- Панель: /var/www/pterodactyl (файл конфигурации .env в корне)
- Конфигурация Nginx: /etc/nginx/sites-available/pterodactyl.conf
- Конфигурация Wings: /etc/pterodactyl/config.yml
- Данные игровых серверов: /var/lib/pterodactyl/volumes
- Службы:
pteroq,wings,nginx,mariadb,redis-server,docker
Файл /tmp/credentials.txt может пропасть после перезагрузки, потому что /tmp иногда очищается. Скопируйте его сразу после первого входа.
Резервные копии
Важны три вещи: база MariaDB панели (она называется panel), файл .env панели (в нём хранится ключ приложения) и каталог с данными игровых серверов. Ежедневный mysqldump и копирование этих путей во внешнее хранилище закрывают почти все риски.
Bashmysqldump panel > /root/panel-$(date +%F).sql cp /var/www/pterodactyl/.env /root/pterodactyl.env
phpMyAdmin и файрвол
Учётная запись pma_admin имеет все привилегии в MariaDB. Если phpMyAdmin нужен вам не постоянно, ограничьте доступ к нему по IP в конфигурации Nginx или удалите ссылку /var/www/pterodactyl/public/phpmyadmin.
Игровые порты, которые публикует Docker, могут обходить правила ufw. После настройки проверьте снаружи, какие порты действительно отвечают. Для защиты от объёмных атак посмотрите VPS с защитой от DDoS.