How To Customize Your Types.xml File

Become part of a great team that has nothing less as its goal than to be the world's best game server provider. Keep facing new, challenging and exciting tasks at a company that values your opinion.


open positions @ Nitrado
  • Tutorial from the site DayzTypes.pro - Discord

    Credits to MarvinFS who gave permission to post here Discord

    HOW-TO


    On upload, your file will be validated against custom XML schema, if your file has errors - it will not load. It also means that already your server is broken and it wouldn't spawn loot properly - refer to types.xml detailed guide for details. If you still want to load anything - use clean unmodified vanilla file from dayz standalone server distribution (from steam) and add your types from mods one by one, every time validating the file.


    In general, I would recommend to edit only nominal and min values for every item (which are basically maximum and minimum amounts of the item spawning on map in game). If some cases restock and lifetime could be also edited as per requirements.


    It's always worth sorting by lifetime and checking all items, for example in vanilla files by default all vehicles are set to 3 seconds despawn, so every restart you would basically loose all your cars with all inventory inside.

    Code
    1. <type name="Hatchback_02">
    2. <nominal>0</nominal>
    3. <lifetime>3</lifetime>
    4. <restock>1800</restock>
    5. <min>0</min>
    6. <quantmin>-1</quantmin>
    7. <quantmax>-1</quantmax>
    8. <cost>100</cost>
    9. <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    10. </type>

    For PVE\role playing servers, or if your cars are rare and cost a lot it's reasonable to set lifetime to 3888000 which is 45 days. (or less as per your preference)

    Don't put lifetime values more than 3888000


    For restock values you need to use something reasonable, but less than your typical server restart time, in my case server restarts every 4 hours, so in my case no reason to exceed 14400 seconds for the restock value.


    Feel free to ask questions in Discord at types-customizer support channel .

    DETAILED TYPES.XML GUIDE

    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:

    Code
    1. <!-- edited with sdfsdf sdf sdf sd this is single line comment --> <!-- edited with sdfsdf sdf sdf sd this fdgfdgfdg dfg dfg dfg fdg fdg this is multiline comment -->

    // - 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

    usage name="Police"/

    usage name="Hunting"/

    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) !!!!!

    value name="Tier4"/

    /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)


    Category names:

    Code
    1. clothes
    2. containers
    3. explosives
    4. food
    5. tools
    6. weapons
    7. vehiclesparts


    Tag names:

    Code
    1. shelves
    2. floor


    Usage names:


    Value names:

    Code
    1. Tier1
    2. Tier2
    3. Tier3
    4. Tier4