How To Configure Your Nuclear Option Server

Complete guide to configuring your Nuclear Option dedicated server — DedicatedServerConfig.json reference with all settings.

Nuclear Option server configuration is managed through DedicatedServerConfig.json in the server root directory. This file is auto-generated on first launch.

Using the Panel Startup Settings

For common settings, use the panel's Startup page:

  1. Log in to the XGamingServer Panel
  2. Click Startup in the sidebar
  3. Adjust fields like Server Name, Max Players, Password
  4. Restart from the Console page

Editing DedicatedServerConfig.json

For full control, edit the config file directly. Stop your server first.

  1. In the panel, click Files
  2. Open DedicatedServerConfig.json
  3. Edit the settings below
  4. Save and start your server

⚠️ Important: This is a JSON file — syntax matters. A missing comma or bracket will prevent the server from starting. Double-check your formatting before saving.


Server Identity

SettingTypeDefaultDescription
ServerNamestring"Nuclear Option Server"Display name in the server browser
Passwordstring""Join password (empty = public)
HiddenbooleanfalseHide from the public server browser
MaxPlayersinteger16Maximum player count
ModdedServerbooleanfalseFlag the server as modded

📝 Note: Player counts above 16 trigger an in-game performance warning. The game can handle more, but performance may degrade in large battles.

Network

SettingTypeDefaultDescription
Portobject{"IsOverride": false, "Value": 0}Game port (UDP) — set IsOverride: true to use a custom value
QueryPortobject{"IsOverride": false, "Value": 0}Query port (UDP) — same override format

Default ports when not overridden:

PortProtocolDefaultPurpose
GameUDP7777Player connections and game traffic
QueryUDP7778Steam server browser listing
CommandTCP7779Remote command system (optional)

📝 Note: On XGamingServer, ports are assigned by the panel — you generally don't need to override these.

Mission Rotation

The MissionRotation array controls which missions the server cycles through:

"MissionRotation": [
  {
    "Key": { "Group": "BuiltIn", "Name": "Escalation" },
    "MaxTime": 7200.0
  },
  {
    "Key": { "Group": "BuiltIn", "Name": "Terminal Control" },
    "MaxTime": 7200.0
  }
]
  • Group"BuiltIn" for official missions, "User" for custom/workshop missions
  • Name — mission name (must match exactly)
  • MaxTime — maximum mission duration in seconds (7200 = 2 hours)

Available Built-In Missions

NameTypeDescription
EscalationLarge Scale WarWar of attrition — unlock progressively stronger aircraft, navy, and nuclear weapons
Terminal ControlIsland CaptureIsland-hopping campaign — capture and hold airbases
ConfrontationCombined ArmsSmaller aircraft only — one main airbase per side plus forward bases
DominationAir SuperiorityAll high-end aircraft from the start — destroy enemy aircraft factories
AltercationSmall ScaleLow-intensity — no medium/long-range air-to-air missiles
BreakoutNaval Defense (Co-op)PvE — defend airbase from naval assault

Rotation Types

RotationType ValueBehavior
0Sequential — plays missions in order
1Pure Random — allows repeats
2Random Queue — no repeats until all missions have been played

Timing Settings

SettingTypeDefaultDescription
NoPlayerStopTimefloat30.0Seconds to wait before unloading the mission when the server is empty
PostMissionDelayfloat30.0Seconds between mission end and loading the next mission

Ban Management

SettingTypeDefaultDescription
BanListPathsarray["ban_list.txt"]Paths to ban list files (one SteamID per line)
DisableErrorKickbooleanfalsePrevent auto-kicking players who cause errors
ErrorKickImmuneListPathsarray[]SteamID files for error-kick immunity

Custom Missions

SettingTypeDescription
MissionDirectorystringPath to folder containing custom mission files

For custom/Workshop missions, set the Group to "User" in the rotation and point MissionDirectory to the folder containing the mission files.


Example Full Configuration

{
  "ServerName": "XGaming Air Combat",
  "MaxPlayers": 16,
  "Password": "",
  "Hidden": false,
  "ModdedServer": false,
  "Port": { "IsOverride": false, "Value": 0 },
  "QueryPort": { "IsOverride": false, "Value": 0 },
  "NoPlayerStopTime": 30.0,
  "PostMissionDelay": 30.0,
  "RotationType": 0,
  "BanListPaths": ["ban_list.txt"],
  "DisableErrorKick": false,
  "MissionRotation": [
    {
      "Key": { "Group": "BuiltIn", "Name": "Escalation" },
      "MaxTime": 7200.0
    },
    {
      "Key": { "Group": "BuiltIn", "Name": "Terminal Control" },
      "MaxTime": 7200.0
    },
    {
      "Key": { "Group": "BuiltIn", "Name": "Confrontation" },
      "MaxTime": 3600.0
    }
  ]
}

💡 Tip: Need help? Join our Discord for support.

How is this guide?

40% Off — Limited TimeGet your Nuclear Option server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page