How to set up DayZ Expansion AI patrols on your server
To add armed AI patrols to a DayZ PC server, install Expansion AI and its required frameworks on the server and clients, generate the settings, then export a patrol from the in-game AI menu. Start with one small patrol on a separate test instance so you can check its route, equipment and cost before adding more.
This procedure covers DayZ-Expansion-AI, Workshop item 2792982069. These are armed survivors. For the vanilla infected population, use increase zombies.
Prepare the server and choose the package set
Section titled “Prepare the server and choose the package set”Take a stopped backup of the active mission, world save, profiles, mod packages, keys and launch parameters. Record the server build and Workshop versions. Complete a vanilla client join before diagnosing an AI installation.
For an AI-only installation, the Workshop page lists these dependencies:
| Package | Original Workshop ID |
|---|---|
| CF | 1559212036 |
| Dabs Framework | 2545327648 |
| DayZ-Expansion-Core | 2291785308 |
| DayZ-Expansion-AI | 2792982069 |
If you use Expansion Bundle, check the Expansion package guide before adding individual modules. Avoid loading a second copy of modules supplied by the bundle. If introducing CF to an existing world, the CF author requires a wipe; rehearse with new persistence and keep the original save intact.
Install the packages and generate settings
Section titled “Install the packages and generate settings”In VXPanel, stop the service, open Mods, search the original AI item ID and review its Steam link. Use Install and Install all required mods for the server-and-client scope. Confirm each dependency appears in the installed list. The panel mod reference explains dependency handling, scope and updates.
For a manual installation, copy each subscribed package into its own server folder and copy the supplied .bikey files into the server’s keys directory. Use folder names that exist on your host. An AI-only launch argument can look like this:
"-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-AI"Keep these packages in -mod, with the matching files loaded by connecting players. Keep signature verification enabled. Start the test server once, inspect the startup log for script or dependency errors, then stop it before editing files.
There are two configuration locations. Substitute the directory selected by -profiles and the mission selected by serverDZ.cfg:
| File | Location and purpose |
|---|---|
AISettings.json |
<profiles>/ExpansionMod/Settings/: administrator access and general AI settings |
AIPatrolSettings.json |
mpmissions/<active-mission>/expansion/settings/: patrols for that world |
Back up both generated files. Preserve m_Version and fields you are not changing. Expansion’s AI settings reference describes the profile settings; the patrol settings reference covers the mission file.
Grant AI menu access and export a route
Section titled “Grant AI menu access and export a route”In AISettings.json, put your own SteamID64 in the existing Admins array as a quoted string. Do not replace the whole settings file or add a second Admins key. Save valid JSON, start the server and join with the matching client packages.
The author’s menu uses T by default; check your Expansion key bindings if another mod uses that key. AI menu access
Spawn a small group of companion AI, use Ctrl + click to set waypoints, then choose Export Patrol. These are the author’s recommended route-creation steps.
The reviewed export implementation saves Expansion_AI_Patrol.json in the active profiles directory. Retrieve that file and keep a copy. Stop the server, then insert the exported patrol object into the existing Patrols array in the mission’s AIPatrolSettings.json. Preserve other patrol entries and put a comma between adjacent objects. The export file is not a replacement for the whole mission settings file. Export implementation
Give the patrol a name you can identify in logs. Use exported positions from the world you are running; a Chernarus route will not become a DeerIsle route when copied into another mission. Ensure the root Enabled setting permits patrol spawning.
Adjust one patrol before expanding the population
Section titled “Adjust one patrol before expanding the population”Edit the exported object rather than pasting an old full-file example. The current author reference uses Patrols for both ordinary and object patrols; ObjectPatrols was merged into it in Expansion 1.9.34.
| Field | First test |
|---|---|
NumberOfAI |
Use a small positive count, such as 2 |
Behaviour |
ALTERNATE follows the route in both directions |
Faction |
Choose the intended relationship; Guards can become hostile to raised weapons |
Chance |
1.0 removes probability as a cause of a missing test patrol |
MinDistRadius / MaxDistRadius |
Set a spawn band you can approach from outside |
DespawnRadius |
Leave enough distance to observe the patrol before leaving its active area |
Persist |
Use only after a restart test; persistent patrols need unique names and no ObjectClassName |
For LOOP, put the final waypoint near the first or the return leg can cross unwanted terrain. Object-relative waypoint coordinates have a different meaning from world positions. Keep ObjectClassName empty for the ordinary exported route. Patrol field reference
A patrol’s Loadout names a loadout file without its .json extension. The reviewed Core path is <profiles>/ExpansionMod/Loadouts/. Start from a generated loadout that exists there; check weapon, magazine and ammunition class names before introducing modded equipment. Keep a working copy so you can separate a loadout problem from a route problem. Core path definitions
Accuracy values use the 0.0 to 1.0 range. Keep AccuracyMin no greater than AccuracyMax. DamageMultiplier changes outgoing AI damage; DamageReceivedMultiplier changes damage taken by AI. Change one setting per run and record the outcome. An inherited value in a patrol can differ from the root profile value.
Check spawning, combat and server load
Section titled “Check spawning, combat and server load”If you also use PvZmoD Customisable Zombies, review its compatibility checks. The PvZmoD author reports possible problems with Expansion AI. Prove each package works separately, then test infected aggression and AI interactions with the exact combined releases before opening the changes to players.
Restart with valid JSON, then approach through the configured spawn band. Standing inside MinDistRadius can prevent a new patrol from spawning. Use a second player account to check the intended faction behavior without administrator companion commands affecting the result.
Before opening the server to players, check that:
- The patrol spawns on the intended terrain and completes its route without entering inaccessible buildings.
- Each AI has its intended equipment and can use its weapon.
- Friendly, armed and attacking players get the behavior your rules describe.
- Leaving the area permits despawn; returning produces the intended respawn behavior.
- A stop/start preserves the intended state when persistence is enabled.
For performance checks, the author documents enableDebugMonitor = 2; in serverDZ.cfg to expose Expansion AI statistics to AI administrators. Review concurrent AI, server FPS and AI update time while players activate several areas. Add patrols in small increments; a quiet test with one group cannot establish a busy-server capacity. AI performance reference
Troubleshoot or roll back
Section titled “Troubleshoot or roll back”| Symptom | Check |
|---|---|
| No AI menu | Your SteamID64, active profiles path, client modules and key binding |
| Export exists but no patrol | Correct active mission, valid JSON, root Enabled, Chance and spawn band |
| AI appear at the wrong location | Exported map, waypoint coordinates and ObjectClassName |
| Missing equipment | Existing loadout filename and loaded item dependencies |
| Slow reactions after adding groups | Concurrent AI and update-time statistics; reduce active patrols |
To undo a patrol edit, stop the server and restore the matching settings and loadout backups. To remove the AI module, review mod removal and its saved data before altering the package list. Do not remove shared frameworks still required by other mods.