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

Crafty Controller

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

Проверено на версии 4.11.0, 3 октября 2026 ~11 минут чтения Fatmetal Team
Игровые серверы Лицензия: GPL-3.0-or-later Один контейнер, без внешней БД Статус: запущен у нас, 4.11.0

Вердикт

Подходит
  • сервер для друзей, который работает круглосуточно и не засыпает без игроков
  • несколько серверов разных версий на одной машине, из одного окна
  • родителям и преподавателям: роли, журнал действий, бэкапы миров
  • тем, кто устал от слотов и 15 ГБ диска у арендного хостинга
Не подходит
  • продавать серверы чужим людям: изоляции и лимитов на сервер нет
  • тем, кто не готов платить за машину вообще
  • Windows с Docker Desktop: апстрим этот сценарий не поддерживает
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU4-RAM8-DISK100 Сложность: easy Первый старт: 196 с Главный риск: прервать первый старт Прод-готовность: с внешним TLS
Что это

Что это и какую задачу решает

Crafty Controller - это пульт для серверов Minecraft. Вы открываете сайт в браузере, нажимаете «создать сервер», выбираете версию игры, и панель сама скачивает нужный файл сервера, запускает его и показывает консоль.

Внутри образа лежат сразу пять версий Java - 8, 11, 17, 21 и 25. Для старых сборок и для последней версии игры нужны разные, и подбирать их вручную не придется: панель берет подходящую сама.

Кроме кнопок «старт» и «стоп» есть то, ради чего обычно и уходят с домашнего компьютера: бэкапы миров по расписанию, файловый менеджер, планировщик задач, управление игроками и банами, несколько пользователей с разными правами. Вход защищен одноразовыми кодами и ключами passkey.

Интерфейс переведен на русский: из 829 строк переведено 783, то есть 94 процента. По-английски остаются редкие подписи вроде «Server Controls».

PythonTornadoSQLiteJRE 8-25DockerGPL-3.0
Сравнение

Своя машина против аренды

Три способа получить сервер Minecraft и то, чем они на самом деле отличаются.

ПараметрСвой сервер с CraftyАренда игрового хостингаБесплатный хостинг
Цена за гигабайт памяти125-156 руб/мес116-189 руб/мес0
Сколько серверовсколько влезет в памятьодин на тарифодин
Работает без игроковдадазасыпает
Диск под миры и бэкапы50-100 ГБ15-20 ГБлимит площадки
Root и любые модыданетнет
Машину можно занять чем-то ещеданетнет

Цены аренды сняты 3 октября 2026 у одного из российских игровых хостингов: 379 руб за 2 ГБ, 529 руб за 4 ГБ, 1069 руб за 8 ГБ, 2149 руб за 16 ГБ в месяц.

!

Экономии в рублях за гигабайт тут нет. Память на обоих рынках стоит примерно одинаково, и обещать «втрое дешевле» было бы неправдой. Разница в том, что входит в цену: root, любое число серверов и версий, диск под историю миров, и та же машина может работать еще и под что-то кроме игры.

Отдельная линия сравнения - другие панели. Pterodactyl мощнее и умеет изолировать каждый сервер в своем контейнере, но его установка тянет PHP, MariaDB, Redis, веб-сервер и отдельный демон Wings. Multicraft бесплатен для личного использования на одной машине, а дальше стоит 1,49 евро за игровой сервер в месяц. Crafty - это один контейнер и никакой внешней базы.

Под капотом

Тех-стек и архитектура

Сама панель - приложение на Python с веб-сервером Tornado, данные держит в файле SQLite. Отдельная база, Redis и очереди не нужны: весь продукт это один контейнер.

Игровые серверы панель запускает как обычные процессы Java рядом с собой, внутри того же контейнера, и следит за ними. Поэтому память считается просто: панель плюс столько процессов Java, сколько у вас миров.

Образ собран на Ubuntu 24.04 и весит 2,64 ГБ на диске - это цена пяти встроенных версий Java. На Docker Hub он показан как 670 МБ, но это размер в сжатом виде, до распаковки.

Приложение работает не от root: процесс запускается под пользователем с идентификатором 1000, а доступ к файлам получает через группу. Это важно знать заранее - именно отсюда растет главная засада первого запуска, про нее ниже.

Конфигурация

Сколько памяти просит на самом деле

Разработчик требований к железу не публикует, поэтому считали сами.

Панель в простое, без серверов54 МиБ
Один ванильный сервер 26.31045 МиБ
Занято в системе: панель + 1 сервер1,7 ГБ
Занято в системе: панель + 2 сервера3,2 ГБ
Минимум для одного сервераCPU2-RAM4-DISK50
РекомендуемCPU4-RAM8-DISK100

Арендные хостинги пишут в описании тарифов, что для версий старше 1.14 нужно минимум 3 ГБ. Это про память, которую тариф выделяет, а не про реальный расход: пустой ванильный сервер с настройками панели по умолчанию занял чуть больше гигабайта.

i

Где проходит граница. На CPU2-RAM4-DISK50 помещается ровно один ванильный сервер - 1,7 ГБ занято, остальное запас под игроков. Два сервера дают 3,2 ГБ, и четырех гигабайт им уже мало: когда придут люди, каждый процесс Java дорастет до своих двух гигабайт. Поэтому для нескольких миров берите CPU4-RAM8-DISK100.

В маркетплейсе Fatmetal

Не хотите ставить руками?

Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочую панель на своем домене, валидный TLS и файл с доступами.

Рекомендуемая конфигурация:
4 vCPU · 8 ГБ RAM · 100 ГБ NVMe от 990 ₽/мес

Развернуть в 1 клик →
Развертывание

Развертывание на Fatmetal

Cloud Server, Ubuntu 24.04, Docker и один compose-файл.

  1. Создать сервер

    Тариф CPU4-RAM8-DISK100, образ Ubuntu 24.04 LTS. Docker ставится из официального репозитория, у нас это заняло 77 секунд.

  2. Написать compose-файл

    Версию образа закрепляем явно: в реестре теги идут без буквы v, а в репозитории - с ней.

    mkdir -p /opt/crafty && cd /opt/crafty
    cat > compose.yml <<'YAML'
    services:
      crafty:
        container_name: crafty_container
        image: registry.gitlab.com/crafty-controller/crafty-4:4.11.0
        restart: unless-stopped
        environment:
          - TZ=Europe/Moscow
        ports:
          - "127.0.0.1:8443:8443"
          - "127.0.0.1:19132:19132/udp"
          - "25565-25570:25565-25570"
        volumes:
          - ./docker/backups:/crafty/backups
          - ./docker/logs:/crafty/logs
          - ./docker/servers:/crafty/servers
          - ./docker/config:/crafty/app/config
          - ./docker/import:/crafty/import
    YAML
    docker compose up -d
  3. Дождаться первого старта

    Первый запуск идет около трех минут и это нормально. Ждите не состояния контейнера, а ответа панели:

    until curl -sk -o /dev/null -w '%{http_code}' https://127.0.0.1:8443/login | grep -q 200; do sleep 5; done
  4. Забрать пароль

    Панель генерирует логин и пароль сама и кладет в файл внутри тома. Сама его не показывает, искать надо так:

    sudo cat /opt/crafty/docker/config/default-creds.txt
  5. Выпустить нормальный сертификат

    Панель отдает только HTTPS на порту 8443 и только с самоподписанным сертификатом, поэтому наружу ставим прокси. Caddy забирает сертификат Let's Encrypt сам:

    ваш-домен.ru {
        reverse_proxy https://127.0.0.1:8443 {
            transport http {
                tls
                tls_insecure_skip_verify
            }
            header_up X-Forwarded-Proto {scheme}
        }
    }
Мастер создания сервера в Crafty Controller: вкладки Minecraft-Java, Minecraft-Bedrock и Hytale, выбор версии и объема памяти
Создание сервера: три семейства игр, выбор версии, память и порт. Crafty Controller 4.11.0, CPU4-RAM8-DISK100

Создание сервера из панели заняло у нас 2 секунды на запрос и 3 секунды на скачивание файла игры размером 62 МБ. От нажатия «запустить» до строки «Done» в консоли прошло 28 секунд для ванильной версии 26.3.

Замеры

Что измерили после запуска

Цифры со стенда CPU4-RAM8-DISK100, Ubuntu 24.04, без игроков на серверах.

Скачивание образа90 с
Образ на диске2,64 ГБ
Первый старт до рабочей панели196 с
Перезапуск после первого2 с
Старт ванильного сервера 26.328 с
Старт сервера Paper 26.265 с
Отклик панели44 мс
Бэкап пустого сервера128 МБ за 12 с
Приборная панель Crafty Controller: два сервера онлайн, расход памяти и процессора по каждому, размер каталога
Два мира на одной машине: ваниль 26.3 занимает 1,0 ГБ, Paper 26.2 - 1,4 ГБ

Отдельно обращаем внимание на разницу в старте: Paper создавал мир 47 секунд против 6 секунд у ванильной версии. Это не поломка, а особенность сборки - она делает при первом запуске больше работы.

i

Главное по ресурсам. Панель почти ничего не ест - 54 МиБ. Все остальное это игра: каждый сервер стоит около гигабайта в покое и дорастает до выделенного ему максимума под нагрузкой. Планировать машину нужно под Minecraft, а не под панель.

Проверено на версии 4.11.0, октябрь 2026, процессор Intel Xeon E5620. На новых версиях и другом железе результаты могут отличаться.

Подводные камни

Где может сломаться

Все три случая встретились нам на живой установке.

Первый запуск длится около трех минут не просто так. Контейнер в это время проходит по всему своему содержимому и выставляет права на смонтированные папки - иначе приложение, работающее не от root, не сможет в них писать.

PermissionError: [Errno 13] Permission denied: '/crafty/app/config/session.lock'

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

Решение. Положить любой файл в папку ./docker/import и перезапустить контейнер - это заставляет его выставить права заново. У нас панель ожила за 4 секунды. Файл потом убрать, иначе проверка будет повторяться при каждом запуске.

!

Порт 8000 из официального примера не работает. В compose-файле разработчика он есть, но панель слушает только 8443: в ее настройках нет параметра для обычного HTTP вообще. Пробрасывать 8000 бессмысленно, прокси нужно направлять на 8443.

!

Проверяйте размер скачанного файла сервера. Один раз из двух панель создала сервер Paper с пустым файлом игры и не сказала об этом ни в интерфейсе, ни в журнале. Ссылка, по которой она качает, при этом рабочая - мы проверили ее отдельно. Если сервер не стартует, посмотрите размер файла в папке сервера.

!

Не пробрасывайте весь диапазон портов из документации. Полный набор - это 135 портов, и Docker поднимает на каждый свой вспомогательный процесс: 136 процессов и 177 МиБ памяти впустую. Открывайте столько портов, сколько у вас серверов, плюс запас.

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

Безопасность и обновления

В версии 4.11.0 закрыты две уязвимости межсайтового скриптинга - в журнале действий и в вебхуках. Это повод не оставаться на 4.10.x: панель с веб-консолью к игровому серверу слишком лакомая цель.

Обновление сводится к смене номера версии в compose-файле:

docker compose pull && docker compose up -d

Что закрыть перед тем, как давать адрес друзьям: сменить сгенерированный пароль администратора, включить одноразовые коды для входа, спрятать панель за прокси с настоящим сертификатом, оставить снаружи только игровые порты и порт 443, настроить расписание бэкапов и ограничить число копий.

i

Про бэкапы отдельно. По умолчанию число копий не ограничено, а в архив попадает вся папка сервера вместе с файлом игры. У нас копия пустого сервера весила 128 МБ. На играном мире это гигабайты каждый день, поэтому сразу поставьте предел в настройках бэкапа.

Раздел резервных копий сервера в Crafty Controller: список конфигураций, место хранения и число хранимых копий
Резервные копии: в колонке числа копий у настройки по умолчанию стоит ноль - хранить все
Рядом

Связь с другими стеками

  • Обратный прокси - Caddy или Nginx Proxy Manager: панель снаружи должна быть под настоящим сертификатом.
  • Дополнительный диск - под бэкапы миров. Объектное хранилище не подойдет: панель не умеет работать с S3, в ней нет ни настроек, ни библиотеки для этого.
  • Мониторинг - Prometheus снимает метрики напрямую, панель отдает их в формате OpenMetrics без переходников.
  • Карта мира - Dynmap: порт под нее уже предусмотрен в примере конфигурации.
Консоль сервера Minecraft в браузере: живой журнал запуска, поле ввода команды, кнопки запуска и остановки
Консоль сервера в браузере: та же командная строка, что и в терминале, плюс кнопки управления
Без прикрас

Когда это НЕ ваш выбор

Вы продаете серверы чужим людям

Crafty не изолирует серверы друг от друга и не умеет резать ресурсы каждому. Для хостинг-бизнеса это Pterodactyl, где каждый сервер живет в своем контейнере, или Multicraft с модулями биллинга.

Вам нужно бесплатно

Панель бесплатная, машина - нет. Если платить не планируете, бесплатный хостинг с засыпанием сервера будет ближе к вашим ожиданиям, чем 500 рублей в месяц.

У вас Windows и Docker Desktop

Разработчик прямо пишет, что этот сценарий сломан: при остановке сервера мир может разрушиться. Для Windows есть отдельная portable-сборка, а Docker стоит запускать только на Linux.

Вам важна отказоустойчивость

Это один процесс и файловая база на одной машине. Кластера, реплик и переключения при отказе здесь нет и не предполагается.

FAQ

Частые вопросы

Хватит ли 4 ГБ памяти?

Для одного ванильного сервера хватит: панель с ним заняли 1,7 ГБ из четырех. Для двух миров нужен CPU4-RAM8-DISK100 - вдвоем они дают 3,2 ГБ, и запаса под игроков на четырех гигабайтах не останется.

Можно поставить без Docker?

Да, у проекта есть установщик для Linux, сборки для Windows и macOS, шаблоны для CasaOS и Unraid. Мы ставили через Docker: это самый массовый способ, по счетчику на сайте проекта так сделано больше 36 тысяч установок.

Поддерживает ли Bedrock и Hytale?

Да, оба. В мастере создания сервера это три отдельные вкладки, а Hytale появился в версии 4.9.0 в январе 2026.

Сколько серверов можно держать на одной машине?

Ограничение только по памяти: считайте примерно гигабайт на пустой сервер плюс то, что вы выделите ему под игроков. На CPU4-RAM8-DISK100 спокойно живут два сервера, на CPU6-RAM16-DISK100 - четыре.

Как делать бэкап?

Встроенным планировщиком панели. Он архивирует папку сервера целиком, включая мир. Обязательно задайте число хранимых копий: по умолчанию панель не удаляет старые.

Какая лицензия и можно ли использовать коммерчески?

GPL-3.0-or-later на весь код, платных редакций и урезанной бесплатной версии не существует. Облака у разработчика тоже нет - проект живет на донатах.

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

Для игроков нет, они подключаются по адресу сервера. Домен нужен панели: без него она останется с самоподписанным сертификатом, на который браузер ругается.

Итог

Crafty Controller закрывает ровно одну задачу и закрывает ее хорошо: дает нетехническому человеку кнопку «запустить сервер Minecraft» и не требует за это ни внешней базы, ни знания командной строки. Панель стоит 54 МиБ памяти, все остальное съедает сама игра: один сервер - около гигабайта, два - 3,2 ГБ. На CPU2-RAM4-DISK50 помещается один мир, для нескольких берите CPU4-RAM8-DISK100. Дешевле аренды по гигабайтам это не выходит, зато вы получаете root, любое число серверов и диск под историю миров. Главное - не выключать машину в первые три минуты после установки.

Рекомендуемая конфигурация для установки:
4 vCPU · 8 ГБ RAM · 100 ГБ NVMe

Не хотите устанавливать вручную?

Запустите Crafty Controller на этой конфигурации автоматически - от 990 ₽/мес.

Запустить Crafty Controller →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU4-RAM8-DISK100. Нашли баг в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи