Настройка лута в 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 и данные групп карты.

Безопасное редактирование#

  1. Остановите сервер.
  2. Создайте резервную копию types.xml, а лучше всей папки активной миссии.
  3. Меняйте одну группу предметов за раз.
  4. Проверьте, что каждый <type> закрыт, кавычки парные, а корневой элемент <types> сохранён.
  5. Проверьте XML валидатором или командой xmllint --noout types.xml.
  6. Запустите сервер и просмотрите консоль и RPT-лог на ошибки загрузки Central Economy.

XML чувствителен к регистру, кавычкам и закрывающим тегам. Ошибка в одной записи способна помешать загрузке файла целиком.

Для большого набора модового лута лучше не переписывать ванильный файл. DayZ поддерживает подключение отдельных файлов через cfgeconomycore.xml с типом types. Это упрощает обновления и откат. При переопределении usage, tag или value официальный механизм заменяет весь исходный набор соответствующих элементов, поэтому перечисляйте все нужные значения.

Нужен ли вайп#

Для чтения нового types.xml требуется перезапуск сервера. Полный вайп обычно не нужен: существующие предметы сохраняются до подбора, удаления или истечения lifetime, а экономика постепенно приходит к новым целевым значениям.

Если нужен немедленный полностью новый мир, сначала оцените последствия. Удаление хранилища затронет не только лут, но также базы, транспорт и, при полном вайпе, персонажей. Безопасная процедура описана в статье «Как сделать вайп сервера DayZ».

Основные параметры сервера и выбор активной миссии разобраны в настройке serverDZ.cfg.

Источники#

Нужен сервер DayZ?

Хостинг DayZ на BazaHost: NVMe, Ryzen 9 и защита от DDoS. Тарифы от 1290 ₽/мес.

Выбрать тариф