Приветствую, юный(или не очень) серверостроитель. Так как многие испытывают некоторые проблемы с установкой панели Pterodactyl, было решено написать данный гайд. Он написан на основе оригинальной документации, доступной на официальном сайте.
Демо-версия панели
0. Что такое Pterodactyl, терминология, плюсы и минусы.
Pterodactyl - это open-source панель для управления игровыми серверами, написанная на PHP7, NodeJS и Go. Разработанная с упором на безопасность, она запускает все сервера в Docker-контейнерах и предоставляет при этом администраторам и пользователям удобный и интуитивно-понятный интерфейс
Теперь можно перейти к плюсам и минусам.
Структура всей системы:
Плюсы:
Теперь можно перейти к плюсам и минусам.
Структура всей системы:
Плюсы:
- Повышенная безопасность. Если кто-то воспользуется каким-либо эксплоитом, позволяющим выполнять произвольный код и/или модифицировать файловую систему, он не сможет ничего сделать на хост машине (за пределами контейнера).
- Удобный интерфейс управления. Не нужно постоянно подключаться к серверу через 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.
Panel(Панель)— Обозначает саму панель Pterodactyl, которая позволяет добавлять новые ноды(узлы) и сервера.
Node(Нода, узел) — Физическая машина, на которой запущен демон.
Daemon(Демон, сервис) — Сервис, написанный на Nodejs, который соединяет Docker и Панель для безопасного управления серверами через Панель.
Server(Сервер) — В нашем случае, сервер - это конкретный экземпляр игрового сервера, запущенный через Панель. Он создается на Ноде и их может быть некоторое количество штук.
Container(Контейнер) — Каждый сервер запускается внутри изолированного контейнера для применения каких-либо ограничений на ресурсы(например, CPU и RAM) и устранения каких-либо пересечений с другими серверами на той же ноде. Они создаются и запускаются с помощью Docker.
Nest(Гнездо) — Каждое гнездо используется определенным типом игровых серверов, например для Minecraft, Teamspeak или Terraria и могут содержать несколько яиц.
Egg(Яйцо) — Каждое яйцо обычно используется чтобы хранить настройки для конкретного типа игры, например, Vanilla, Spigot или Bungeecord для Minecraft.