Настройка лута в types.xml сервера DayZ
Распределением обычного лута в DayZ управляет Central Economy. Основные параметры предметов находятся в файле:
mpmissions/dayzOffline.<map>/db/types.xml
Вместо <map> используется имя активной миссии, например chernarusplus, enoch или имя миссии другой карты. Активную миссию можно определить по template в serverDZ.cfg. Перед редактированием остановите сервер и сделайте резервную копию файла.
Пример записи#
<type name="AKM">
<nominal>8</nominal>
<lifetime>14400</lifetime>
<restock>1800</restock>
<min>4</min>
<quantmin>-1</quantmin>
<quantmax>-1</quantmax>
<cost>100</cost>
<flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
<category name="weapons"/>
<usage name="Military"/>
<value name="Tier3"/>
<value name="Tier4"/>
</type>
Имя в type name должно точно совпадать с классом предмета. Для предмета из мода этот класс должен существовать в загруженном моде.
Параметры количества и обновления#
nominalзадаёт целевое количество предметов данного типа, которое Central Economy пытается поддерживать с учётом свободных точек и флагов подсчёта.minзадаёт нижний порог, после которого начинается пополнение доnominal. Обычноminделают меньшеnominal.lifetimeзадаёт время жизни нетронутого предмета на земле в секундах.restockзадаёт задержку пополнения в секундах. При0экономика может пополнять тип пачкой в очередном цикле, положительное значение разносит появление экземпляров во времени.costзадаёт приоритет типа для Central Economy. Это не цена предмета и не прямой множитель вероятности.
nominal не гарантирует, что всё количество немедленно появится после запуска. На результат влияют свободные точки, очередь экономики, restock, теги распределения и флаги count_in_*.
Заполнение магазинов и расходников#
quantmin и quantmax задают минимальный и максимальный процент количества при появлении. Они применимы к предметам с переменным количеством, например патронам, магазинам, бутылкам и еде.
<quantmin>20</quantmin>
<quantmax>80</quantmax>
Такой предмет появится заполненным в диапазоне от 20 до 80 процентов. Значение -1 оставляет стандартное поведение класса. Эти поля не задают состояние износа оружия или одежды.
Где появляется предмет#
categoryописывает общую категорию, напримерweapons,food,toolsилиclothes.usageограничивает типы мест, напримерMilitary,Police,Medic,Town,Village,FarmилиHunting.valueзадаёт уровень зоны лута, обычноTier1доTier4, если карта использует такие уровни.
Имена должны существовать в конфигурации конкретной миссии. Несуществующий usage или value не создаёт новую зону сам по себе. Связь тегов с точками карты определяется другими файлами Central Economy, включая cfglimitsdefinition.xml и данные групп карты.
Безопасное редактирование#
- Остановите сервер.
- Создайте резервную копию
types.xml, а лучше всей папки активной миссии. - Меняйте одну группу предметов за раз.
- Проверьте, что каждый
<type>закрыт, кавычки парные, а корневой элемент<types>сохранён. - Проверьте XML валидатором или командой
xmllint --noout types.xml. - Запустите сервер и просмотрите консоль и RPT-лог на ошибки загрузки Central Economy.
XML чувствителен к регистру, кавычкам и закрывающим тегам. Ошибка в одной записи способна помешать загрузке файла целиком.
Для большого набора модового лута лучше не переписывать ванильный файл. DayZ поддерживает подключение отдельных файлов через cfgeconomycore.xml с типом types. Это упрощает обновления и откат. При переопределении usage, tag или value официальный механизм заменяет весь исходный набор соответствующих элементов, поэтому перечисляйте все нужные значения.
Нужен ли вайп#
Для чтения нового types.xml требуется перезапуск сервера. Полный вайп обычно не нужен: существующие предметы сохраняются до подбора, удаления или истечения lifetime, а экономика постепенно приходит к новым целевым значениям.
Если нужен немедленный полностью новый мир, сначала оцените последствия. Удаление хранилища затронет не только лут, но также базы, транспорт и, при полном вайпе, персонажей. Безопасная процедура описана в статье «Как сделать вайп сервера DayZ».
Основные параметры сервера и выбор активной миссии разобраны в настройке serverDZ.cfg.
Источники#
Хостинг DayZ на BazaHost: NVMe, Ryzen 9 и защита от DDoS. Тарифы от 1290 ₽/мес.