DayZ Expansion - это семейство клиентско-серверных модов, которое добавляет торговцев и рынок, безопасные зоны, выбор точки спавна, изменения территорий и строительства баз, группы, карту с метками, AI, миссии, квесты и технику. Ставится оно в строгом порядке: сначала Community Framework и Dabs Framework, затем ядро Expansion и лицензированные пакеты, затем либо Bundle (всё сразу), либо нужные вам отдельные модули - всё в -mod= вместе с ключами. После этого вы заменяете папку миссии на файлы миссии Expansion для вашей карты, один раз запускаете сервер на чистом persistence, чтобы мод записал свои настройки, и настраиваете его через JSON-файлы в папке профилей и в миссии. Закладывайте больше памяти и диска, чем для ванили, и учитывайте, что Expansion превращает DayZ в другую игру - в этом и смысл, но это не то, что прикручивают посреди вайпа.
Основы модов DayZ - ключи, -mod=, загрузки из Workshop - описаны в полном руководстве по серверу DayZ. Этот пост - именно про Expansion.
Из чего состоит Expansion#
Expansion публикуется не одним, а несколькими элементами Workshop, чтобы серверы могли брать только нужное. Части делятся на три группы.
| Группа | Элементы | Роль |
|---|---|---|
| Зависимости | Community Framework (@CF), Dabs Framework | Общие библиотеки, на которых строятся другие моды |
| База Expansion | Expansion Core, Expansion Licensed | Общий код Expansion и лицензированные ассеты |
| Контент | Bundle или отдельные модули | Функции, которые видят игроки |
Среди модулей в Workshop вы встретите Market (торговцы и валюта), Vehicles (вертолёты, лодки и прочее), AI (патрули и NPC), Missions (динамические события вроде аирдропов), Navigation (карта и метки), Book (внутриигровая справочная книга), Groups (группы), Base Building и Territories, Spawn Selection, Quests, Hardline (репутация) и Personal Storage. Точный список меняется по мере того, как команда перестраивает проект; актуальный источник - страницы в Workshop и вики проекта.
Bundle включает основные модули в одном элементе. Это простой выбор и обычный для сервера, который хочет полный опыт Expansion. Отдельные модули имеют смысл, когда вам нужны, скажем, торговцы и безопасные зоны, но не техника или AI из Expansion: каждый модуль, который вы не берёте, - это меньше загрузки для игроков и меньше работы для сервера.
Требования и потребление ресурсов#
Expansion - не лёгкий мод. Каждый модуль запускает серверные скрипты, рынок отслеживает запасы, а патрули AI - это симулируемые персонажи со всеми вытекающими затратами.
| Конфигурация | RAM | CPU | Примечания |
|---|---|---|---|
| Рынок, безопасные зоны, карта, 20-30 игроков | 6-8 GB | 2-2.5 ядра | Типичный сервер «торговцы и удобства» |
| Полный Bundle, 30-50 игроков | 8-10 GB | 2.5-3 ядра | Техника и миссии дают постоянную нагрузку |
| Полный Bundle с множеством патрулей AI | 10-14 GB | 3+ ядра | Главный регулятор - количество AI |
- CPU по-прежнему тот предел, который игроки ощущают первым, через серверный FPS. Включите
logAverageFpsвserverDZ.cfgи следите за ним; ключ описан в статье serverDZ.cfg по строкам. AI - самая большая затрата, которую вы можете контролировать. - Память растёт с количеством модулей и с persistence. Запасы рынка и каждый поставленный объект торговца тоже живут в памяти.
- Диск: элементы Expansion вместе занимают несколько гигабайт поверх базового сервера, а любая карта, на которой вы его запускаете, добавляет свои. Оставьте запас для логов и для backup, которые вы будете делать перед каждым обновлением.
Установка по порядку#
Делайте это на остановленном сервере, с backup и в идеале во время вайпа.
- Скачайте элементы Workshop для CF, Dabs Framework, Expansion Core, Expansion Licensed и либо Bundle, либо выбранных модулей и положите каждый в корень сервера папкой с
@. App id клиента Workshop для загрузок -221100. - Скопируйте все ключи. У каждого элемента есть папка
keysс.bikey. Все они должны оказаться в папкеkeysсервера. Если хотя бы одного нет, BattlEye кикнет игрока с ошибкой подписи на экране загрузки. - Задайте строку модов в порядке зависимостей. Сначала фреймворки, затем база Expansion, в конце контент. Пример ниже показывает общую форму.
-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-Licensed;@DayZ-Expansion-BundleИмена папок - те, что дали им вы. Если в именах есть пробелы, в написанной вручную строке запуска весь параметр нужно взять в кавычки, а в Linux проще переименовать папки без пробелов. Сверьте порядок с вики Expansion для своей версии; когда меняется зависимость, вики обновляется первой. Дальше:
- Установите файлы миссии. Expansion нужна своя миссия для вашей карты - см. следующий раздел.
- Стартуйте на чистом persistence. Направьте сервер на новую миссию, у которой свой пустой storage, или очистите storage миссии, которую переводите.
- Дайте моду записать настройки. Первый запуск создаёт папку
ExpansionModв каталоге профилей и настройки Expansion в миссии. Остановите сервер, как только он полностью поднимется. - Настройте и запустите снова. Правьте JSON при остановленном сервере, проверяйте его на валидность, запускайте и читайте лог.
Файлы миссии#
Функциям Expansion нужны точки подключения в миссии: свой init.c, записи экономики для его предметов, позиции для его событий и объектов и настройки на стороне миссии. Команда публикует готовые папки миссий для каждой карты в открытом репозитории, ссылка на который есть в вики; берите папку для своей карты, а не переделывайте ванильную миссию вручную.
class Missions{ class DayZ { template = "Expansion.ChernarusPlus"; };};Используйте то имя папки, которое реально есть в вашей загрузке - строка выше лишь пример шаблона, и регистр должен совпадать в точности. На карте сообщества используйте миссию Expansion для этой карты, если она есть; иначе вам придётся вручную объединять две миссии, что возможно, но само по себе целый проект. Общий процесс смены карты описан в статье запуск Deer Isle или Namalsk.
Если у вас уже были свои изменения экономики, держите их в отдельной папке, зарегистрированной в cfgeconomycore.xml миссии, точно так же, как на ванили. Кастомные папки ce описаны в руководстве по types.xml в DayZ. Так следующий релиз миссии Expansion можно будет просто положить поверх, а ваша папка останется.
Где лежат настройки#
Expansion делит настройки на два места, и знание того, где какой файл, экономит массу времени на поиски.
| Расположение | Что там |
|---|---|
profiles/ExpansionMod/Settings/ | Настройки всего сервера: AI, аирдропы, чат, общие, логи, категории рынка и настройки торговцев, миссии, уведомления, группы, квесты, рейды, территории, техника |
mpmissions/<mission>/expansion/settings/ | Настройки под карту: строительство баз, метки на карте, рынок, безопасные зоны, спавны, патрули и локации AI, личное хранилище |
profiles/ExpansionMod/Traders/ | По одному JSON на тип торговца: что он покупает и продаёт |
profiles/ExpansionMod/Market/ | Категории рынка: предметы, диапазоны цен и запасов |
mpmissions/<mission>/expansion/traders/ | Файлы .map, которые расставляют NPC-торговцев в мире |
Логика разделения такая: всё, что привязано к координатам - где безопасные зоны, где спавнятся люди, где стоят торговцы, - относится к миссии, а всё остальное - к профилю сервера. Значит, сервер может сменить карту и сохранить рынок, но безопасные зоны и торговцев придётся делать заново под новый рельеф.
В каждом файле настроек есть номер версии, и при обновлении Expansion мигрирует старые файлы. Сам проект советует просматривать настройки после каждого обновления Expansion. На практике: перед обновлением сделайте backup папки ExpansionMod и папки expansion в миссии, а после первого запуска сравните.
Править вручную десяток связанных JSON-файлов - верный путь к ошибкам. Инструмент сообщества DayZeEditor создан специально для управления настройками Expansion и файлами экономики миссии, и его стоит попробовать, если у вас большой рынок. Чем бы вы ни пользовались, проверяйте JSON перед перезапуском: одна лишняя запятая в одном файле может помешать загрузке всего модуля.
Торговцы и рынок#
Торговцы - модуль, ради которого большинство серверов и ставят Expansion, и у него три части, которые должны согласовываться между собой.
Категории рынка в ExpansionMod/Market/ задают группы предметов с ценами и запасами. Каждая запись предмета указывает класс и диапазоны цен и уровней запаса - цена движется между минимумом и максимумом по мере того, как запас падает и растёт, и так Expansion моделирует спрос и предложение. Точные имена полей менялись от версии к версии, так что открывайте файлы, которые Expansion сгенерировал для вас, и правьте их, а не вставляйте пример из старого руководства.
Торговцы в ExpansionMod/Traders/ - это именованные JSON-файлы, где перечислено, с какими категориями (и, при желании, с какими отдельными предметами) работает торговец и что из этого он покупает, продаёт или и то, и другое. Торговец оружием, торговец техникой и магазин общего профиля - это три файла.
NPC-торговцы расставляются в мире файлами .map в папке миссии expansion/traders/, по одной строке на NPC:
ExpansionTraderDenis.Weapons|11833.576 140.605 12469.492|110 0 0|Jeans_Blue,TSHirt_BlueСтрока читается так: класс NPC, точка, имя файла торговца (без .json), затем позиция, ориентация и одежда со снаряжением NPC, где навесное соединяется через +. Имя файла торговца связывает NPC с ExpansionMod/Traders/Weapons.json. Опечатка в нём даст вам торговца, который стоит в мире и ничего не продаёт.
Торговые зоны - области, внутри которых торговцы делят общий запас, - и безопасные зоны вокруг лагерей торговцев задаются на стороне миссии, потому что это координаты. Лагерь торговцев на PvP-сервере без работающей безопасной зоны за день превращается в бойню.
Цены - та часть, от которой зависит, работает ли экономика. Два эмпирических правила:
- Цены продажи заметно ниже цен покупки. Если игроки могут купить предмет и продать его обратно почти за ту же цену, появляются циклы. Разница между ценами - ваш инструмент против инфляции.
- Контролируйте денежную массу у источника. Валюта попадает в мир через лут, миссии и продажу. Если через неделю все богаты, смотрите на то, что торговцы покупают, а не на то, что они продают.
AI, миссии и другие модули, которые стоит настроить#
- AI-патрули и NPC задаются в настройках AI сервера и в файлах патрулей и локаций миссии. Каждый патруль - группа симулируемых персонажей; добавляйте их осознанно и после каждого изменения измеряйте серверный FPS. Карта с AI на каждой военной базе - это другая игра и другой бюджет CPU, чем карта с несколькими бродячими группами.
- Миссии вроде аирдропов и заражённых зон - это события по таймеру со своим лутом. Главный регулятор - их частота.
- Выбор спавна позволяет игрокам после смерти выбирать точку спавна из списка. Это сильно меняет темп PvP; решите всем сообществом, должны ли новые персонажи иметь возможность выбрать побережье рядом со своей базой.
- Территории и строительство баз заменяют или расширяют ванильные правила территорий. Их лимиты (объектов на территорию, радиус территории, число участников) - настройка производительности не меньше, чем геймплея.
- Уведомления могут по расписанию рассылать предупреждения о перезапуске и сообщения сервера, пересекаясь с ванильным
messages.xml. Используйте что-то одно, а не оба.
Инструменты администратора рядом с Expansion#
Expansion - не инструмент администратора. Большинство серверов с Expansion также используют Community Online Tools или VPP Admin Tools, плюс BattlEye RCon для модерации извне игры. Чаще всего в паре идёт COT, потому что он тоже построен на CF. Загружайте админ-мод после фреймворков и до контента Expansion или вместе с ним, а его ключ копируйте как любой другой. Настройка, права и порядок выдачи банов описаны в статье Инструменты администратора DayZ и BattlEye RCon.
Безопасное обновление Expansion#
Expansion обновляется часто, а патчи DayZ ломают его, пока команда не пересоберёт мод. Порядок, который избавляет от большинства испорченных вечеров:
- Не обновляйтесь автоматически в день патча. Когда выходит обновление DayZ, дождитесь, пока Expansion и все остальные моды из вашего списка обновятся под новую сборку.
- Сначала backup: папка
ExpansionModв профилях, папка миссии с подпапкойexpansionи папка storage. Заблокируйте этот backup, чтобы ротация не могла его удалить. - Обновляйте все папки модов и ключи вместе. Новая версия Expansion может прийти с новыми ключами; скопируйте их все заново.
- Запустите один раз и прочитайте лог. Миграции настроек записываются в лог. Ошибки с названием JSON-файла обычно означают поле, которое изменилось.
- Сравните настройки с backup и заново примените всё, что миграция сбросила.
Если обновление пошло не так, восстановите backup и подождите, а не отлаживайте на живом сервере. Полный порядок действий - в статье что делать, когда обновление мода всё сломало, а о том, как не дать списку модов со временем прогнить, - в статье как держать модовый сервер в чистоте. На RE:NODE backup можно заблокировать от ротации и восстановить одной кнопкой, а редактор в браузере с подсветкой синтаксиса снижает число ошибок при правке JSON.
Устранение неполадок#
Игроков выкидывает с ошибкой подписи. В keys не хватает ключа, часто от Dabs Framework или элемента Licensed - о них забывают, потому что никогда не считают их «самим модом». Скопируйте все ключи заново.
Сервер останавливается при запуске с ошибками скриптов. Неверный порядок загрузки, не хватает зависимости или мод устарел для текущей сборки игры. Прочитайте первые ошибки в логе .RPT; в них назван мод.
Торговцы стоят, но ничего не продают. Имя файла торговца в строке .map не совпадает ни с одним файлом в ExpansionMod/Traders/, или категорий из этого файла нет в ExpansionMod/Market/.
Изменения настроек ничего не меняют. Вы правили файл на работающем сервере, и он записал поверх свою копию, или JSON не удалось разобрать, и Expansion взял значения по умолчанию. Остановите, отредактируйте, проверьте, запустите.
Предметы-призраки и сломанные базы после установки. Expansion добавили к существующему persistence. Восстановите backup или сделайте вайп.
Серверный FPS падает к концу вечера. AI и миссии. Уменьшите количество патрулей, проверьте, сколько событий миссий пересекается по времени, и перезапускайте сервер по расписанию.
FAQ#
Нужен ли весь Bundle Expansion?
Нет. Bundle - самая простая установка, но отдельные модули позволяют взять только то, чем вы пользуетесь, - например, рынок и безопасные зоны без AI и техники Expansion. Каждому модулю нужны общие зависимости и Expansion Core.
Что такое Dabs Framework и зачем он нужен?
Это общая библиотека, от которой зависит Expansion, как и от Community Framework. Оба должны загружаться до Expansion, и оба ключа должны лежать в папке keys сервера.
Можно ли использовать Expansion на Deer Isle или Namalsk?
Да, если для этой карты есть миссия Expansion или вы объедините миссии сами. Настройки, привязанные к координатам, - торговцы, безопасные зоны, спавны, патрули AI - придётся делать под этот рельеф.
Где задаются цены у торговцев?
В файлах категорий рынка в profiles/ExpansionMod/Market/. У каждого предмета есть диапазоны цены и запаса; файлы торговцев в ExpansionMod/Traders/ определяют, с какими категориями работает каждый торговец.
Нужен ли вайп для установки Expansion?
Настоятельно рекомендуется. Expansion меняет строительство баз, территории и технику, а старый persistence приводит к предметам-призракам и ошибкам при запуске. Ставьте его во время вайпа, на чистый storage.
Почему после обновления изменились мои настройки?
При запуске Expansion мигрирует файлы настроек на новые версии, что может сбросить или добавить поля. Перед обновлением делайте backup папок с настройками и потом сравнивайте.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.