1589684513868.png

Приветствую, юный(или не очень) серверостроитель. Так как многие испытывают некоторые проблемы с установкой панели Pterodactyl, было решено написать данный гайд. Он написан на основе оригинальной документации, доступной на официальном сайте.

Демо-версия панели

0. Что такое Pterodactyl, терминология, плюсы и минусы.
Pterodactyl - это open-source панель для управления игровыми серверами, написанная на PHP7, NodeJS и Go. Разработанная с упором на безопасность, она запускает все сервера в Docker-контейнерах и предоставляет при этом администраторам и пользователям удобный и интуитивно-понятный интерфейс
Теперь можно перейти к плюсам и минусам.

Структура всей системы:
1589714561650.png
Плюсы:
  • Повышенная безопасность. Если кто-то воспользуется каким-либо эксплоитом, позволяющим выполнять произвольный код и/или модифицировать файловую систему, он не сможет ничего сделать на хост машине (за пределами контейнера).
  • Удобный интерфейс управления. Не нужно постоянно подключаться к серверу через SSH, в отличии от LGSM, позволяющего управлять серверами только локально.
  • Легкое масштабирование. Можно легко расширять свою сетку серверов, в том числе на других локациях.
  • Контроль над ресурсами. Благодаря Docker, можно тонко контролировать ресурсы, доступные серверам для использования.
  • Можно использовать для организации хостинга
Минусы:
  • В текущем релизе нет функции для резервного копирования
  • Использование плагинов с жёсткой привязкой по IP немного снижает уровень безопасности, предоставляемый Docker по-умолчанию
  • Сложен для установки простому пользователю
  • Нельзя запускать сервера от root
Docker - ПО для автоматизации развертывания и управления приложениями в средах с поддержкой контейнеризации.

Panelанель)— Обозначает саму панель Pterodactyl, которая позволяет добавлять новые ноды(узлы) и сервера.

Nodeода, узел) — Физическая машина, на которой запущен демон.

Daemon(Демон, сервис) — Сервис, написанный на Nodejs, который соединяет Docker и Панель для безопасного управления серверами через Панель.

Server(Сервер) — В нашем случае, сервер - это конкретный экземпляр игрового сервера, запущенный через Панель. Он создается на Ноде и их может быть некоторое количество штук.

Container(Контейнер) — Каждый сервер запускается внутри изолированного контейнера для применения каких-либо ограничений на ресурсы(например, CPU и RAM) и устранения каких-либо пересечений с другими серверами на той же ноде. Они создаются и запускаются с помощью Docker.

Nest(Гнездо) — Каждое гнездо используется определенным типом игровых серверов, например для Minecraft, Teamspeak или Terraria и могут содержать несколько яиц.

Egg(Яйцо) — Каждое яйцо обычно используется чтобы хранить настройки для конкретного типа игры, например, Vanilla, Spigot или Bungeecord для Minecraft.
Следующая статья из серии Введение