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) закрыта по умолчаниюу нее нет своей авторизации, открывать ее наружу - ваше решение, не наше умолчание.
Как войти
Адрес формируется из IP сервера: замените точки на дефисы и добавьте
.fatmetal.net. Пример: IP45.15.159.190->https://45-15-159-190.fatmetal.net(этот же адрес показан при входе по SSH).Войдите логином
adminи паролем вашего сервера (тем же, что для SSH) - администратора панель уже завела.Дальше нажмите Создать новый сервер, выберите Minecraft Java, Bedrock или Hytale, версию и объем памяти - панель сама скачает файл игры и запустит сервер на одном из открытых портов.
Свой домен
- Направьте A-запись домена на IP сервера.
- Убедитесь, что домен указывает на сервер:
ping <домен>показывает IP сервера. Пока не показывает - подождите: DNS обновляется от нескольких минут до часа. - Задайте
DOMAIN=ваш.доменв/etc/crafty-mp/params.envи выполнитеbash /opt/crafty-mp/install.sh- Caddy перевыпустит сертификат под новый домен. - Входите тем же паролем сервера - смена домена пароль не трогает.
Полная инструкция - на сервере:
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 снова.