STWSnipers & Spotters
Adds properly equipped sniper/spotter teams to the battlefield: either placed and tailored by a Game Master, or generated automatically in distant overwatch positions where they belong.
STWSnipers & Spotters is an STW mod for Arma Reforger, the military sandbox by Bohemia Interactive. This guide is for players, Game Masters and server administrators.
What arrives on the battlefield
Sniper teams
Each team is a sniper and a spotter with purpose-built weapons, camouflage, ammunition, grenades and optional night vision.
Automatic overwatch
The server can place AI pairs at suitable elevated terrain positions, away from players, and keeps their operating area compact.
Enemy intelligence
Opposing players can receive a deliberately approximate report and map marker—useful warning, not a magic GPS pin.
Game Master control
Turn any editable soldier into a sniper or spotter and select the kit for that individual assignment.
Field support
Automatic teams are resupplied on a schedule and may receive a little medical recovery between engagements.
Server-owned settings
Three small JSON files control equipment, automatic pairs and support without editing the mod itself.
For players: surviving the long view
Most players meet this mod from the receiving end. When automatic pairs are enabled, the server creates one sniper/spotter team for eligible factions at a suitable cached overwatch site. They are kept away from player-controlled characters, stay within a small operating area, and are fitted through the same loadout system used by Game Master assignments.
When intelligence arrives
At intervals chosen by the server, players on the opposing factions receive a message such as an approximate enemy sniper/spotter report. The map also gets a temporary marker. Its position is intentionally offset from the team: treat it as a search area, not a fire mission coordinate. The team’s own faction does not receive that report.
- Read the report and open the map; note the approximate area and likely lines of sight.
- Approach using folds in the ground, trees, buildings and smoke. Do not stroll across the obvious ridge to investigate a sniper.
- Use binoculars, a spotter, suppressive fire or a flank to find the pair. They operate near their overwatch position rather than roaming across the entire map.
- Confirm both members are down. The system can replace a missing sniper or spotter later; if the entire pair is destroyed, its replacement appears in a different suitable area after the configured delay.
What players can and cannot control
| Situation | What to expect |
|---|---|
| Automatic pair exists | It is server-owned AI. Players fight it normally; its kit, location and replacement timing are server decisions. |
| You receive a report | The marker is visible to opposing factions and expires after the server-set lifetime. It can also be removed by its owner when the game allows it. |
| A Game Master assigns a player-controlled soldier | The assignment changes that soldier’s loadout. Scheduled support does not resupply player-managed units by default. |
| No reports or pairs appear | The server may have disabled automatic generation or intelligence reports, excluded a faction, or found no safe terrain candidates. |
For Game Masters: make a pair by hand
In Game Master, select or hover an editable soldier and open the general context actions. Choose STW Assign Sniper or STW Assign Spotter. The assignment dialog lets you choose camouflage, the role’s weapon, muzzle, optic and night-vision option, then press ASSIGN. The unit receives the selected role kit, including ammunition and grenades set by the server.
- Place or select two suitable soldiers of the faction you want to use.
- Assign one as STW Sniper and one as STW Spotter.
- Use matching camouflage for a tidy team, or choose
RANDOMfor individual variety. Random camouflage excludes Winter from its random pool. - Place them with a believable observation lane and give them orders appropriate to the scenario. The manual assignment equips them; it does not magically invent a mission plan.
To change the clothing and weapon-wrap season on every managed STW sniper and spotter, use STW Set All Snipers/Spotters Camouflage from the general context actions. This is a seasonal refresh, so it updates the camouflage without rebuilding every complete loadout.
| Role | Typical job | Useful Game Master choice |
|---|---|---|
| Sniper | Long-range observation and precision fire. | Select a rifle/optic combination suited to the intended engagement distance. |
| Spotter | Security, close protection and target observation. | The standard spotter weapon is the compact MP7A2; avoid treating the spotter as a second long-range rifle. |
In-game automatic-generation control
Game Masters can change automatic generation without restarting the running game. Open Scenario Properties, select the STW Snipers tab, and use Automatic Sniper/Spotter Pair Generator. Disabling it immediately removes only system-created pairs; manually assigned snipers and spotters remain. Enabling it starts a fresh automatic-generation pass using the server’s configuration. This is a session-only choice: the next game returns to the JSON configuration’s automaticPairGeneratorEnabled value.
Server setup
Load the mod on the server and start a session once. It creates the configuration folders and default JSON files in the server profile directory:
$profile:STW/Snipers/
On Windows, $profile is the location selected by the server’s -profile startup parameter. Stop the server before editing, keep a backup, then restart it. Each file is validated and rewritten with safe values; invalid values are clamped to their supported range.
| File | Purpose |
|---|---|
$profile:STW/Snipers/STWSnipersConfig.json | Default loadout choices and supply counts for manual and automatic assignments. |
$profile:STW/Snipers/AutoPairs/STWSniperPairAutoConfig.json | Automatic-pair generation, factions, safe spawn spacing, replacements and intelligence reports. |
$profile:STW/Snipers/Support/STWSnipersSupportConfig.json | Scheduled resupply and optional healing for managed teams. |
1. Loadouts — STWSnipersConfig.json
These are scenario-wide defaults. A Game Master can override the choice for an individual assignment in the dialog; automatic pairs use these defaults. RANDOM picks from the valid choices for that setting.
| Setting | Default | Explanation |
|---|---|---|
version | 2 | Configuration format version. Leave it at the mod-generated value. |
enableChatMessages | true | Enables opposing-faction sniper/spotter intelligence reports in radio chat. This system has no on-screen notification message. |
camouflage | "RANDOM" | Seasonal clothing and compatible weapon wrap. Valid: RANDOM, Winter, Summer, Desert, Forest, Spring, Autumn. |
sniperRifle | "RANDOM" | Sniper primary weapon. Choices: M700_FDE, M700, M107A1, OSV-96, OSV-96_RF, RSASS11, SA58, FAB_SKS, or RANDOM. |
spotterWeapon | "RANDOM" | Spotter primary weapon. The current catalog provides MP7A2; RANDOM therefore resolves to it. |
sniperMuzzle | "Suppressor" | Sniper muzzle choice: Suppressor or None. |
spotterMuzzle | "Suppressor" | Spotter muzzle choice: Suppressor or None. |
sniperOptic | "RANDOM" | Sniper optic. Choices: Vortex, NF_Scope, Optic_RF, EoTech_Vudu, or RANDOM. |
spotterOptic | "RANDOM" | Spotter optic: Romeo5, None, or RANDOM. |
nightVision | "RANDOM" | Night-vision choice. Use None to guarantee no NVG, or a valid installed catalog name; available NVGs depend on the loaded content. |
magazineMinimum | 5 | Minimum spare magazine count. Allowed range: 1–12. |
magazineMaximum | 7 | Maximum spare magazine count. Allowed range: 1–12 and never below magazineMinimum. |
fragmentationGrenades | 3 | Fragmentation grenades issued per managed unit. Allowed range: 0–8. |
smokeGrenades | 3 | Smoke grenades issued per managed unit. Allowed range: 0–8. |
2. Automatic pairs — STWSniperPairAutoConfig.json
The automatic system starts server-side with the game session. It scans terrain progressively, caches viable elevated candidates, creates the initial pairs only once, and uses scheduled callbacks for replacement and intelligence rather than a constant heavy scan. Turning the generator off during a session removes its system-owned pairs; manual assignments are separate.
| Setting | Default | Explanation |
|---|---|---|
version | 1 | Configuration format version; leave it mod-managed. |
automaticPairGeneratorEnabled | true | Master switch for automatic AI sniper/spotter pairs. |
cacheTileSizeMeters | 500.0 | Terrain-cache tile size; 250–1,000 m. |
cacheTilesPerBatch | 1 | Tiles processed per cache batch; 1–2. Keep low for gentler startup work. |
cacheBatchIntervalSeconds | 0.5 | Delay between cache batches; 0.25–5 seconds. |
minimumCandidateElevationMeters | 8.0 | Minimum elevation for an overwatch candidate; -20 to 500 m. |
maximumCachedCandidates | 160 | Maximum terrain sites retained for pair placement; 20–500. |
initialPairSearchRadiusMeters | 350.0 | Reserved initial local-search radius; the current terrain-cache implementation retains and validates this setting (50–1,000 m). |
maximumActivePairsPerFaction | 1 | Reserved per-faction active-pair ceiling. The current initial pass creates at most one pair for a faction; valid range is 1–4. |
maximumInitialPairsTotal | 2 | Overall number of pairs created in the initial pass; 1–8. |
destroyedPairRespawnMinimumMinutes | 30.0 | Shortest replacement delay after a casualty; 1–240 minutes. |
destroyedPairRespawnMaximumMinutes | 60.0 | Longest randomized replacement delay; up to 240 minutes and never below the minimum. |
pairSpawnExclusionRadiusMeters | 1200.0 | No automatic pair is created near a player-controlled entity within this radius; 250–5,000 m. |
pairOperatingAreaRadiusMeters | 45.0 | How far the pair is allowed to work from its assigned overwatch position; 10–150 m. |
enabledFactionKeys | [] | Explicit faction allowlist. Empty means all loaded factions except excluded ones. |
excludedFactionKeys | ["CIV"] | Faction keys never eligible for automatic pairs; comparison is case-insensitive. |
Intelligence-report settings
| Setting | Default | Explanation |
|---|---|---|
intelligenceReportsEnabled | true | Enables reports and temporary map markers to opposing factions. |
intelligenceReportMinimumHours | 2.0 | Shortest randomized interval between reports; 0.01–24 hours. |
intelligenceReportMaximumHours | 4.0 | Longest report interval; up to 24 hours and never below the minimum. |
intelligenceReportUncertaintyRadiusMeters | 250.0 | Maximum random offset from the real pair location. Higher values give a broader, less precise clue; 25–2,000 m. |
intelligenceMarkerLifetimeMinutes | 150.0 | How long an intelligence marker remains on the map; 1–1,440 minutes. |
3. Support — STWSnipersSupportConfig.json
Support is server-side and scheduled one due event at a time. At each interval, living automatic-pair members are resupplied; each may also receive a chance-based health recovery. Manually assigned player-controlled units are excluded unless you deliberately opt them in.
| Setting | Default | Explanation |
|---|---|---|
version | 1 | Configuration format version; leave it mod-managed. |
resupplyIntervalDays | 1 | Days between due resupply events. Allowed range: 1–24. This is deliberately measured in real session days, not in-game minutes. |
healingProbabilityPercent | 20 | Chance for each eligible, injured unit to be healed when support is due; 0–100. |
healingAmountPercent | 25 | Health restored on a successful healing roll; 1–100% of full health. |
allowPlayerManagedUnitResupply | false | When true, player-controlled soldiers manually assigned as managed snipers/spotters may receive scheduled resupply and healing too. |
A sensible first configuration
For a first live server, leave the automatic system enabled, keep the default two initial pairs, exclude civilians, and leave the 1,200 m player exclusion radius alone. Keep intelligence reports enabled with their default 250 m uncertainty: players get a tense lead without the answer being printed on the map. Use manual Game Master assignments for story missions or defended objectives, and increase pair counts only after watching real performance and player flow.
If the server is cooperative and you want enemy sniper teams to feel like rare roaming hazards, lengthen the report interval and replacement delay. If it is a Game Master-led operation, disable automatic generation and build your teams by hand; it gives you exact control over where the problem is hiding.