Your types.xml file is a fragile creation of art, it's unique for every server and can't be used on any other. All servers have different set of mods and settings, economy and player's count.
It MUST be tweaked for every particular case.
If you would make at least one mistake there, central economy engine wouldn't be able to read it fully and you will be facing all kind of twisted issues, like despawning objects, disappearing wall or spawning only several types of items. You may not even realize, that you already have issues in types and it needs to be fixed.
Rule of thumb: start with clean, unmodified vanilla types.xml from steam DayZ server's distribution or Bohemia's github - modify vanilla items nominal and min values (or leave it as is if that's not required) as per your requirements for your style of server. (i.e servers with medical attention mod could spawn more medical items or remove them whatsoever for hardcore gameplay)
After you became familiar with vanilla file structure, list of items in game; it's stable and being validated successfully you could start adding types from mods.
Add mod's types one set from any particular mod at a time and validate each time on the service - very frequently mods devs are making the same mistakes in types as you. So, after adding something from the mod, if your file is not validating anymore, means you have errors in there and you have to correct that.
Don't put too large values for nominal and min elements - if you put too much, such classes would dominate all other items and only that will be spawning. Everything must be balanced.
Start with reasonable increase\decrease values: in general: nom\min - 10\5 more suitable for tier4 military gear - means quite rare, 80\40 for very frequent item, 120\80 super frequent.If you put large values in nominal\min the spawner queue will be cluttered and will not spawn all items you require, hence only one item type is spawning as all buildings and objects in game has only very limited spawn points inside it. If that's already occupied with other items, nothing will spawn there.
Also restock time and lifetime influence that a lot. if the restock timer is 0 then it will not be respawned until server restart, but in many cases that's exactly what is needed
You may sync min to nominal values, but it requires considerably more CPU and memory resources as total items count on server increases.
Description of types.xml syntax
comments must follow XML notation for comments:
// - this is not XML comment, it will break your file never use that in types.xml
(angle brackets are not supported in HTML so here class code example is without <>)
type name="Binoculars" - classname of the item, the actual name in game could be different used to spawn items via admin tools or by game engine spawner
nominal50/nominal - (must be more or equal to min value) maximum amount which spawner would try to reach if that is possible
lifetime7200/lifetime - lifetime of the item until it would be despawned by engine in seconds
restock0/restock - in seconds, after which spawner would start respawning, if this item count reaches minimum
min30/min - (must be less or equal to nominal value) minimum number of this item type, when it reaches that number it would be placed in the queue for spawning until it reaches nominal
quantmin-1/quantmin - (less or equal to quantmax value) MUST BE be -1 for all normal items types OR from 0 to 100 (value in percents) for items that could have something inside (subclass inside the item), for example for bullets inside weapon mags, water bottle, canteen, can of soda.. -1 means N/A and you can't mix -1 and percents, or the item will be broken. For example can't set quantmin 20 quanmax -1
quantmax-1/quantmax - (more or equal to quantmin value) MUST BE be -1 for all normal items types OR from 0 to 100 (value in percents). Few examples: say the magazine of 20 bullets - so with 100 in quantmax and 100 in quantmin it would always spawn fully loaded with 20 bullets. Next example: quantmin 10 and quantmax 100 in case of the same magazine of 20 bullets: so it would spawn magazine with random number in range from 2 to 20 bullets (10 percent to 100 percent). -1 means N/A and you can't mix -1 and percents, or the item will be broken. For example can't set quantmin 20 quanmax -1
cost100/cost - always leave it at 100 for all items - priority for the spawn queue scheduler
flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/
flags directs the spawner, in what case is must take min and nominal values in to consideration for every item counting for spawning:
in cargo - counts all items in cargo - i.e containers, crates, backpacks, including cars
in hoarder tents, barrels, undeground stashes
in map - items on map (inside buildings, objects)
in player - inside players inventory
crafted is used only to mark player craftable items
deloot - dynamic event loot objects - helicrashes in majority of cases only by default.
category name="tools"/ - (mandatory for all normal items, not needed for static items or AI) item category name, could be also food, weapons, vehiclesparts, etc.(see below for full list), in general comes after flags element.
tag name="shelves"/ - (optional) tag could be shelves or floor, MUST be AFTER the category
usage name="Military"/ - (optional) see below for full usage names list - MUST be after category AND tag
value name="Tier1"/ - (optional, must be the last one) specifies the tier level of the item (color territory region in economy editor) which item belongs to. coastal areas tier 1, central part tier2, north left part of the map tier 3, etc. For chernarus there are 4 tiers, for Livonia ONLY 3 (three) !!!!!
/type closing tag must be there for every item class
WARNING EVERYTHING BELOW IS !!!!CASE SENSITIVE!!!!
(category and tags are all small letters, usage and value names are starting with capital letter)
IT MUST be in that order inside of each of your type class: category name -> tag (if needed) -> usage (if needed) -> value (if needed)