Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Crafty Controllerv4.11.0

Панель для серверов Minecraft Java, Bedrock и Hytale на вашем сервере: несколько миров из браузера, бэкапы по расписанию, root и свои порты вместо аренды по гигабайтам.

После создания сервера панель разворачивается сама: Docker поднимает Crafty Controller, отдельный контейнер Caddy выпускает Let's Encrypt и открывает панель по HTTPS на magic-DNS адресе - вручную ничего настраивать не нужно. Первый запуск занимает около 3 минут: панель в это время чинит права на дисках, выключать сервер в эти минуты нельзя. Игровые порты открыты наружу сразу - можно создавать сервер и подключаться.

Что внутри

Crafty Controller (Python/Tornado)
панель: создание серверов, веб-консоль, файловый менеджер, планировщик бэкапов.
SQLite
настройки панели и список серверов, встроена в тот же контейнер.
Caddy
reverse-proxy и авто-TLS (Let's Encrypt), отдельный процесс. Панель слушает только localhost.

Итого один контейнер продукта плюс Caddy.

Безопасность

  • Пароль администратора - пароль вашего серверапанель генерирует свой пароль при первом старте, рецепт сразу меняет его на пароль сервера: отдельного пароля запоминать не нужно.
  • Ставится актуальная версия с закрытыми уязвимостямирецепт пином тянет конкретный релиз, а не latest; в 4.11.0 закрыты две уязвимости межсайтового скриптинга.
  • fail2banбанит IP после серии неудачных попыток входа по SSH.
  • HTTPS с автопродлениемLet's Encrypt на magic-DNS или вашем домене.
  • Веб-карта мира (Dynmap) закрыта по умолчаниюу нее нет своей авторизации, открывать ее наружу - ваше решение, не наше умолчание.

Как войти

  1. Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Пример: IP 45.15.159.190 -> https://45-15-159-190.fatmetal.net (этот же адрес показан при входе по SSH).

  2. Войдите логином admin и паролем вашего сервера (тем же, что для SSH) - администратора панель уже завела.

  3. Дальше нажмите Создать новый сервер, выберите Minecraft Java, Bedrock или Hytale, версию и объем памяти - панель сама скачает файл игры и запустит сервер на одном из открытых портов.

Свой домен

  1. Направьте A-запись домена на IP сервера.
  2. Убедитесь, что домен указывает на сервер: ping <домен> показывает IP сервера. Пока не показывает - подождите: DNS обновляется от нескольких минут до часа.
  3. Задайте DOMAIN=ваш.домен в /etc/crafty-mp/params.env и выполните bash /opt/crafty-mp/install.sh - Caddy перевыпустит сертификат под новый домен.
  4. Входите тем же паролем сервера - смена домена пароль не трогает. Полная инструкция - на сервере: cat /root/crafty-controller-credentials.txt.

Требования

Тариф CPU4-RAM8-DISK100: панель в простое держит около 54 МиБ, один игровой сервер с памятью по умолчанию добавляет еще около гигабайта - на этом тарифе помещаются два сервера с запасом под игроков. Для одного-единственного сервера хватает и CPU2-RAM4-DISK50. Образ на диске - 2,6 ГБ (пять версий Java внутри, под любую версию игры).

Данные растут, и растут в первую очередь бэкапы: планировщик панели по умолчанию хранит все копии без ограничения, и в каждую копию попадает весь каталог сервера вместе с файлом игры - на играном мире это десятки гигабайт в месяц при ежедневном расписании. Сразу после первого входа задайте лимит числа копий в настройках бэкапа. Под рост бэкапов и миров берите диск побольше - тариф CPU4-RAM8-DISK100 дает 100 ГБ, этого хватает надолго.

Подробный разбор с замерами →

Игровые порты

Открыты наружу сразу: 25565-25570/tcp под серверы Minecraft Java, 19132/udp под сервер Bedrock. Создавая сервер в панели, укажите порт из этого диапазона. Нужно больше портов (несколько серверов Bedrock, Hytale) - впишите GAME_PORT_FROM/GAME_PORT_TO или BEDROCK_PORT в /etc/crafty-mp/params.env и выполните bash /opt/crafty-mp/install.sh снова.

Crafty Controller990 ₽/месЗапустить →
Спросить инженера в TelegramМы на связи