Skip to content

How the Config Works

cjcarw edited this page Jul 15, 2026 · 1 revision

🧠 How the Config Works

The mod uses a two-layer system: a global file decides how many patrols and which presets, and each preset is a full BTR definition.


🗂️ File structure

<profile>/BS_BTR_Patrol/
├── BTR82_Global.json        ← how many patrols, which presets (by %)
└── presets/
    ├── patrol_normal.json    ← a full BTR definition
    ├── patrol_easy.json
    └── boss_airfield.json

1️⃣ The global file — BTR82_Global.json

Controls how many patrols run and which presets they roll. Each preset entry has a Chance (relative %, auto-normalized). When a patrol spawns, the mod picks a preset by weighted random.

📄 Full reference: Global Config.

2️⃣ Preset files — presets/<name>.json

Each one is a full BTR definition — skin, health, turret, loot, routes, everything. You can have as many as you want; just list them in the global file.

📄 Full reference: Configuration Reference · 🧪 Complete template: Example Preset.


🎚️ Difficulty as a base + JSON overrides

Each preset has a "Difficulty" field (easy / normal / hard / boss). On load, the mod first applies that difficulty template as a base, then loads your JSON on top.

Note

Any value you write in the JSON always wins over the template. The template only fills in what you didn't touch.

📊 Exact template values: Difficulty Templates.


🔧 Self-healing config

When the mod updates and adds new options, they are added to your existing JSON files automatically on the next server start — with their default values. You never have to delete and regenerate your config. This applies to both the global file and every preset.

Warning

One quirk to know (a DayZ JSON-loader limitation): when a new field is added inside a block your JSON already had, it can land as 0/false/empty instead of its intended default. Whole new blocks (e.g. Faction, SmokeScreen appearing for the first time) get correct defaults — it's only new fields inside pre-existing blocks that can zero out.

After a mod update, skim the changelog for new fields and double-check them once. Known examples: Faction.AttackOtherBTRs and Markers.ShowHealthOnMarker may appear as 0 — set them to 1 if you want them on.

Tip

To fully reset a file to defaults, just delete it and restart — it regenerates.


Next: Global Config · Configuration Reference · Example Preset

Clone this wiki locally