Gunners and Weapon System Officers for Nuclear Option.
Мод для Nuclear Option: стрелок и офицер вооружения (WSO) в одном экипаже.
Based on a fork of ItsBongus/SimpleWSO.
Форк оригинального мода ItsBongus/SimpleWSO.
Select a friendly aircraft in spectate, press H, become a WSO.
The terms Gunner and WSO are used interchangeably in this document.
- One-button enter/exit
- Gunner turret reticle (when a turret is selected) shown on the pilot screen for coordination
- Gunner sees vanilla cockpit MFDs / sensors (TacScreen, TargetCam) while in the gunner seat
- Pilot sees the gunner's live camera view on the cockpit target MFD while a gunner station is occupied
- Hit feedback (impact sound + crosshair marker) for the gunner, including remote gunner clients
- Kill rewards (XP / funds) split 50/50 between pilot and gunner for gunner-station kills; kill bonus sound plays for both
- Kill feed shows both crew names (e.g.
Pilot + Gunner destroyed …) for shared gunner kills - Separate target lists for pilot and gunner; can be pushed bi-directionally (Gunner ↔ Pilot)
- While turrets (Chicane gun, Ibis turrets) are selected by the gunner, the pilot cannot take control — stops the pilot from ripping control while cycling weapons
- When neither pilot nor gunner is controlling a turret, AI takes over like vanilla
- Works with AI or player-controlled aircraft
- Works with all modded aircraft (KAR, BOTE, etc.)
- Auto-creates camera entry positions for modded aircraft so you can place external cameras. Configurable in F1 or the config file (see below)
- Pilot mod presence check: joining a player-piloted aircraft as gunner requires the pilot to have this mod loaded and advertising presence (AI pilots do not need it)
- Install BepInEx
- Download the latest release from GitHub Releases and place the
MulticrewNuclearOptionfolder (containingMulticrewNuclearOption.dll) in your Nuclear Option BepInEx plugins folder:steamapps\common\Nuclear Option\BepInEx\plugins - Start the game through Nuclear Option Mod Manager (recommended) or Steam
- Start or join a multiplayer or singleplayer lobby
- Join a faction
- Click on a player or AI friendly aircraft
- Press H (default) to enter gunner view
- Press U (default) to share targets Pilot → Gunner or Gunner → Pilot
- Press K to cycle between gunner camera positions
- Press H again to leave the gunner seat and return to spectate
- Both the gunner and the pilot (unless the pilot is AI) need this mod loaded
- WSO does not have flight control
- WSO does not have countermeasures
- More than one gunner in the same aircraft is untested
- The Medusa rattles in the gunner seat for unknown reasons
Camera positions (cycle with K) are set up for most vanilla two+ seater aircraft — often where the targeting pod sits (Cricket, Compass, Chicane). For the Ibis and Tarantula, extra views are on the gun positions (door guns / side gun).
You can change camera offsets, keybinds, and whether shared target lists replace or append, via BepInEx Configuration Manager (GitHub / NOMM) — press F1 in game — or edit:
\Nuclear Option\BepInEx\config\com.bongus.multicrewnuclearoption.cfg
Camera offsets are under F1 → Multicrew Nuclear Option → CameraOffsets. Each aircraft is its own collapsible group (e.g. UH-90 Ibis) with Position 1–4. New airframes get the same treatment after you gunner them once (reopen F1 if the group is not visible yet). Values are aircraft-local meters (X right, Y up, Z forward). Empty positions are ignored in-game.
| Key | Config entry | Action |
|---|---|---|
| H | ToggleGunnerKey |
Possess gunner seat on followed aircraft / leave |
| U | ShareTargetsKey |
Share targets with the other seat |
| K | CycleCameraPositionKey |
Cycle configured gunner camera positions |
Overview video:
License: CC0 — do what you want with it.
Download builds from GitHub Releases.
| Version | File | Highlights |
|---|---|---|
| 1.0.4 (latest) | MulticrewNuclearOption-v1.0.4.zip |
Protocol V2: server auth, lease sessions, network hardening |
| 1.0.3 | MulticrewNuclearOption-v1.0.3.zip |
Gunner MFDs, pilot gunner feed, hit feedback, 50/50 kill rewards |
| 1.0.2 | MulticrewNuclearOption-v1.0.2.zip |
Renamed from SimpleWSO; improved local build setup |
| 1.0.1 | SimpleWSO-v1.0.1.zip |
Original SimpleWSO release |
Extract the zip into Nuclear Option\BepInEx\plugins\. Each archive already contains the correct plugin folder (MulticrewNuclearOption\ or SimpleWSO\).
Network protocol V2 (breaking change)
- Server-side authorization — the listen-host validates every gunner message against the authenticated sender; spoofed join/fire/presence/target messages are rejected
- Station lease sessions — join grants a server-issued token/generation; fire, aim, and view require an active lease; one gunner per station
- Targeted delivery — no more blind
SendToAllrelay; owner and gunner receive only their authorized updates - Lifecycle fixes — heartbeat + TTL for gunner sessions and pilot presence; fire watchdog clears stuck firing after disconnect; proper handler unregister on reset/reconnect
- Channel tuning — aim, view, and heartbeat use Unreliable; join/leave/target handoff stay Reliable
- Input validation — finite floats, FOV/camera bounds, target list limits, sequence ordering
Install: extract MulticrewNuclearOption-v1.0.4.zip into BepInEx\plugins\. All players in a session must use 1.0.4 — not compatible with 1.0.3 or earlier.
Crew displays, combat feedback, and shared rewards
- Gunner MFDs / sensors —
TacScreenandTargetCamnow initialize in the gunner seat (fixes black cockpit displays for remote gunners) - Pilot gunner feed — while a remote gunner station is occupied, the pilot's target MFD shows a live reconstruction of the gunner's camera view (pose streamed over the network; no video upload)
- Hit feedback — gunners get vanilla impact sound and crosshair hit markers; remote gunner clients receive hit feedback via a dedicated network message
- Shared kill rewards — XP and funds from gunner-station kills are split 50/50 between pilot and gunner; both hear the kill bonus sound
- Kill feed — shared gunner kills show both names, e.g.
Pilot + Gunner destroyed … - Networking —
GunnerJoinMsgnow carries the gunner'sPlayerNetIdfor reward attribution and kill-feed labels
Install: extract MulticrewNuclearOption-v1.0.3.zip into BepInEx\plugins\. Both pilot and gunner need this build in multiplayer (AI pilot exempt).
- Renamed the mod from SimpleWSO to Multicrew Nuclear Option (
MulticrewNuclearOption.dll, BepInEx GUID / configcom.bongus.multicrewnuclearoption) - Local builds: solution + auto-detected Nuclear Option
Managed/ BepInEx paths so IDE/dotnet buildworks without manual-pflags; build outputs ignored via.gitignore
Migrating from SimpleWSO: remove the old
SimpleWSOplugin folder and installMulticrewNuclearOption. Old config lived atcom.bongus.simplewso.cfg— re-apply keybinds/camera offsets in the new config or via F1 if needed.
- Fixed unreliable pilot presence advertising: prefer
GameManager.GetLocalAircraftand periodically rebroadcast so late joiners can seat as gunner - Require the pilot to advertise mod presence before a gunner can join a player-piloted aircraft (AI aircraft unchanged)
- Fixed gunner aircraft not despawning after a landed eject (stale
StatusDisplayonDisableUnitcallback abortedReturnToInventory) - Gunner camera cycle (K), HUD refresh, safer aircraft disable handling, and Configuration Manager (F1) camera offset editing
- Release cleanup: remove dead helpers and reduce routine log noise
This was a fun project. The Nuclear Option developers have said they will not invest time into WSO/gunnery like this mod or Meteez's more feature-rich NOMulticrew. After playing with friends, that seems like the right call for Shockfront.
Second seating makes sense where each crew role has real workload (Jump Ship, Star Citizen, WWII bombers). In Nuclear Option the pilot already juggles evasion, flying, and weapons — that pressure is a big part of the fun. Handing targeting to a WSO can unbalance fighters.
Rotary-wing airframes benefit most (Ibis guns, Tarantula side gun, Chicane turret): turret work and piloting split naturally so both players stay engaged.
Выберите дружественный самолёт в режиме наблюдения и нажмите H, чтобы занять место WSO.
В этом документе термины Gunner (стрелок) и WSO (офицер вооружения) используются как синонимы.
- Вход и выход одной кнопкой
- Прицел турели стрелка (при выбранной турели) отображается на экране пилота для координации
- У стрелка работают ванильные MFD/сенсоры кабины (TacScreen, TargetCam)
- Пилот видит на целевом MFD живой ракурс стрелка, пока занята станция стрелка
- Обратная связь по попаданиям (звук + маркер прицела) у стрелка, в том числе в сетевой игре
- Награды за уничтожение (опыт / деньги) делятся 50/50 между пилотом и стрелком за киллы со станции стрелка; звук бонуса слышат оба
- В ленте убийств отображаются оба члена экипажа (например,
Пилот + Стрелок уничтожил …) - Отдельные списки целей у пилота и стрелка; передача в обе стороны (стрелок ↔ пилот)
- Пока стрелок управляет турелями (пушка Chicane, турели Ibis), пилот не может перехватить управление — это защищает от случайного срыва контроля при переключении оружия
- Если ни пилот, ни стрелок не управляют турелью, ИИ берёт управление на себя, как в оригинальной игре
- Работает с самолётами под управлением ИИ и игроков
- Совместим со всеми модовыми самолётами (KAR, BOTE и др.)
- Автоматически создаёт позиции камеры для модовых самолётов, чтобы можно было настроить внешние ракурсы. Настраивается через F1 или конфиг (см. ниже)
- Проверка наличия мода у пилота: занять место стрелка на самолёте игрока можно только если у пилота установлен этот мод (для самолётов с ИИ-пилотом проверка не требуется)
- Установите BepInEx
- Скачайте последний релиз на GitHub Releases и поместите папку
MulticrewNuclearOption(с файломMulticrewNuclearOption.dll) в каталог плагинов:steamapps\common\Nuclear Option\BepInEx\plugins - Запустите игру через Nuclear Option Mod Manager (рекомендуется) или Steam
- Создайте или зайдите в одиночное или сетевое лобби
- Выберите фракцию
- Кликните по дружественному самолёту игрока или ИИ
- Нажмите H (по умолчанию), чтобы занять место стрелка
- Нажмите U (по умолчанию), чтобы передать цели: пилот → стрелок или стрелок → пилот
- Нажмите K, чтобы переключать позиции камеры стрелка
- Снова нажмите H, чтобы выйти и вернуться в режим наблюдения
- Мод должен быть установлен и у стрелка, и у пилота (если пилот не ИИ)
- WSO не управляет полётом
- У WSO нет средств противодействия (тепловые ловушки и т. п.)
- Несколько стрелков в одном самолёте не тестировалось
- На Medusa в кресле стрелка самолёт заметно трясётся — причина неизвестна
Позиции камеры (переключение клавишей K) настроены для большинства ванильных двух- и многоместных самолётов — обычно там, где расположен целевой подвес (Cricket, Compass, Chicane). Для Ibis и Tarantula дополнительные ракурсы привязаны к оружейным позициям (дверные пулемёты / боковая пушка).
Смещения камеры, привязки клавиш и режим передачи целей (замена или добавление) настраиваются через BepInEx Configuration Manager (GitHub / NOMM) — F1 в игре — или в файле:
\Nuclear Option\BepInEx\config\com.bongus.multicrewnuclearoption.cfg
Смещения камеры: F1 → Multicrew Nuclear Option → CameraOffsets. Для каждого самолёта — отдельная группа (например, UH-90 Ibis) с позициями Position 1–4. Новые модели появляются в списке после первого входа в качестве стрелка (если группы нет — закройте и снова откройте F1). Координаты задаются в метрах в системе координат самолёта (X — вправо, Y — вверх, Z — вперёд). Пустые позиции в игре игнорируются.
| Клавиша | Параметр конфига | Действие |
|---|---|---|
| H | ToggleGunnerKey |
Занять место стрелка на выбранном самолёте / выйти |
| U | ShareTargetsKey |
Передать цели другому члену экипажа |
| K | CycleCameraPositionKey |
Переключить настроенные позиции камеры стрелка |
Обзорный ролик:
Лицензия: CC0 — используйте как угодно.
Скачать сборки можно на GitHub Releases.
| Версия | Файл | Кратко |
|---|---|---|
| 1.0.4 (актуальная) | MulticrewNuclearOption-v1.0.4.zip |
Протокол V2: серверная авторизация, lease-сессии, усиление сети |
| 1.0.3 | MulticrewNuclearOption-v1.0.3.zip |
MFD стрелка, экран у пилота, hit feedback, награды 50/50 |
| 1.0.2 | MulticrewNuclearOption-v1.0.2.zip |
Переименование с SimpleWSO; удобная локальная сборка |
| 1.0.1 | SimpleWSO-v1.0.1.zip |
Оригинальный релиз SimpleWSO |
Распакуйте архив в Nuclear Option\BepInEx\plugins\. Внутри уже лежит нужная папка плагина (MulticrewNuclearOption\ или SimpleWSO\).
Сетевой протокол V2 (несовместимое обновление)
- Серверная авторизация — listen-host проверяет каждое сообщение стрелка по аутентифицированному отправителю; подделки join/fire/presence/target отклоняются
- Lease-сессии станций — join выдаёт token/generation; aim, fire и view работают только при активном lease; один стрелок на станцию
- Точечная доставка — вместо слепого
SendToAllowner и gunner получают только свои авторизованные обновления - Исправления lifecycle — heartbeat и TTL для сессий стрелка и presence пилота; watchdog сбрасывает зависший огонь после disconnect; корректная отписка handlers при reset/reconnect
- Каналы — aim, view и heartbeat идут по Unreliable; join/leave и передача целей — по Reliable
- Валидация входных данных — проверка float, FOV/камеры, лимитов целей, порядка sequence
Установка: распакуйте MulticrewNuclearOption-v1.0.4.zip в BepInEx\plugins\. Все игроки в сессии должны использовать 1.0.4 — несовместимо с 1.0.3 и более ранними версиями.
Экраны экипажа, обратная связь по бою и общие награды
- MFD/сенсоры у стрелка —
TacScreenиTargetCamинициализируются в кресле стрелка (исправлены чёрные мониторы у удалённого стрелка) - Экран стрелка у пилота — пока занята удалённая станция стрелка, на целевом MFD пилота показывается живой ракурс стрелка (поза камеры по сети, без передачи видеопотока)
- Обратная связь по попаданиям — у стрелка ванильный звук попадания и маркер на прицеле; удалённые клиенты стрелка получают feedback отдельным сетевым сообщением
- Общие награды за килл — опыт и деньги за уничтожение со станции стрелка делятся 50/50 между пилотом и стрелком; звук бонуса слышат оба
- Лента убийств — при совместном килле отображаются оба имени, например
Пилот + Стрелок уничтожил … - Сеть —
GunnerJoinMsgпередаётPlayerNetIdстрелка для атрибуции наград и подписи в kill feed
Установка: распакуйте MulticrewNuclearOption-v1.0.3.zip в BepInEx\plugins\. В мультиплеере мод нужен и пилоту, и стрелку (самолёт с ИИ-пилотом — исключение).
- Мод переименован с SimpleWSO в Multicrew Nuclear Option (
MulticrewNuclearOption.dll, GUID и конфиг BepInEx:com.bongus.multicrewnuclearoption) - Упрощена локальная сборка: solution и автоопределение путей
Managed/ BepInEx для Nuclear Option — проект собирается в IDE и черезdotnet buildбез ручных флагов-p; артефакты сборки добавлены в.gitignore
Переход с SimpleWSO: удалите старую папку плагина
SimpleWSOи установитеMulticrewNuclearOption. Старый конфиг находился вcom.bongus.simplewso.cfg— при необходимости заново настройте клавиши и камеры в новом конфиге или через F1.
- Исправлена ненадёжная передача сигнала о наличии мода у пилота: приоритет
GameManager.GetLocalAircraftи периодическая повторная отправка, чтобы игроки, подключившиеся позже, могли занять место стрелка - Перед посадкой стрелка на самолёт игрока пилот должен сообщать о наличии мода (для самолётов с ИИ без изменений)
- Исправлено: самолёт не исчезал после катапультирования на земле (устаревший обработчик
StatusDisplayна событииonDisableUnitпрерывалReturnToInventory) - Переключение камеры стрелка (K), обновление HUD, более безопасная обработка отключения юнита и редактирование смещений камеры в Configuration Manager (F1)
- Подготовка к релизу: удалён неиспользуемый код, сокращён объём служебных логов
Это был интересный проект. Разработчики Nuclear Option заявляли, что не планируют развивать WSO и стрелковые места — ни в духе этого мода, ни в более функциональном NOMulticrew от Meteez. После игры с друзьями кажется, что для Shockfront это разумное решение.
Второе место в экипаже оправдано там, где у каждой роли есть реальная нагрузка (Jump Ship, Star Citizen, бомбардировщики времён Второй мировой). В Nuclear Option пилот и так одновременно уклоняется, ведёт самолёт и работает с оружием — это важная часть игрового процесса. Передать прицеливание WSO может нарушить баланс в истребителях.
Больше всего от мода выигрывают вертолёты (пулемёты Ibis, боковая пушка Tarantula, турель Chicane): управление турелью и пилотирование естественно распределяют нагрузку, и оба игрока остаются вовлечёнными.
