Pterodactyl и Wings на своём VPS: стоит ли ставить самому

Что такое Wings, почему панель и Wings работают на разных машинах, какие порты и сертификаты нужны и что вы берёте на себя, если ставите игровой хостинг на собственный VPS.

Команда EGN 9 мин чтения
Pterodactyl и Wings на своём VPS: стоит ли ставить самому
Содержание 16
  1. Коротко
  2. Как устроена схема
  3. Что нужно Wings
  4. Порты
  5. Что вы берёте на себя
  6. Установка в общих чертах
  7. Чек-лист перед установкой
  8. Симптом → причина → решение
  9. Когда стоит, а когда нет
  10. Частые ошибки
  11. Итог
  12. Вопросы и ответы
  13. Нужна ли панель и Wings на одной машине?
  14. Какие порты открыть для Wings?
  15. Нужен ли домен для Wings?
  16. Что делать после продления сертификата?

Pterodactyl — открытая панель управления игровыми серверами. Её используют многие хостинги, а также владельцы, которые хотят собрать свой парк серверов. Главная часть системы — Wings, демон, который запускает игровые контейнеры на конкретной машине. Вопрос статьи прост: стоит ли ставить Wings на собственный VPS или проще взять готовый хостинг. Ответ зависит от того, сколько серверов вы держите и готовы ли администрировать их сами.

Коротко

Wings — это программа, которая запускает Docker-контейнеры игр на машине и отчитывается панели. Панель обычно стоит отдельно. На своём VPS Wings имеет смысл, если у вас несколько игровых серверов, опыт администрирования и время на обновления. Для одного-двух серверов и нескольких игр готовый хостинг с панелью обычно проще, потому что установку, обновления и копии вы берёте на себя. Порты по умолчанию в форме ноды панели — 8080 для API Wings и 2022 для SFTP. Проверяйте их в /etc/pterodactyl/config.yml.

Как устроена схема

Панель — это веб-интерфейс, где вы создаёте серверы, назначаете пользователей и смотрите консоль. Сами игры при этом работают не в панели, а на машине, где установлен Wings. Панель отправляет Wings команды через API, а Wings создаёт контейнер, скачивает игру и запускает её.

Панель управляет, Wings запускает игры на вашем VPS
Панель управляет, Wings запускает игры на вашем VPS

Подключение к консоли устроено так: панель выдаёт браузеру адрес вида wss://<домен-ноды>:<порт>/api/servers/<id>/ws, и браузер подключается к Wings напрямую (это видно в исходниках панели, WebsocketController). Поэтому закрыть порт API для всех, кроме IP панели, нельзя: у пользователей перестанут работать консоль и загрузка файлов. Отсюда следует важное правило: Wings нужен там, где лежат файлы игры и где работают контейнеры. Панель может стоять на одной машине, а Wings на другой. Они общаются по сети, и тогда открываются порты между ними.

Что нужно Wings

Wings работает только в Linux и требует Docker. По официальной документации (docs.pterodactyl.io), на ноябрь 2026 поддерживаются Ubuntu 22.04 и 24.04, Debian 11, 12 и 13, RHEL, Rocky Linux и AlmaLinux 8 и 9; Windows не поддерживается. Список меняется с релизами, поэтому сверяйте его перед установкой.

Важна и виртуализация. Документация гарантирует работу на KVM, а на OpenVZ, Virtuozzo и LXC Wings, скорее всего, не заработает, потому что внутри нужно запускать Docker. Проверка: systemd-detect-virt. Если в ответе OpenVZ или LXC, это проблема. VPS EGN работают на KVM, этого достаточно. Если панель работает по HTTPS, Wings тоже должен иметь сертификат для своего домена. Тогда нужен домен, указывающий на машину, и сертификат, например Let’s Encrypt. Без этого браузер заблокирует соединение с консолью (смешанный контент).

Настройки Wings лежат в файле конфигурации, по умолчанию это /etc/pterodactyl/config.yml. В нём задаются адрес панели, токен подключения, порт API и параметры SFTP. Токен подключения выдаётся панелью для конкретной ноды, и его нельзя публиковать. Конфиг проще всего взять на вкладке Configuration вашей ноды в панели.

Порты

По умолчанию Wings слушает два порта:

Порт Назначение Кто должен иметь доступ
8080 API Wings (в том числе консоль и загрузка файлов из браузера) Панель и браузеры пользователей
2022 SFTP для файлов сервера Пользователи панели

Порты игр открываются отдельно, по одному на каждый сервер. Например, Minecraft обычно использует 25565, а другие игры — свои протоколы. Порты назначаются в разделе Allocations ноды. Если сервер не виден снаружи, проверьте, открыт ли порт игры в ufw и совпадает ли он с выделенным в панели.

Это значения по умолчанию из формы ноды (в исходниках панели порты по умолчанию 8080 и 2022). Менять их можно, но тогда меняется и настройка ноды в панели, и api.port и system.sftp.bind_port в конфиге Wings. Перед изменением сверьте оба места, иначе связь пропадёт. SFTP-порт не должен совпадать с портом SSH самой машины.

Что вы берёте на себя

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

Что вы берёте на себя при установке Wings на своём VPS
Что вы берёте на себя при установке Wings на своём VPS
  • Обновления. Ядро Linux, Docker и сам Wings обновляете вы. Пропущенное обновление ядра — это риск безопасности для всех серверов на машине.
  • Сертификаты. Let’s Encrypt продлевается автоматически, но По опыту эксплуатации парка нод в EGN, Wings не подхватывает продлённый сертификат без перезапуска: после продления он продолжает отдавать старый, и ответы нод падают с ошибкой 504. Настройте хук продления certbot, который перезапускает службу: certbot renew --deploy-hook "systemctl restart wings".
  • Фаервол. Порты API и SFTP открыты для пользователей панели, порты игр — для игроков. Закрывайте всё остальное, включая SSH по паролю.
  • Защита от атак. Условия фильтрации у разных провайдеров разные, уточняйте их заранее. Игровой сервер на публичном IP — частая цель, и защиту придётся продумать.
  • Резервные копии. Миры и файлы серверов нужно копировать самостоятельно, как описано в статье Бэкапы VPS: снапшоты, S3 и restic.
  • Ресурсы. Каждый игровой контейнер берёт память и процессор. Нужно считать запас, а не выставлять лимиты по наитию.

Установка в общих чертах

Полная установка описана в официальной документации и меняется от версии к версии, поэтому здесь только порядок шагов:

  1. Установите Docker по официальной инструкции Docker.
  2. Установите Wings по инструкции Pterodactyl для вашей версии.
  3. Создайте ноду в панели, скопируйте из неё конфиг и положите его в /etc/pterodactyl/config.yml.
  4. Выпустите сертификат для домена ноды и укажите пути к нему в блоке api.ssl конфига (обычно /etc/letsencrypt/live/<домен>/fullchain.pem и privkey.pem).
  5. Запустите службу Wings и проверьте, что нода в панели стала зелёной.
  6. Создайте тестовый сервер на минимальных ресурсах, запустите и проверьте консоль и файлы.

Не ставьте Wings на машину, которую используете для других сервисов, если они не изолированы. Игровой контейнер может съесть всю память и уронить соседей.

Чек-лист перед установкой

Прежде чем ставить Wings на VPS, ответьте на шесть вопросов:

  1. Сколько игровых серверов будет на одной машине и сколько памяти они займут вместе с запасом.
  2. Есть ли домен для ноды и кто будет продлевать сертификат.
  3. Закрыт ли порт API для всех, кроме панели.
  4. Есть ли план обновлений ядра и Docker: кто и когда.
  5. Где лежат копии миров и как проверяется их восстановление.
  6. Что будет с серверами, если машина недоступна сутки: кто получит уведомление и как быстро его увидят.

Если на последние два вопроса ответа нет, не переходите к установке. Недоступность ноды без уведомления означает, что игроки узнают о проблеме раньше вас.

Симптом → причина → решение

Симптом Частая причина Что сделать
Нода в панели красная Wings не запущен или API не доступен systemctl status wings, journalctl -u wings, проверьте порт 8080 и сертификат
504 или ошибка подключения после продления сертификата Wings читает сертификат при старте Перезапустите службу, настройте хук certbot
Файлы сервера не открываются по SFTP Закрыт порт 2022 или неверные данные Проверьте ufw и порт в конфиге
Игроки не подключаются Порт игры закрыт или не совпадает с панелью Откройте порт в ufw и сверьте его с настройкой сервера
Сервер падает по памяти Лимиты контейнера выше доступной памяти Уменьшите лимиты и добавьте память или новую ноду
Docker не запускается после обновления Конфликт версий или ядра Проверьте journalctl -u docker, откатите пакет при необходимости

Когда стоит, а когда нет

Своя установка Wings оправдана, если у вас много серверов, вы понимаете сетевую часть, можете вести журнал обновлений и готовы к инцидентам ночью. Тогда вы сами решаете, где и на чём всё работает, а полный контроль над нодой остаётся у вас.

Если серверов один-два, а игры разные, выгоднее взять хостинг. Вы платите за работающий сервер и получаете поддержку, а время на установку, сертификаты и обновления остаётся у вас. Для игр с модами готовый хостинг тоже экономит часы. Например, в панели EGN плагины и моды ставятся из раздела «Моды и плагины», а копии мира делаются в разделе «Бэкапы».

Перед выбором сравните две вещи: сколько часов в месяц вы готовы тратить на администрирование и что будет, если машина ляжет в выходные. Если ответ «ничего страшного не будет» — ставьте Wings. Если не так — посмотрите статью Игровой сервер на VPS или хостинг игр.

Частые ошибки

  • Ставят Wings на слабый VPS. Игра требует памяти, а Docker и система съедают её тоже. Берите запас.
  • Не продлевают сертификат с перезапуском Wings. Панель видит ноду как недоступную через несколько недель после продления.
  • Закрывают порт API по IP панели. Консоль и загрузка файлов идут из браузера напрямую в Wings, поэтому порт 8080 должен быть доступен пользователям. Защищайте его сертификатом и обновлениями Wings, а не списком IP.
  • Меняют порт в конфиге без панели. Связь пропадает, и панель не понимает, куда стучаться.
  • Нет копий миров. Переустановка машины без копий стирает все серверы.
  • Токен ноды в открытом виде. Токен даёт управление нодой. Храните его так же, как пароль.

Итог

Pterodactyl с Wings на своём VPS — рабочая и гибкая схема для тех, кто готов администрировать парк серверов. Wings запускает игры, панель управляет ими, а вам достаются обновления, сертификаты, фаервол и копии. Для одной-двух игр и тех, кто не хочет возиться с инфраструктурой, проще взять хостинг с панелью. Решение принимайте по времени, которое вы готовы тратить, а не по цене машины.

Вопросы и ответы

Нужна ли панель и Wings на одной машине?

Нет, они могут стоять раздельно. Панель и Wings общаются по сети через API и SFTP, поэтому порты между ними нужно открыть.

Какие порты открыть для Wings?

По умолчанию 8080 для API (его используют и панель, и браузеры пользователей) и 2022 для SFTP. Плюс порты самих игр. Проверьте значения в config.yml и в настройках ноды.

Нужен ли домен для Wings?

Если панель работает по HTTPS, то да: Wings тоже нужен домен и сертификат, иначе браузер заблокирует соединение. Let’s Encrypt подходит.

Что делать после продления сертификата?

Перезапустить Wings. Настройте хук certbot, который делает это автоматически: по опыту EGN без перезапуска нода продолжает отдавать старый сертификат.

Сервер под игры за пару минут — egnetwork.ru

Читать далее

Вся рубрика →