Server guide
Server setup
Four steps get a DayZ 1.30 dedicated server running with helicopters: load the mods, copy the key, add the loot files and start. You don't need to edit init.c, events.xml or any other XML.
Requirements
- DayZ 1.30 on the server and every client, same game build.
- Community Framework (CF) and RotorCraft Evolution on the server and every client, CF first.
- The same RotorCraft Evolution version on server and clients.
A server-only install does not work: clients need the models, sounds, inputs and scripts. An admin-tools mod is optional.
1. Add the mods, CF first
Put @CF and @RotorCraftEvolution beside the server executable. The mod folder should contain mod.cpp, addons and keys directly, with no extra folder in between:
@RotorCraftEvolution/mod.cpp@RotorCraftEvolution/addons/RotorCraftEvolution.pboand its.bisign@RotorCraftEvolution/keys/rotorcraftevolution.bikey
Load them in this order:
"-mod=@CF;@RotorCraftEvolution"
Do not put CF or RotorCraft Evolution in -serverMod. Use -serverMod only for unrelated server-only mods, or leave it out. Load only one copy of the mod.
Windows
Add the mod argument to your existing startup command or hosting panel. A minimal launch from the server folder:
.\DayZServer_x64.exe -config=serverDZ.cfg -profiles=profiles "-mod=@CF;@RotorCraftEvolution" -dologs
Linux
./DayZServer -config=serverDZ.cfg -profiles=profiles '-mod=@CF;@RotorCraftEvolution' -dologs
Match the path case exactly and keep the files named as shipped. Don't unpack or modify the signed PBO. The server account needs read access to the mod and write access to its profiles and mission storage.
The -profiles folder is where the mod writes its settings files and where your logs go. Keep the rest of your normal launch options.
2. Copy the key
Copy @RotorCraftEvolution/keys/rotorcraftevolution.bikey, and CF's .bikey, into the server's top-level keys folder. Keep verifySignatures = 2; in serverDZ.cfg.
3. Add the loot files
Without this step players can't find rotor blades, drive belts, keys, spray cans or ammunition containers.
- Make a folder called
rotorcraftin your mission folder:mpmissions/<mission>/rotorcraft/. - Copy
types_custom_items.xmlandcfgspawnabletypes_custom_items.xmlfrom the mod'sreleasefolder into it. - Add this one line inside
<economycore>in the mission'scfgeconomycore.xml:
<ce folder="rotorcraft"><file name="types_custom_items.xml" type="types"/><file name="cfgspawnabletypes_custom_items.xml" type="spawnabletypes"/></ce>
If you already merged these entries into db/types.xml, skip this step. Don't add them twice. See Loot and economy for what the files contain.
4. Start the server
About 15 seconds after the mission starts, the script log and RPT show one of these:
[RotorCraft] Loot entries OK: ... | Loot is set up. |
[RotorCraft] Loot entries missing for: ... | Step 3 isn't in effect. Check the folder name, the file names and the cfgeconomycore.xml line. |
About 20 seconds after mission start, aircraft appear on their own on Nasdara. Other maps start with no spawn positions; add your own in RotorCraft_Spawns.json. See Aircraft spawns.
Every settings file is written to the profile folder with working defaults the first time the server needs it. Some only appear once an aircraft has been created.
Clients
Players subscribe to CF and RotorCraft Evolution on the Workshop. The DayZ Launcher loads them in the right order when they join your server.
Settings files
All of these live in the server profile folder (the -profiles directory), not in the mod folder. Clients don't need copies.
RotorCraft_Spawns.json | Where and which aircraft spawn. Aircraft spawns |
RotorCraft_Aircraft.json | Handling, required parts, recovery, wind, HUD, debug logging. Aircraft settings |
RotorCraft_Damage.json | Difficulty, crash and crew damage. Damage and difficulty |
RotorCraft_Weapons.json | Door guns, cannon and AH-6 weapons. Weapon settings |
RotorCraft_Locks.json | Model keys, code locks, lock pick kit. Locks and keys |
RotorCraft_Keys.json | The older ignition-key system, off by default. Locks and keys |
Updating
- Stop the server. Back up the active mission, world storage and profile folder together.
- Replace the complete mod, including signatures, and the public key if it changed.
- Make sure every client gets the same version. Remove any old duplicate mod folders from your launch arguments.
- Regenerate your settings files: rename the old ones, start the server once so it writes fresh ones, stop it, and copy your changes back in. Older files may be missing new settings, and a missing number often reads as 0, not the default.
- Check the startup logs, joining, spawning and a save and restart before opening for normal play.
Players with a different mod version get kicked while loading in, so restart promptly after every update.
After a DayZ patch, match the server and client game builds and use CF and RotorCraft Evolution versions made for that patch. The supported target is DayZ 1.30. Rolling back needs the matching pre-update storage backup as well as the old mod files.
Restarts
- Use normal, orderly restarts. Ask pilots to land and stop first.
- Keep vehicle persistence and world storage enabled, and keep the same storage path. Neither a restart nor regenerating settings should need a wipe.
- Aircraft save their fuel, damage, inventory and lock state.
Problems? See Logs and troubleshooting.
Something missing or wrong? Ask in the Discord.