STW Heavy Weapons
Put proper support weapons into the field: defended machine-gun positions, mortar posts, useful supplies, map awareness and artillery that feels like part of a living battlefield—not a button that dispenses explosions.
STW Heavy Weapons is one of the STW mods for Arma Reforger, the military sandbox by Bohemia Interactive. This is a player and server-admin guide by STW (ScienceTechWorks).
What this mod brings to the fight
STW Heavy Weapons turns static weapons into complete battlefield posts. Instead of dropping a lonely tripod into the mud and hoping for the best, a post can have a faction, crew, guards, nearby supplies and a clear role on the map.
- RPK machine-gun posts for holding roads, compounds and bad ideas at bay.
- Mortar posts for indirect fire support, with crews that can receive artillery missions.
- Optional arsenals and STW Crates near a post, so its defenders are not sent to war with pockets full of optimism.
- Persistent posts that can be saved and restored across server restarts.
- Map markers with public, zoom-based or hidden visibility choices.
- Automatic population that can turn suitable weapon placements into staffed posts.
- Terrain mortar networks that can seed a map with faction-owned mortar positions at startup.
- Mortar fire control with cooldowns, fatigue/stress, accuracy variation and player-safety options.
It is designed to sit comfortably alongside the wider STW suite of mods for Arma Reforger by Bohemia Interactive. In particular, enabling STW Crates lets posts use the supply ecosystem already familiar to STW communities.
Using it in Game Master
Open the Game Master entity browser and look for the STW Heavy Weapons placeables. The mod provides an STW RPK model and an STW Mortar model. Place one where it has sensible ground, a useful field of fire and enough room for its friends.
- Place an STW RPK or STW Mortar.
- Select the placed post and open its attributes.
- Set Post Faction to decide who owns and mans it.
- Choose the number of Guards to station alongside the weapon.
- Use Force Arsenal if this post should always receive an arsenal.
- Use Force STW Crate if it should always receive a nearby STW Crate (when STW Crates integration is enabled).
The system builds the working post around the placed model. A mortar crew is registered for artillery duty; an RPK post becomes a compact defensive position. Place them with intent: a mortar benefits from breathing room, while a machine gun sings when it watches a choke point.
Post and checkpoint parameters
Alongside the STW RPK and STW Mortar placeables, the entity browser now includes an STW US Checkpoint. It is a ready-made roadside post: place it on a suitable road, then select it to adjust the same post settings.
| Game Master parameter | Default | What it does |
|---|---|---|
| Post Faction | Automatic | Rebuilds the post with a loaded faction from gameMasterFactions. Automatic retains the checkpoint's authored faction or uses the configured automatic selection. |
| Guards | Automatic for a newly placed post | Sets 0–2 guards beside the weapon. After the post is built, the setting reflects the resolved guard count. |
| Force Arsenal | On | Creates a faction arsenal for the post. Turn it off when a post should be weapon-only. |
| Force STW Crate | Off | Creates a nearby STW Crate when STW Crates integration is enabled. |
| Align to Nearest Road (checkpoint only) | On | Aligns the checkpoint to the nearest road during its first setup. Disable it to preserve the direction chosen by the Game Master. |
Firing mortars
Mortar posts can support artillery missions through Arma Reforger's normal command/artillery flow. The exact order-giving experience depends on the game mode and the server's chosen assignment strategy, but the guiding rule is simple: select or assign an available mortar crew, then designate the target through the usual artillery order.
STW Heavy Weapons adds a little battlefield character. Mortars do not have endless energy or perfect aim: each completed salvo adds stress, stress fades over time, and firing delays and accuracy can vary. This keeps artillery powerful without turning it into a meteorological event.
Player Combat Support orders are reliable by default. HE, smoke and flare requests are accepted even when a mortar is temporarily cooling down or already marked busy by fire control. The order remains queued, then its waypoint is issued after a randomized 15–30 second delay. AI mortar behavior keeps its normal stress, safety, cooldown and autonomous-fire rules.
In-game automatic-generation control
During a running game, a Game Master can open Scenario Properties, select STW Heavy Weapons, and change Automatic Terrain Mortar Generation. Disabling it immediately removes terrain-generated mortars and their STW-owned crews, arsenals, crates and markers; manually placed mortars remain. Re-enable it to allow a fresh automatic generation pass. This control is session-only, so the next game returns to the server configuration.
Server configuration
Heavy Weapons keeps its settings in the server profile, not in the mod download itself. This means a mod update does not normally overwrite your choices—which is exactly what a server owner wants.
Where are the configuration folders?
Start the server once with STW Heavy Weapons loaded. It creates the folders and its default files automatically. Open the server's profile directory, then follow this path:
$profile:STW/HeavyWeapons/
In a typical Windows server installation, $profile means the profile folder selected by the server's -profile startup parameter. If no custom profile location is used, it is commonly in the server's working/profile area. Ask whoever starts the server where its profile folder is; the STW folder will be inside it.
| Folder / file | Purpose |
|---|---|
$profile:STW/HeavyWeapons/STWHeavyWeaponsSystemConfig.json | Core system settings: limits, markers, persistence, crates, Game Master factions and artillery player messages. |
$profile:STW/HeavyWeapons/STWAutoPopulationConfig.json | Automatic creation of staffed RPK and mortar posts. |
$profile:STW/HeavyWeapons/STWMortarTerrainConfig.json | Terrain-generated mortar network and faction quotas. |
$profile:STW/HeavyWeapons/STWHeavyWeaponsRespawnConfig.json | Session-only terrain-Mortar replacement timing and player-safety rules. |
$profile:STW/HeavyWeapons/STWMortarFireConfig.json | Mortar mission, cooldown, accuracy, stress, safety, and reliable player-order behavior. |
$profile:STW/Persistence/ | Saved heavy-weapon post data, kept separately from the settings. |
Mortar player-order reliability
These settings are in STWMortarFireConfig.json. They apply only to player-issued Combat Support mortar orders; AI fire-control policy is unchanged.
| Setting | What it controls | Default |
|---|---|---|
alwaysExecutePlayerOrders | Retains HE, smoke and flare player orders instead of rejecting them for temporary cooldown or active-mission availability checks. | true |
playerOrderMinimumDelaySeconds | Minimum delay before the queued player's waypoint is issued. | 15 |
playerOrderMaximumDelaySeconds | Maximum delay; each order receives a random delay within the configured range. | 30 |
Set alwaysExecutePlayerOrders to false to restore the previous rejection behavior. Delay values are validated and clamped by the server.
1. System settings — STWHeavyWeaponsSystemConfig.json
| Setting | What it controls | Good starting point |
|---|---|---|
heavyWeaponsSystemEnabled | Master switch for the Heavy Weapons system. | true |
persistenceEnabled | Saves and restores managed posts between restarts. | true for long-running servers. |
persistenceIntervalMinutes | How often the system saves its state. | 30; lower values save more often. |
persistenceRestoreInitialDelaySeconds, persistenceRestoreBatchSize, persistenceRestoreBatchDelayMilliseconds | How gently saved posts return after startup. | Leave defaults unless startup performance needs tuning. |
maximumActivePosts | Ceiling for active managed weapon posts. | 20; raise gradually after performance testing. |
maximumGeneratedSoldiers | Ceiling for AI created for posts. | 60; match it to your server's AI budget. |
sharedPostResourceRadiusMeters | How close a crate may be to be shared by a post. | 25 metres. |
markerVisibility | 0 hides markers, 1 shows them only when zoomed in, 2 shows them normally. | 2 for admin-friendly maps. |
markerZoomThreshold | Map zoom level used by zoom-based markers. | 1.5. |
useRandomOffsetForPublicMarkers, maximumPublicMarkerOffsetMeters | Can deliberately blur public marker positions. | Enable for fog-of-war flavor. |
enableSTWCrates | Allows integration with STW Crates. | true when that STW mod is installed. |
enableChatMessages | Shows artillery status updates in the player's radio chat. | true. |
enableNotificationMessages | Shows artillery status updates as on-screen hint notifications. | false; enable only when you want these alerts. |
mortarCommandAssignmentEnabled | Enables assigning managed mortars to artillery-command groups. | true. |
mortarCommandAssignmentStrategy | Chooses assignment policy: NONE, SIMPLE, or NEARBY. | NEARBY; uses the configured service radius and reconciliation interval. |
mortarCommandServiceRadiusMeters, mortarCommandNearbyReconciliationSeconds | Sets the NEARBY strategy's search radius and update interval. | 2000 m / 30 s. |
debugLogging | Writes detailed Heavy Weapons diagnostics to the server log. | false outside troubleshooting. |
gameMasterFactions | Factions that Game Master may use for posts. | Keep only factions present on your server. |
2. Automatic posts — STWAutoPopulationConfig.json
Automatic population is off by default. When enabled, the server periodically reviews relevant weapon placements and can turn them into staffed posts. It respects the active-post and soldier limits above.
| Setting | Plain-English purpose |
|---|---|
automaticPopulationEnabled | Turns automatic post creation on or off. |
runtimeReconciliationSeconds | How often the server checks for new suitable placements. |
machineGunPostChancePercent, mortarPostChancePercent | Chance that each eligible weapon type becomes a post. |
minimumSoldiersPerPost, maximumSoldiersPerPost | How many defenders each generated post receives (1–3). |
factionExclusionRadiusMeters | Keeps competing faction posts from appearing too close together; minimum is 500 m. |
arsenalDistanceMinMeters, arsenalDistanceMaxMeters | How near a generated arsenal sits to its post. |
guardDistanceMinMeters, guardDistanceMaxMeters | How far guards spread from their weapon. |
enableGuardDefendActivity | Lets guards use a defend activity instead of simply standing their ground. |
crateDistanceMinMeters, crateDistanceMaxMeters, crateNearArsenalChancePercent | Controls crate placement and the chance it appears beside the arsenal. |
machineGunFactionWeights, mortarFactionWeights | Choose which factions are most likely to receive generated posts. Higher weight means more likely. |
3. Terrain mortar network — STWMortarTerrainConfig.json
This creates a limited set of mortar posts across suitable terrain during startup. It avoids unsuitable locations such as water, awkward slopes and crowded areas, then works toward the faction quotas you set.
terrainMortarPlacementEnabledturns the network on or off.terrainMortarFactionQuotassets how many mortars each faction should receive. A quota of0means none.terrainMortarMaximumPostsis the overall safety cap.terrainMortarCoverageRadiusMetersdefines the placement search coverage.terrainMortarDifferentFactionMinimumSeparationMetersandterrainMortarSameFactionMinimumSeparationMetersprevent mortar parks from becoming a very loud roommate situation.terrainMortarDisabledFactionsexcludes factions even if they appear elsewhere in the configuration.
4. Mortar behavior — STWMortarFireConfig.json
These settings shape how managed mortars respond to missions. The defaults make them formidable but not robotic.
| Setting group | What it means |
|---|---|
enabled, interceptionScope | Enable fire control and choose whether it handles STW-managed mortars only, an allowlist of prefab paths, or all static artillery. |
cooldownMinimumSeconds, cooldownMaximumSeconds | Random delay between available missions. |
stressMaximum, stressAddedPerCompletedSalvo, stressDecayPerMinute | How much firing fatigue builds up and how fast it recovers. |
autonomousFireChanceRestedPercent, autonomousFireChanceMaximumStressPercent | How likely AI mortar activity is when rested versus stressed. |
aiAimError... | Minimum/maximum aim variation for rested and stressed AI fire, in metres. Bigger values mean less precise impacts. |
aiFriendlyPlayerSafetyEnabled, aiFriendlyPlayerSafetyRadiusMeters, aiSafetyOffsetAttempts | Helps prevent AI mortar fire from landing near friendly players. |
unknownPlayerFactionPolicy | How the safety system treats players whose faction is unclear: hostile, protected or ignored. |
unexpectedMissionSourcePolicy | Whether unusual mission sources are rejected, passed through, or treated as AI orders. |
additionalArtilleryPrefabPaths | Extra artillery prefabs to include when using the prefab allowlist scope. |
5. Terrain-Mortar replacement — STWHeavyWeaponsRespawnConfig.json
This optional system applies only to Mortars generated by the terrain-mortar network during the current session. It never replaces manually placed, Game Master, scenario-authored, restored, or RPK posts.
| Setting | What it controls | Default |
|---|---|---|
enabled | Master switch for terrain-Mortar replacement. | true |
minimumGunnerRespawnMinutes, maximumGunnerRespawnMinutes | Random delay before rebuilding a surviving Mortar's crew after its gunner dies. | 30–60 minutes |
minimumPostRespawnMinutes, maximumPostRespawnMinutes | Random delay before replacing a destroyed Mortar at another safe cached terrain location. | 45–90 minutes |
playerSafeRadiusMeters | Horizontal radius around any connected player's controlled entity where no rebuild or replacement may occur. | 1,500 m |
candidateAttempts | How many startup-cached terrain locations a destroyed-Mortar replacement tries before postponing. | 12 |
retryDelayMinutes | Delay before retrying when players make the location unsafe or no cached candidate is suitable. | 5 minutes |
Persistence: keeping the battlefield alive
With persistence enabled, STW Heavy Weapons remembers its managed weapon posts when the server restarts. That includes the post's weapon type, faction, position and facing, plus any associated arsenal. Terrain-generated mortar posts are remembered too, so the map does not roll a completely new artillery network every reboot.
The save files live in $profile:STW/Persistence/. Their names include the scenario and map, for example STW_HeavyWeapons_MyScenario_Arland.json. This separation is useful: each scenario/map combination keeps its own battlefield history.
How it works in practice
- The mod saves automatically at the interval set by
persistenceIntervalMinutes. - It also saves when the game session ends cleanly.
- On the next start, saved posts return after the configured initial delay, in small batches. This avoids a large startup hitch on busy servers.
- If a managed post is cleared during play, that cleared state is saved so it does not quietly reappear after the restart.
Useful persistence choices
| If you want... | Do this |
|---|---|
| A persistent campaign | Set persistenceEnabled to true and keep a reasonable save interval, such as 30 minutes. |
| A fresh battlefield after every restart | Set persistenceEnabled to false. Terrain mortars can then be generated anew on the next session. |
| To reset one scenario/map's Heavy Weapons history | Stop the server, back up and then remove that scenario/map's corresponding STW_HeavyWeapons_*.json file from $profile:STW/Persistence/. Start the server again. |
| A smoother restart on a busy server | Keep the restore batch size modest and use a small delay between batches. The defaults are intended to be gentle. |
A sensible first setup
For a cooperative server, keep persistence on, set a modest active-post limit, use map markers while you learn the system, and begin with automatic population disabled. Place a few posts manually, test factions and artillery behavior, then enable automatic population at conservative chances. Once it feels right, experiment with a small terrain mortar quota for each side.
For a more mysterious campaign, hide or offset public markers, retain the friendly-player safety radius, and let the terrain mortar network create objectives worth scouting. That first distant thump is much more interesting when nobody has a flashing map pin explaining it.