Все статьи
7 августа 2026 г.·3 мин чтения

types.xml в DayZ: как править лут пачками и не сломать сервер

Что означают nominal, min, lifetime и restock в types.xml, почему ручная правка тысяч строк ломает экономику и как менять лут группами, сохраняя рабочую копию.

types.xml — файл, из-за которого админы DayZ проводят вечера в текстовом редакторе. В нём описан каждый предмет в мире: сколько его должно быть, где он появляется и как долго живёт.

Файл большой — несколько тысяч записей в ванильной сборке. Отсюда две беды: править вручную долго, а сломать одним неверным символом легко.

Как устроена одна запись

Каждый предмет — блок <type> с параметрами:

<type name="M4A1">
    <nominal>5</nominal>
    <lifetime>7200</lifetime>
    <restock>1800</restock>
    <min>2</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"/>
</type>

Что здесь важно понимать по смыслу, а не по названию.

nominal — сколько единиц предмета экономика старается держать в мире. Не «сколько заспавнится сразу», а целевое количество.

min — порог, ниже которого запускается пополнение. Когда предметов в мире становится меньше этого числа, начинается restock.

lifetime — сколько секунд предмет лежит нетронутым, прежде чем исчезнуть. 7200 это два часа.

restock — задержка перед восполнением, тоже в секундах.

category и вложенные usage и tier определяют, где предмет может появиться: в каких типах локаций и в каких зонах карты.

Самая частая ошибка новичка — поднять nominal любимому оружию до сотни и удивиться, что оно не появляется. Экономика ограничена не только этим числом: если у предмета не заданы подходящие usage и tier, спавнить его просто некуда.

Почему ручная правка опасна

Три способа сломать сервер, все встречаются постоянно.

Незакрытый тег. Пропустил </type> — сервер не стартует. В логе будет ошибка парсинга с номером строки, и это ещё повезло.

Дубль записи. Один и тот же name встречается дважды. Поведение непредсказуемое, ошибки может не быть вообще.

Несогласованность с модами. Мод добавляет предметы своим файлом, ты правишь ванильный, и часть изменений не применяется. Или наоборот — правишь предмет, которого в текущей сборке уже нет.

Отдельно про масштаб: типовая задача звучит как «уменьшить весь военный лут вдвое» или «поднять lifetime всем аптечкам». Это сотни записей. Руками — час работы и почти гарантированная опечатка.

Как менять пачками

Правильный подход — не открывать файл и листать, а описывать правило.

«Найди все <type> с категорией weapons и тиром 4, раздели nominal на два, min пересчитай пропорционально, остальное не трогай» — это одна операция над файлом, а не триста правок.

Такие задачи закрываются либо скриптом, либо агентом с доступом к файлам. Разница в том, что скрипт под каждую новую хотелку надо писать заново, а агенту правило проговаривается словами.

Что удобно поручать целиком:

  • массовые изменения по категории, тиру или маске имени;
  • проверку XML на валидность и дубли name до перезапуска сервера;
  • сверку types.xml со списком предметов установленных модов;
  • разбор ошибки парсинга из лога с указанием, что именно не так в строке.

Дока делает это на месте: открывает файл там, где он лежит, правит и сохраняет. Модель можно держать локальной — конфиги сервера никуда не уходят. Ставится бесплатно.

Правило, которое спасает

Перед любой массовой правкой делай копию файла. Звучит банально ровно до первого раза, когда это не сделано.

Разумный минимум: держать папку миссии под git. Тогда видно, что именно поменялось между запусками, и откат — одна команда. Для файла на несколько тысяч строк, который правят итерациями, это окупается на второй неделе.

Второе правило: меняй что-то одно за раз и перезапускай. Экономика DayZ реагирует не мгновенно, и если ты поменял пять вещей сразу, понять, какая из них дала странный результат, будет нечем.

Как проверить, что получилось

Перезапуск сервера — не проверка. Файл может быть валидным, а результат — не тем, что ты задумал.

Смотри nominal в сумме по категории до и после: если общее количество лута изменилось втрое, а ты хотел вдвое, где-то заехала лишняя запись. И дай экономике время: после чистого старта мир наполняется постепенно, и первые минуты ничего не говорят.

Общая настройка сервера, включая запуск и порты, разобрана в статье про свой сервер DayZ.