Сборка по шагам
Следуйте порядку. Первые шаги нацеливают builder на нужные папки, средние охватывают опции упаковки, а окно Options хранит две настройки - шаблоны files-to-copy и приватный ключ, - которые незаметно решают судьбу мода.
Addon Builder - это официальный упаковщик PBO, поставляемый с DayZ Tools, и основа любого PC-мода: он превращает вашу исходную папку мода в загружаемый .pbo. Моддеры прозвали его «addon breaker», потому что старые версии были капризны, но недавние обновления сделали его действительно надёжным. Это руководство по порядку охватывает каждое поле и опцию - от запуска инструмента до чистого сообщения «build successful».
Установить в Steam — DayZ ToolsСледуйте порядку. Первые шаги нацеливают builder на нужные папки, средние охватывают опции упаковки, а окно Options хранит две настройки - шаблоны files-to-copy и приватный ключ, - которые незаметно решают судьбу мода.
Addon Builder находится внутри DayZ Tools - бесплатного пакета в Steam (App 830640). Откройте Steam, переключите фильтр библиотеки на показ Tools и найдите DayZ Tools. Если его нет, убедитесь, что категория Tools включена в выпадающем меню над строкой поиска.
Запустите его и дайте загрузиться в режиме администратора. DayZ Tools - это стандартный, поддерживаемый способ получить Addon Builder, поэтому для этого руководства не нужны сторонние загрузки.
Установить в Steam — DayZ Tools
В лаунчере DayZ Tools инструменты перечислены слева. Addon Builder - третий сверху; нажмите на него, чтобы открыть упаковщик.
Затем появляется главное окно со всеми полями и флажками. Поначалу оно выглядит загруженным, но каждая опция разобрана ниже в том порядке, в котором вы будете их реально использовать.
Addon source directory указывает на самую первую папку структуры вашего мода - корневую папку, содержащую всё, что нужно упаковать. Builder проходит от этой папки до конца, забирая каждый файл внутри.
Всегда упаковывайте с диска P:, где следует выполнять основную часть работы по моддингу. Диск P: автоматически подставляет правильные пути к файлам, так что текстуры, модели и другие ассеты, на которые ссылается мод, разрешаются при упаковке. Если же указать что-то вроде C:\Program Files\Steam\steamapps\..., пути впишут расположение, которого ни у кого больше нет на машине, и ассеты не загрузятся.
Destination directory (или имя файла, заканчивающееся на .pbo) определяет, куда именно записывается упакованный файл. Вы можете положить его прямо в нужную структуру папок - например, в папку addons вашего сервера - отредактировав всего одну строку.
Это особенно удобно при тестировании: измените путь здесь, и builder выведет туда, куда нужно, без дополнительной настройки. Вы можете перенаправить его в любой момент при упаковке в другую цель.
Addon prefix позволяет полностью перезаписать core-PBO или чужой PBO. Префиксуя свои файлы под оригинал, вы заставляете игру загружать вашу версию вместо ванильной - это полезно для масштабных ванильных изменений, например переделать все текстуры техники или добавить окровавленную одежду ко всем ванильным rvmat-файлам, не создавая отдельную ретекстуру для каждого.
Префиксинг - глубокая тема; здесь действует та же концепция, что и в Arma 3, поэтому стоит поискать в вики Bohemia и в видео сообщества, если нужны все детали. Поле Addon version рядом - это просто учёт (1.0, 2.0 и так далее) для порядка в релизах. На сборку оно не влияет.
С включённым Clear temp folder builder при упаковке создаёт резервную копию вашего мода в папке temp на диске P:. Если что-то пойдёт не так посреди сборки, эта копия - страховка на случай, если структура core-папки как-то повредится.
При успешной упаковке копия в temp удаляется автоматически, а готовый .pbo записывается в заданное ранее место назначения - готовый к тестированию, загрузке в Steam или запуску на сервере.
Подпись записывает на ваш PBO подпись с помощью приватного .bikey. Это обязательно для любого публичного - и даже приватного - мода: игрок должен поместить соответствующий .bikey в папку keys в корне своего сервера. Без этого ключа неподписанный PBO просто не загрузится в игру.
Флажок остаётся серым, пока вы не укажете builder приватный ключ в окне Options (шаг 11). Сначала задайте ключ, и опция Sign output PBO станет доступной.
Binarize - многие моддеры произносят «бай-найс» - преобразует ваши модели и конфиги в компилированный формат движка. Это и защищает вашу работу (тот, кто распакует мод, увидит в Object Builder заглушку вместо вашей модели), и, что важнее, позволяет DayZ правильно читать структуру файлов. Пропуск этого - известная причина странных, трудно диагностируемых багов.
Binarize all textures делает то же с самими текстурами. Для обычного релиза включайте оба. Единственное критическое исключение - config.cpp, который никогда не следует бинаризовать; это решается списком files-to-copy на шаге 10.
Enable extended logging заставляет builder печатать полный отчёт обо всём, что он делает при упаковке - каждый синхронизированный, использованный и обработанный файл. Когда сборка падает, именно эта детализация позволяет отследить точный файл или шаг, вызвавший проблему.
Неудачная сборка выдаёт окно с ошибкой, которое нужно закрыть. Хороший прогон завершается чётким сообщением «build successful» и полным списком файлов под ним.
Откройте Options и оставайтесь на вкладке General. Поле «files to copy» хранит список шаблонов, разделённых запятыми или точками с запятой - например *.emat; - которые копируются в PBO как есть, без бинаризации. Каждая запись - это звёздочка (любое имя), точка, расширение и затем точка с запятой для закрытия.
Всегда держите *.cpp в этом списке. Если config.cpp бинаризовать, это может сломать систему здоровья - стартовые состояния здоровья могут перестать корректно переходить в повреждённое, сильно повреждённое или разрушенное. config.cpp управляет тем, как реализуются предметы и модели, их значениями урона и привязанными текстурами, поэтому защита его от бинаризации необходима.
Также следует исключить файлы image set и layout. Если их бинаризовать, они не смогут отображаться как иконки или ghost-изображения - бледные превью вложений, которые вы видите у магазинов, гранат и подобных кастомных предметов; оставив их в списке копирования, вы сохраните работоспособность графики интерфейса.
Оставаясь в Options, задайте Path to the private key на ваш файл .bikey - именно это делает флажок Sign output PBO из шага 7 активным. Нажмите на три точки, перейдите в папку приватных ключей и дважды щёлкните нужный ключ.
Распространённый рабочий процесс - упаковывать с выделенным тестовым ключом. Если так делаете, верните его обратно перед публикацией: подпись ключом, не совпадающим с .bikey в папке keys сервера, вызовет проблемы загрузки. Та же вкладка Options хранит путь к папке temp, путь к папке проекта (укажите ваш диск P:), поле author (по умолчанию ваше имя в Steam) и список шаблонов исключений - оставьте файл исключений по умолчанию.
Вкладка Tools рядом с General лишь перечисляет пути по умолчанию к базовым инструментам. Трогать их почти никогда нет причины; оставьте «use default» отмеченным, если вы намеренно не перемещали установку.
Когда источник и место назначения заданы, а опции выбраны, нажмите Pack. Если по месту назначения PBO уже есть, builder спросит, перезаписать ли его - подтвердите «да»; если его нет, упаковка начнётся сразу.
По завершении вы увидите «build successful», а вывод запишется в вашу папку назначения. Если сборка падает, попробуйте ещё раз, прежде чем считать мод сломанным - Addon Builder иногда даёт сбой, и чистая вторая попытка часто проходит. Отсюда .pbo готов к тестированию, подписи или выпуску.
Диск P: автоматически разрешает пути к файлам, на которые ссылается мод, так что текстуры, модели и другие ассеты загружаются правильно. Упаковка с пути вроде C:\Program Files впишет расположение, которого ни у кого больше нет, и ассеты не загрузятся.
Бинаризация config.cpp может сломать систему здоровья, и стартовые состояния могут не переходить в повреждённое, сильно повреждённое или разрушенное. Хранение *.cpp в списке files-to-copy копирует его без бинаризации и избегает этого.
Для любого распространяемого мода - да. Подпись приватным .bikey обязательна, и игроки должны положить соответствующий .bikey в папку keys своего сервера. Неподписанный PBO не загрузится.
Компилирует ваши модели и конфиги в формат движка, защищает их от открытия в Object Builder и позволяет DayZ правильно читать структуру файлов. Пропуск вызывает трудно диагностируемые баги.
Включите extended logging, чтобы увидеть, какой именно файл вызвал ошибку, затем упакуйте ещё раз. Addon Builder иногда даёт сбой, и чистая вторая попытка часто проходит.