ПОДРОБНЫЙ ГАЙД TYPES.XML

Ваш файл types.xml - хрупкое произведение искусства, он уникален для каждого сервера и не может быть использован ни на каком другом, так как все серверы имеют различный набор модов и настроек, экономику и количество игроков.
Он ДОЛЖЕН быть настроен для каждого конкретного случая.

Если вы допустите хотя бы одну ошибку, движок центральной экономики не сможет прочитать файл полностью, и вы столкнетесь со всевозможными извращенными проблемами, такими как исчезновение объектов, исчезновение стен или спавн только нескольких типов предметов. Вы можете даже не осознавать, что у вас уже есть проблемы с файлом и что это нужно исправить.

Основное правило: начните с чистого ванильного не измененного types.xml из дистрибутива Steam DayZ-сервера или из Bohemia's github (ссылка на главной странице) - измените номинальные и минимальные значения ванильных элементов (или оставьте все как есть, если изменения не требуется) в соответствии с вашими требованиями к игре. (т.е. например серверы с модом медицинской помощи могут спавнить больше медицинских предметов или вообще неспавнить их, для режима хардкор)

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

Добавляйте классы из модов по одному набору из любого конкретного мода за раз и проверяйте каждый раз на сервисе - очень часто разработчики модов допускают те же ошибки в типах, что и вы. Итак, если после добавления чего-либо из списка из мода ваш файл больше не валидируется на сервисе, значит у вас есть ошибки и вы должны это исправить.

Не пытайтесь использовать большие значения элементов nominal и min - если вы добавите слишком много, такие классы будут доминировать над всеми остальными элементами и только они будут появляться. Все должно быть сбалансировано.

Начните с разумного увеличения \ уменьшения значений: обычно: nom \ min - 10 \ 5 больше подходит для военной экипировки tier4 - означает довольно редко, 80 \ 40 для очень частого предмета, 120 \ 80 супер часто. Если вы поставите большие значения в номинальном \ min очередь спавнера будет загромождена и не будет возрождать все нужные вам типы предметов, либо вообще будет спавниться что-то одно, поскольку все здания и объекты в игре имеют очень ограниченные точки спавна внутри. Если они уже заняты другими предметами, там ничего не появится.
Также на это сильно влияют параметры restock и lifetime, если restock равен 0, он данный тип предметов не будет респавниться до перезагрузки сервера, но во многих случаях это именно то, что нужно.

Вы можете синхронизировать значения nominal и min, если это необходимо, но опять же, это нужно делать понимая зачем и почему Вы это делаете, так как это требует значительно больше ресурсов процессора и памяти - общее количество элементов сильно увеличивается на сервере.

Описание синтаксиса types.xml
комментарии должны соответствовать правилам языка XML:

// - два слеша это не комментарий XML, он сломает ваш файл, никогда не используйте его в types.xml

(угловые скобки не поддерживаются в HTML, поэтому ниже примеры кода классов без скобочек <>)
type name = "Binoculars" - имя класса предмета, реальное имя в игре может отличаться, используется например для спауна предметов с помощью инструментов администратора или игровым движком.

nominal 50 /nominal - (должно быть больше или равно значению min) максимальное количество предметов в игре, которое будет пытаться достичь спавнер, если это возможно

lifetime 7200 /lifetime - время жизни предмета до момента его деспауна движком

restock 0 /restock - время в секундах, по истечении которого спавнер начнет смотреть,а не нужно ли спавнить предметы, если количество элементов достигнет указанного в параметре min

min 30 /min - (должно быть меньше или равно значению nominal) минимальное количество для данного типа предметов, когда количество на карте достигает этого числа, предмет будет помещен в очередь для спавна, пока не достигнет номинального

quantmin -1 /quantmin - (должно быть меньше или равно значению quantmax) В общем случае для обычных предметов всегда должно быть -1, что означает "не используется". Для предметов которые могут содержать подклассы (например рожки для оружия, бутылки с водой, канистра с бензином, т.п.) означает минимальное количество подэлементов в предмете в процентах, может быть от 0 до 100 (значение в процентах!!!), например, для рожков 100 означает максимум патронов. (см доп описание ниже). Нельзя в quantmin и quantmax комбинировать и -1 и проценты, либо то либо другое. (например -1\50 нельзя!)
quantmax -1 /quantmax - (должно быть больше или равно значению quantmin) 
В общем случае для обычных предметов всегда должно быть -1, что означает "неиспользуется". Для предметов которые могут содержать подклассы (например рожки для оружия, бутылки с водой, канистра с бензином, т.п.) означает максимальное количество подэлементов в предмете в процентах, может быть от 0 до 100 (значение в процентах!!!). Нельзя в quantmin и quantmax комбинировать и -1 и проценты, либо то либо другое. (например -1\50 нельзя!). Пример: рожок на 20 пуль при 100 в значении quantmax и quantmin он будет впавниться с максимально возможным количеством пуль - т.е в нашем случае 20. при quantmax 100 quantmin 10 будет спауниться в диапазоне от значений от 10 до 100% т.е в количественном измерении от 2 до 20 пуль. 
cost 100 /cost - всегда лучше оставлять его равным 100 для всех элементов - приоритет планировщика для очереди спавна
flags count_in_cargo = "0" count_in_hoarder = "0" count_in_map = "1" count_in_player = "0" crafted = "0" deloot = "0" /
Флаги спавнера, они указывают в каких типах объектов считать nominal и min значения:
count_in_cargo - считает все предметы в контейнерах, ящики, рюкзаки, включая автомобили
count_in_hoarder - будет считаться в таких вещах как закопанные предметы, бочки, сундуки и всевозможные палатки
count_in_map - объекты, размещенные на карте (здания)
count_in_player - внутри инвентаря игроков, исключая руки
crafted - указывает на то, что данный предмет может быть закрафчен игроками
deloot - указывает что это объекты для спавна на динамических ивентах (событиях) - в большинстве случаев для ваниллы это только лишь сбитые вертолеты
category name = «tools»/ - (обязательно для всех обычных предметов, не требуется для статических предметов или ИИ), название категории предметов может быть также food, weapons, vehiclesparts и т.д (см. полный список ниже) обычно категория идет после элемента flags.

tag name = "shelves" / - (опциональный параметр) tag может быть shelves или floor, ДОЛЖЕН идти после category

usage name = "Military" / - (опциональный параметр) в какой зоне спавнится предмет, полный список см. ниже - ДОЛЖЕН быть после тега category 

value name = "Tier1" / - (опциональный параметр) должен идти последним, указывает на уровень элемента (цвет территории в редакторе экономики), которому принадлежит элемент. прибрежные районы уровня 1, центральная часть уровня 2, северная левая часть уровня карты 3 и т. д. Для Чернаруса существует 4 уровня, для Ливонии ТОЛЬКО 3 (три) !!!!!

/type закрывающий тег должен присутствовать для каждого класса элементов

ПРЕДУПРЕЖДЕНИЕ ВСЕ ЧТО НИЖЕ !!!!ЧУВСТВИТЕЛЬНО К РЕГИСТРУ !!!!
(категория и теги - маленькие буквы, usage name и value начинаются с заглавной буквы)

все параметры должны идти в определенной последовательности внутри каждого класса предмета: category -> tag (при необходимости) -> usage name (при необходимости) -> value (при необходимости)

Category names:
clothes 
containers 
explosives 
food 
tools 
weapons 
vehiclesparts 

Tag names:
shelves
floor

Usage names: 
Coast 
Farm 
Firefighter 
Hunting 
Industrial 
Medic 
Military 
Office 
Police 
Prison 
School 
Town 
Village 

Value names:
Tier1 
Tier2 
Tier3 
Tier4