Запуск Minecraft Bedrock сервера в Docker-контейнере обеспечивает изоляцию, простое обновление и минимальный overhead. Однако установка аддонов требует строгого соблюдения структуры и ручной активации через JSON.
- Что используется вместо модов
- Docker stack для Bedrock сервера
- Структура каталогов (критично)
- Установка аддона
- Рекомендуемый способ — распаковка
- Если структура уже есть
- Активация аддонов через мир
- world_behavior_packs.json
- world_resource_packs.json
- Где взять UUID
- Перезапуск контейнера
- Проверка загрузки
- Автоматическая загрузка паков игрокам
- Ошибка: Unexpected version for the loaded data
- Причина
- Поведение
- Ограничения
- Частые ошибки
- Неверная структура
- Отсутствуют world JSON
- Несовпадение UUID
- Контейнер не перезапущен
- Best practices
- Заключение
Что используется вместо модов
В Bedrock Edition отсутствуют .jar-моды. Используются два типа паков:
- Behavior Pack — логика, AI, скрипты
- Resource Pack — текстуры, модели, UI
Форматы поставки:
.mcpack.mcaddon(оба пака)- распакованные директории
Docker stack для Bedrock сервера
Минимальный production-ready стек с поддержкой аддонов:
version: "3.8"
services:
mc-bedrock:
image: itzg/minecraft-bedrock-server:latest
container_name: mc-bedrock
restart: unless-stopped
ports:
- "19132:19132/udp"
environment:
EULA: "TRUE"
VERSION: "LATEST"
LEVEL_NAME: "MyWorld"
TEXTUREPACK_REQUIRED: "true"
CONTENT_LOG_CONSOLE_OUTPUT_ENABLED: "true"
MC_PACK: "/packs"
FORCE_PACK_COPY: "true"
volumes:
- /opt/minecraft/bedrock/data:/data
- /opt/minecraft/bedrock/packs:/packs
Структура каталогов (критично)
Файловая структура должна строго соответствовать требованиям движка:
/opt/minecraft/bedrock/packs/
Внутри:
/packs/
├── behavior_packs/
│ ├── addon_1/
│ └── addon_2/
└── resource_packs/
├── addon_1/
└── addon_2/
Названия директорий должны быть строго behavior_packs и resource_packs. Любые отклонения ломают загрузку.
Установка аддона
Рекомендуемый способ — распаковка
Извлечение содержимого:
unzip addon.mcaddon -d addon Распределение:
mv addon/*/behavior_packs/* /opt/minecraft/bedrock/packs/behavior_packs/
mv addon/*/resource_packs/* /opt/minecraft/bedrock/packs/resource_packs/
Если структура уже есть
mv behaviors behavior_packs
mv resources resource_packs
Активация аддонов через мир
Путь к миру:
/opt/minecraft/bedrock/data/worlds/MyWorld/
world_behavior_packs.json
[
{
"pack_id": "UUID_1",
"version": [1, 0, 0]
}
] world_resource_packs.json
[
{
"pack_id": "UUID_1",
"version": [1, 0, 0]
}
] Где взять UUID
Открывается файл manifest.json внутри пака:
"header": {
"uuid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
UUID должен точно совпадать с паком. Несовпадение приводит к игнорированию аддона.
Перезапуск контейнера
После изменений требуется рестарт:
docker restart mc-bedrock Проверка загрузки
В логах контейнера должны появиться строки:
Pack Stack - [00]
Pack Stack - [01]
Автоматическая загрузка паков игрокам
TEXTUREPACK_REQUIRED: "true"
Клиент автоматически скачает ресурсы при подключении.
Ошибка: Unexpected version for the loaded data
Причина
- несовместимость версии формата блоков
- частичная поддержка API сервером
Поведение
- сервер запускается
- игроки подключаются
- часть функционала работает
Ограничения
- кастомные блоки могут не отобразиться
- декоративные элементы ломаются
Ошибка не является критичной, если core-механики аддона функционируют.
Частые ошибки
Неверная структура
packs/addon/behaviors # ❌ packs/behavior_packs/addon # ✅ Отсутствуют world JSON
Без них аддоны не активируются.
Несовпадение UUID
Пак игнорируется без ошибок.
Контейнер не перезапущен
Изменения не применяются.
Best practices
- Хранить packs отдельно от data для изоляции
- Использовать Git для версионирования аддонов
- Минимизировать количество активных паков (снижение latency)
- Проверять совместимость версий Bedrock API
- Включать логирование через
CONTENT_LOG_CONSOLE_OUTPUT_ENABLED
Заключение
Установка аддонов в Minecraft Bedrock через Docker требует строгой структуры, ручной активации и контроля UUID, но обеспечивает стабильную и масштабируемую инфраструктуру для self-hosting сервера.









