Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Как установить аддоны Minecraft Bedrock в Docker — гайд

Игры и производительность

Запуск Minecraft Bedrock сервера в Docker-контейнере обеспечивает изоляцию, простое обновление и минимальный overhead. Однако установка аддонов требует строгого соблюдения структуры и ручной активации через JSON.

Что используется вместо модов

В 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 сервера.

Оцените статью
ctrllife.ru
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x