Pterodactylv1.15.1
Панель для игровых серверов на вашем сервере: десятки игр от Minecraft до Rust, каждый сервер в своем контейнере со своими лимитами, веб-консоль и файлы без SSH вместо аренды по серверам.
После создания сервера панель разворачивается сама: Docker поднимает Pterodactyl Panel вместе с базой и кэшем, рядом ставится и подключается демон Wings - он и создает игровые серверы, - Caddy выпускает Let's Encrypt и открывает панель по HTTPS на magic-DNS адресе. Администратор уже заведен, пул портов под будущие серверы уже готов - можно сразу создавать первый сервер.
Что внутри
- Pterodactyl Panel (PHP/Laravel, React)
- веб-интерфейс: создание серверов, консоль, файловый менеджер, бэкапы, управление пользователями.
- Wings (Go)
- демон на сервере: создает и изолирует каждый игровой сервер отдельным Docker-контейнером со своими лимитами CPU, памяти и диска.
- MariaDB и Redis
- база и кэш панели.
- Caddy
- reverse-proxy и авто-TLS (Let's Encrypt) для панели и для Wings, два адреса на одном сертификате.
Итого три контейнера панели плюс Wings процессом на сервере, и по контейнеру на каждый игровой сервер, который вы создадите.
Безопасность
- Каждый игровой сервер в своем контейнерелимиты CPU, памяти и диска не дают одному серверу забрать ресурсы у соседних.
- Пароль администратора - пароль вашего серверапанель не умеет веб-регистрацию вовсе, учетку заводит сама установка.
- Ставится актуальная версия с закрытыми уязвимостямирецепт пином тянет конкретный релиз панели и демона, а не
latest. - fail2banбанит IP после серии неудачных попыток входа по SSH.
- HTTPS с автопродлением на обоих адресахпанель и демон Wings получают сертификаты Let's Encrypt одинаково, продление берет на себя Caddy.
Как войти
Адрес формируется из IP сервера: замените точки на дефисы и добавьте
.fatmetal.net. Пример: IP45.15.159.190->https://45-15-159-190.fatmetal.net(этот же адрес показан при входе по SSH).Войдите логином
admin@<ваш-адрес>(или значениеADMIN_EMAIL, если задавали при заказе) и паролем вашего сервера - администратора панель уже завела, веб-регистрации в продукте нет.Дальше нажмите + New Server, выберите игру, версию и свободный порт из уже готового пула - панель сама скачает нужное и запустит сервер.
Свой домен
- Направьте A-запись домена на IP сервера.
- Убедитесь, что домен указывает на сервер:
ping <домен>показывает IP сервера. Пока не показывает - подождите: DNS обновляется от нескольких минут до часа. - Задайте
DOMAIN=ваш.доменв/etc/pterodactyl-mp/params.envи выполнитеbash /opt/pterodactyl-mp/install.sh- Caddy перевыпустит сертификаты для панели и для Wings, узел получит новый адрес автоматически. - Входите тем же паролем сервера - смена домена пароль не трогает.
Полная инструкция - на сервере:
cat /root/pterodactyl-credentials.txt.
Требования
Тариф CPU4-RAM8-DISK100: панель с демоном и базой в простое держат около 830 МБ на всю машину, один игровой сервер Minecraft добавляет около 520 МБ - на этом тарифе помещается несколько серверов с запасом. Образы под панель и первую игру - около 1,9 ГБ, каждая следующая версия Java или игра - еще 0,8-0,9 ГБ. Лимиты узла панель считает от памяти и диска вашей машины сама, под любой тариф.
Данные растут, и растут в первую очередь бэкапы: в копию попадает весь каталог сервера вместе с файлом игры, а не только сам мир. Панель умеет грузить бэкапы в S3-совместимое хранилище нативно - для растущей коллекции серверов это дешевле и надежнее локального диска, настраивается добавлением AWS_* переменных.
Игровые порты
Пул портов 25565-25570 создан на узле заранее - каждый порт открыт и для TCP, и для UDP, можно сразу выбирать его при создании сервера в панели. Порт реально отвечает только когда на нем запущен сервер - это устройство продукта, не поломка. Нужно больше портов - впишите GAME_PORT_FROM/GAME_PORT_TO в /etc/pterodactyl-mp/params.env и выполните bash /opt/pterodactyl-mp/install.sh снова. Отдельно открыт порт 2022 - прямой доступ к файлам сервера по SFTP, логином вида <имя_сервера>.<ваш_логин> и паролем от панели.