dayzdockerserver/files/custom
Daniel Ceregatti 9513fc4d97 Add support for custom integrations. The first is no food, which makes a new types.xml of all the food class items for use with CE, then sets nominal to 0 in all entries.
Have server logs go into a logs directory, with sub-directories in there with the date to contain that run's logs.
Fix XML handling output.
Update bogus DayZ version.
Add custom integration docs.
2023-09-28 15:39:13 -07:00
..
README.md Add support for custom integrations. The first is no food, which makes a new types.xml of all the food class items for use with CE, then sets nominal to 0 in all entries. 2023-09-28 15:39:13 -07:00

Custom Server Changes

These are the custom integrations possible with dayzdockerserver

Lowered login/logout time

To lower the login/logout time from the default 15 seconds.

Go into the server container:

docker compose exec server bash

Make a new directory in /profiles/custom called login and go into it:

mkdir -p /profiles/custom/login
cd /profiles/custom/login

Generate a globals.xml with the changed values:

cat > globals.xml << EOF
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<variables>
    <var name="TimeLogin" type="0" value="1"/>
    <var name="TimeLogout" type="0" value="1"/>
</variables>
EOF

No food

For a more survival-oriented experience, one can prevent food from spawning in the world, forcing players to hunt and fish for food.

Go into the server container:

docker compose exec server bash

Make a new directory in /profiles/custom called no-food and go into it:

mkdir -p /profiles/custom/no-food
cd /profiles/custom/no-food

Generate the types.xml override file from your current mpmissions type.xml (presumes dayzOffline.chernarusplus):

xmlstarlet ed \
  -s / -t elem -n food \
  -m "/types/type[category[contains(@name, 'food')]]" "/food" \
  -d /types \
  -r food -v types \
  -u //nominal -v 0 \
  /serverfiles/mpmissions/dayzOffline.chernarusplus/db/types.xml \
  > types.xml

Always lint any XML file that is created/merged:

xmllint --noout types.xml

Explanation:

  • Start xmlstarlet in edit mode
  • Add a new XML node at the root named "food"
  • Move all <type> nodes where <category name="... has the word "food" in it to the new /food node
  • Delete the remaining <types> root node
  • Rename <food> to <types>
  • Set all remaining nodes to have <nominal>0</nominal>
  • Do this for every mpmissions types.xml file (dayzOffline.chernarusplus shown here)
  • Save it to a new types.xml file in the current directory, the one we made above.

This file will now serve as a types.xml override for all food items when the server starts!

Every directory under /profiles/custom will be added as a new Economy Core entry when the server is started.

See https://community.bistudio.com/wiki/DayZ:Central_Economy_mission_files_modding for more details.