Wardogs: Vehicle Spawns (deployment boards, vehicle yards and infantry spawn areas per map)
Source: the 61 world and World Partition cell packages that name the spawn volume class, plus the 5 further cells that hold a deployment board or spawn manager without a volume, the board Blueprint defaults, the experience configs under data/Wardogs/Config/Experiences and the VehicleUtility ini. Everything below is generated by _tools/vehicle_spawns.py into assets/data/vehicle-spawns.json; do not edit this page by hand. Evidence level: cooked data read, nothing run.
Round 42 found 110 spawn volumes in the world data (evidence). This page ties them to maps: each volume sits in a World Partition cell that belongs to a spawn data layer (for example DL_GranadaSpawn), and each King of the Hill entry in the experience configs enables one base layer plus three spawn layers, one per team slot (Experiences). So a match uses three spawn sites per map, and each site is one layer.
1. What a spawn layer holds
Every spawn layer holds the same kit for one team slot (Alpha, Bravo or Charlie in the data):
- One deployment board (
B_VehicleDeploymentBoard_<faction>_C). It carries 4 to 6 vehicle spots (VehicleSpawnLocations, target points) and spawns the faction’s APC (the M113 APC SV in the Lonestar, Valkyra or Manticore version, set bySpawnVehicleTag). Players deploy onto that vehicle. The board shows one reason at a time, the highest-priority one that applies (round 75, evidence): respawning, score required, no vehicle, radar destroyed, not in the control zone, vehicle moving (Interactive.Deployment.Rejection.Driving) and no free seat (.NoSeat); a player on cooldown or outside the zone sees those instead. The.LowHPtag exists but no rule uses it. - Three to six spawn volumes (
WDSpawnVolume): normally an APC volume (the spots of the board), one to three ground-vehicle yards, one air yard and one light-vehicle (Bobcat) yard. A few layers lack one of these (section 3). Each lists the vehicle tags it allows and excludes. TheTargetPointsof a volume are the vehicle spots;MaxSpawnPointsand the spacing fields are separate generation settings whose use was not traced (0 on many volumes). - One infantry spawn manager (
B_SpawnManager_C) with aFactionTagand a grid of 46 to 81 spawn transforms (200 cm spacing, the nine-by-nine grid trimmed to the terrain). This is the infantry spawn area of that team slot. The spawn query asset (EQS_SpawnQuery_800_Bravo, an 800 cm search) is set on 13 of the 21 managers.
Totals per world are in section 6. The Kenya entry enables only its base layer (DL_Kenya) and has no world package under Maps/Worlds in the client (no Kenya or Africa map files at all); Sniper Showdown and the Tevza entry enable no spawn layer that holds a volume (Tevza names three spawn layers that no dumped cell contains; the three spawn managers without a layer are the PvE scenario spawn areas, round 75).
2. King of the Hill entries
Team slots: Alpha is paired with the Lonestar APC, Bravo with Valkyra and Charlie with Manticore (inferred: 17 of 20 APC volume tags and 18 of 20 linked board classes agree; the exceptions are listed in section 7).
| Entry | Map | Alpha layer | Bravo layer | Charlie layer | Vehicle volumes | Vehicle spots | Boards | Infantry areas |
|---|---|---|---|---|---|---|---|---|
Berlin_KOTH_01 | Berlin | DL_HanoverSpawn | DL_BremenSpawn | DL_StuttgartSpawn | 15 | 72 | 3 | 3 |
Madrid_KOTH_01 | Ozeti | DL_GranadaSpawn | DL_BarcelonaSpawn | DL_MalagaSpawn | 16 | 74 | 3 | 3 |
Paris_KOTH_01 | Paris | DL_GranadaSpawn | DL_RennesSpawn | DL_CalaisSpawn | 15 | 70 | 3 | 3 |
Bakurani_KOTH_01 | Bakurani | DL_BaghiSpawn | DL_KhevuliSpawn | DL_ChutaSpawn | 15 | 67 | 3 | 3 |
Bakurani_KOTH_02 | Bakurani | DL_SanaviSpawn | DL_RachuriSpawn | DL_TavarshiSpawn | 15 | 72 | 3 | 3 |
Mindori_KOTH_01 | Mindori | DL_BaghiSpawn | DL_KhevuliSpawn | DL_LiknisiSpawn | 13 | 70 | 3 | 3 |
ED_Detroit_KOTH_01 | Zestafona | DL_BostonSpawn | DL_AustinSpawn | DL_ChicagoSpawn | 15 (+1 outside the layers) | 61 (+7) | 3 | 3 |
Moscow_KOTH_01 | Saburtulo | DL_KuzminkiSpawn | DL_RostokinoSpawn | DL_RamenkiSpawn | 14 (+1 outside the layers) | 68 (+9) | 3 | 3 |
“Vehicle volumes” counts the ground, air, light and APC volumes of the three layers; the infantry volume that sits in a Strike and Disarm layer is not counted. “Vehicle spots” sums the target points of those volumes. Entries with no row here: Kenya_KOTH_01 (base layer only), the three Sniper Showdown entries (data-layer set EDL_SniperShowdown, no spawn layer) and Tevza_KOTH_01 (its spawn layers DL_VostimiSpawn, DL_EdemiSpawn and DL_ShovliSpawn hold no cell in the client).
3. Spawn layers
| Layer | World | Team | Board APC | APC volume | Ground yards | Air yards | Light yards | Vehicle spots | Infantry spawn grid |
|---|---|---|---|---|---|---|---|---|---|
DL_BarcelonaSpawn | Europe | Bravo | Valkyra | 1 | 2 | 1 | 1 | 25 | 61 pts |
DL_BremenSpawn | Europe | Bravo | Valkyra | 1 | 2 | 1 | 1 | 24 | 69 pts |
DL_CalaisSpawn | Europe | Charlie | Manticore | 1 | 2 | 1 | 1 | 24 | 69 pts |
DL_GranadaSpawn | Europe | Alpha | Lonestar | 1 | 2 | 1 | 1 | 22 | 81 pts |
DL_HanoverSpawn | Europe | Alpha | Lonestar | 1 | 2 | 1 | 1 | 24 | 65 pts |
DL_MalagaSpawn | Europe | Charlie | Manticore | 1 | 3 | 1 | 1 | 27 | 72 pts |
DL_RennesSpawn | Europe | Bravo | Valkyra | 1 | 2 | 1 | 1 | 24 | 69 pts |
DL_StuttgartSpawn | Europe | Charlie | Manticore | 1 | 2 | 1 | 1 | 24 | 69 pts |
DL_BaghiSpawn | Kavkazi | Alpha | Lonestar | 1 | 3 | 1 | 1 | 25 | 69 pts |
DL_ChutaSpawn | Kavkazi | Charlie | Manticore | 1 | 3 | 1 | 1 | 21 | 81 pts |
DL_KhevuliSpawn | Kavkazi | Bravo | Valkyra | 0 | 1 | 1 | 1 | 21 | 46 pts |
DL_LiknisiSpawn | Kavkazi | Charlie | Manticore | 1 | 1 | 1 | 1 | 24 | 60 pts |
DL_RachuriSpawn | Kavkazi | Bravo | Valkyra | 1 | 2 | 1 | 1 | 25 | 69 pts |
DL_SanaviSpawn | Kavkazi | Alpha | Lonestar | 1 | 2 | 1 | 1 | 23 | 81 pts |
DL_TavarshiSpawn | Kavkazi | Charlie | Manticore | 1 | 2 | 1 | 1 | 24 | 69 pts |
DL_AustinSpawn | NorthAmerica | Bravo | Valkyra | 1 | 2 | 1 | 1 | 22 | 60 pts |
DL_BostonSpawn | NorthAmerica | Alpha | Lonestar | 1 | 2 | 0 | 1 | 15 | 68 pts |
DL_ChicagoSpawn | NorthAmerica | Charlie | Manticore | 1 | 3 | 1 | 1 | 24 | 81 pts |
DL_KuzminkiSpawn | Russia | Alpha | Manticore | 1 | 2 | 0 | 1 | 17 | 81 pts |
DL_RamenkiSpawn | Russia | Charlie | Lonestar | 1 | 2 | 1 | 1 | 26 | 76 pts |
DL_RostokinoSpawn | Russia | Bravo | Valkyra | 1 | 2 | 1 | 1 | 25 | 69 pts |
Layers also hold stray volumes of another team slot in one case: DL_RostokinoSpawn carries an extra Alpha air yard (9 spots). The Detroit map has one Alpha air yard in no data layer at all (7 spots, section 7).
4. What each layer allows
Tags are Vehicle.Variant.* gameplay tags; a parent tag stands for every vehicle under it. Names are from the Vehicles pages (see section 5 for the pairing, which is inferred).
| Layer | Team | APC tag in the volume | Allowed by the ground, air and light yards |
|---|---|---|---|
DL_BarcelonaSpawn | Bravo | APC Valkyra | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_BremenSpawn | Bravo | APC Valkyra | any air vehicle, any tracked vehicle, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family |
DL_CalaisSpawn | Charlie | APC Valkyra | any air vehicle, any tracked vehicle, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family |
DL_GranadaSpawn | Alpha | APC Lonestar | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_HanoverSpawn | Alpha | APC Valkyra | any air vehicle, any tracked vehicle, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family |
DL_MalagaSpawn | Charlie | APC Manticore | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_RennesSpawn | Bravo | APC Valkyra | any air vehicle, any tracked vehicle, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family |
DL_StuttgartSpawn | Charlie | APC Valkyra | any air vehicle, any tracked vehicle, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family |
DL_BaghiSpawn | Alpha | APC Lonestar | any air vehicle, L2A6 family, T-72B3, Azar (test), Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_ChutaSpawn | Charlie | APC Manticore | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_KhevuliSpawn | Bravo | none | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_LiknisiSpawn | Charlie | APC Manticore | any air vehicle, any land vehicle, Bobcat |
DL_RachuriSpawn | Bravo | APC Valkyra | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_SanaviSpawn | Alpha | APC Lonestar | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_TavarshiSpawn | Charlie | APC Manticore | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_AustinSpawn | Bravo | APC Valkyra | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_BostonSpawn | Alpha | APC Lonestar | L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_ChicagoSpawn | Charlie | APC Manticore | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_KuzminkiSpawn | Alpha | APC Lonestar | L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_RamenkiSpawn | Charlie | APC Manticore | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
DL_RostokinoSpawn | Bravo | APC Valkyra | any air vehicle, L2A6 family, T-72B3, Bobcat, Dune Buggy, Humvee family, Kodiak family, Ural family, Wolf 110 family |
Each yard also lists tags it excludes, which is how a generic tag such as the air tag is narrowed: air yards exclude Land; light yards exclude the other wheeled families, the tanks, the APCs and the air tags; APC volumes exclude every other APC tag. The full allowed and excluded lists are in the JSON (volumes).
5. Tag to vehicle names
| Tag | Vehicles (display names) | Basis |
|---|---|---|
Air | any air vehicle (every helicopter and the airplane, minus anything the volume excludes) | inferred |
Air.Rotary.Havoc | Havoc | inferred |
Air.Rotary.Littlebird | MH-6; AH-6M [Miniguns]; AH-6R [Rockets] | inferred |
Air.Rotary.ROT_01 | Huey | inferred |
Air.Rotary.ROT_04 | Z20 Lakota; Z20 Lakota [Miniguns] | inferred |
Land | any land vehicle | inferred |
Land.Tracked | any tracked vehicle (minus the excluded faction APCs) | inferred |
Land.Tracked.TNK_01 | L2A6; Flakpanzer Gepard; SPH-2 | inferred |
Land.Tracked.TNK_04 | T-72B3 | inferred |
Land.Tracked.SpawnVehicle.Lonestar | M113 APC SV (Lonestar version) | inferred |
Land.Tracked.SpawnVehicle.Manticore | M113 APC SV (Manticore version) | inferred |
Land.Tracked.SpawnVehicle.Valkyra | M113 APC SV (Valkyra version) | inferred |
Land.Wheeled.Azar | Azar (test vehicle, no wiki article) | inferred |
Land.Wheeled.Bobcat | Bobcat | inferred |
Land.Wheeled.DuneBuggy | Dune Buggy | inferred |
Land.Wheeled.Humvee | Humvee; Humvee [M249]; Humvee [Minigun] | inferred |
Land.Wheeled.Kodiak | Kodiak; Kodiak [M249]; Kodiak [Pickup] | inferred |
Land.Wheeled.Ural | Ural; Ural Defender; Ural Defender [M249] | inferred |
Land.Wheeled.WHL_08 | Wolf 110; Wolf 110 [M2 Browning] | inferred |
Basis: the internal-name rows of the vehicle articles (TNK_01, TNK_04, WHL_02, WHL_05, WHL_07 and WHL_08 are the family codes) and the spotting and explosion tables for the helicopters. The data lists no vehicle by display name in the volumes, and the tags do not say which variant of a family (for example Humvee with or without a gun) a yard produces. The airplane is under the generic air tag; whether a yard ever places it was not traced. The test vehicle Azar has no wiki article.
6. Per-world totals
| World | Map | Volumes | Boards | Infantry spawn managers | Vehicle spots | Spawn layers |
|---|---|---|---|---|---|---|
| Europe | Ozeti | 41 | 8 | 8 | 194 | DL_BarcelonaSpawn, DL_BremenSpawn, DL_CalaisSpawn, DL_GranadaSpawn, DL_HanoverSpawn, DL_MalagaSpawn, DL_RennesSpawn, DL_StuttgartSpawn |
| Gym_Minimal | Gym (test area) | 3 | 3 | 0 | 0 | |
| Kavkazi | Bakurani | 35 | 7 | 8 | 163 | (no data layer), DL_BaghiSpawn, DL_ChutaSpawn, DL_KhevuliSpawn, DL_LiknisiSpawn, DL_RachuriSpawn, DL_SanaviSpawn, DL_TavarshiSpawn |
| NorthAmerica | Zestafona | 16 | 3 | 3 | 68 | (no data layer), DL_AustinSpawn, DL_BostonSpawn, DL_ChicagoSpawn |
| Russia | Saburtulo | 15 | 3 | 3 | 77 | DL_KuzminkiSpawn, DL_RamenkiSpawn, DL_RostokinoSpawn |
The totals include every layer a world has, not only those one entry enables (a world has 3 to 8 spawn layers and an entry uses 3). Gym_Minimal is a test area with its own three infantry volumes and three boards.
7. Limits, timers and data quirks
- Per-player vehicle limit.
WDVehicleUtilityComponent.MaxVehiclesPerPlayer = 2(DefaultVehicleUtility.ini); the plugin text says it caps vehicle ownership per player on the session game mode. - Deploy cooldown.
PlayerDeployCooldownis 600.0 s in the board Blueprint default and no map board overrides it. It is written per player when a deployment seats the player on the board’s APC (round 75) and shown as the cooldown reason.RadarRestoreHealthThresholdis 0.55: the radar is flagged destroyed when the APC’s radar health reaches 0 and cleared when it is back at that share of its maximum. - Vehicle respawn timer: a native class default. The board class has
VehicleRespawnTimer,LosingVehicleRespawnTimer,VehicleHealthThresholdandVehicleSpeedThreshold(SDK0x3F8..0x40C). Neither the Blueprint default nor any of the 18 map boards sets them, so the live maps use the values the native constructor writes (round 53, evidence): respawn timer 300 s, losing-side respawn timer 60 s, health threshold 0.3, speed threshold 10, plus a minimum score of 20 and a losing score threshold of 15. The Gym test boards override the respawn timer to 240 s. Round 75 (evidence) read the consumers: when the APC is lost the board takes the 60 s timer if the best other side leads the board’s side by 15 score points or more, otherwise 300 s (scaled by a server value that defaults to 1); the timers time that APC only, not the yard vehicles. No APC is put out until one side has a score of 20 (the board shows the score-required text until then). The speed threshold is 10 km/h (the vehicle-moving reason). The health threshold 0.3 has no reader. - Native cooldown default. The board constructor sets
PlayerDeployCooldownto 120 s; the Blueprint raises it to 600 s, so 600 s is what the live maps use. The Gym boards set 120 s explicitly, which equals the native default.RadarRestoreHealthThresholdis 0.5 natively and 0.55 in the Blueprint.MaxVehiclesPerPlayeris 2 in the native constructor as well as in the ini. - No per-yard vehicle count or per-vehicle respawn timer. A volume lists allowed tags and spots; how many of each vehicle exist and a per-yard or per-vehicle respawn time is not in the cooked data (the spawn logic is native; see the round 42 note on the open volume route). The board-level respawn timer is in the previous two bullets.
- Boards and APC tags disagree in places. Board classes against the team slot of their layer: Lonestar 5 of 6 on Alpha, Manticore 7 of 8 on Charlie, Valkyra 6 of 6 on Bravo (one Valkyra board has no APC volume to compare). The exceptions are in Russia, where the Kuzminki layer (Alpha) has a Manticore board and the Ramenki layer (Charlie) a Lonestar board. Volumes carry a different APC tag from their team slot in three places (all in Europe, all the Valkyra tag:
DL_StuttgartSpawn,DL_CalaisSpawn,DL_HanoverSpawn). Which side of the pair wins at run time is not known. - One Detroit air yard belongs to no spawn layer. An Alpha air yard with four explicit helicopter families (Havoc, Little Bird family, Huey, Z20 Lakota family) sits in a cell with no data layer, so it is part of the base world for every Detroit entry (inferred from the empty layer list of its cell).
- Strike and Disarm. One infantry volume (Charlie, 15 max points) and one spawn manager sit in the Strike and Disarm external layer on Kavkazi; they are not part of the King of the Hill spawns. Further spawn managers sit in the PvE scenario layers (ScenarioExample, VIP Escort, Strike and Disarm); they were not dumped.
8. Reproduce
WdExtract <Paks> <key> <usmap> <out> <Paks>\oo2core_9_win64.dll findname Wardogs WDSpawnVolume -> findname.txt (61 packages)
WdExtract ... <out>\sv dump <those package paths>
WdExtract ... findname Wardogs B_SpawnManager_C (and B_VehicleDeploymentBoard_Lonestar_C / _Manticore_C / _Valkrya_C)
WdExtract ... <out>\sv_extra dump <the cells not already in sv>
WdExtract ... list B_VehicleDeploymentBoard, then dump it plus .../Gamemode/Objects/B_SpawnManager into <out>\bd
python -I _tools/vehicle_spawns.py [--check] <round42 dir with sv> <dir bd> (sv_extra is read next to bd)
Extractor arguments are in tools/cue4parse_extractor/README.md. The wiki articles for each map summarise this page.