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:
- Log in to the XGamingServer Panel
- Click Startup in the sidebar
- Adjust fields like Server Name, Max Players, Password
- Restart from the Console page
Editing DedicatedServerConfig.json
For full control, edit the config file directly. Stop your server first.
- In the panel, click Files
- Open
DedicatedServerConfig.json - Edit the settings below
- 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
| Setting | Type | Default | Description |
|---|---|---|---|
ServerName | string | "Nuclear Option Server" | Display name in the server browser |
Password | string | "" | Join password (empty = public) |
Hidden | boolean | false | Hide from the public server browser |
MaxPlayers | integer | 16 | Maximum player count |
ModdedServer | boolean | false | Flag 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
| Setting | Type | Default | Description |
|---|---|---|---|
Port | object | {"IsOverride": false, "Value": 0} | Game port (UDP) — set IsOverride: true to use a custom value |
QueryPort | object | {"IsOverride": false, "Value": 0} | Query port (UDP) — same override format |
Default ports when not overridden:
| Port | Protocol | Default | Purpose |
|---|---|---|---|
| Game | UDP | 7777 | Player connections and game traffic |
| Query | UDP | 7778 | Steam server browser listing |
| Command | TCP | 7779 | Remote 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 missionsName— mission name (must match exactly)MaxTime— maximum mission duration in seconds (7200 = 2 hours)
Available Built-In Missions
| Name | Type | Description |
|---|---|---|
Escalation | Large Scale War | War of attrition — unlock progressively stronger aircraft, navy, and nuclear weapons |
Terminal Control | Island Capture | Island-hopping campaign — capture and hold airbases |
Confrontation | Combined Arms | Smaller aircraft only — one main airbase per side plus forward bases |
Domination | Air Superiority | All high-end aircraft from the start — destroy enemy aircraft factories |
Altercation | Small Scale | Low-intensity — no medium/long-range air-to-air missiles |
Breakout | Naval Defense (Co-op) | PvE — defend airbase from naval assault |
Rotation Types
RotationType Value | Behavior |
|---|---|
0 | Sequential — plays missions in order |
1 | Pure Random — allows repeats |
2 | Random Queue — no repeats until all missions have been played |
Timing Settings
| Setting | Type | Default | Description |
|---|---|---|---|
NoPlayerStopTime | float | 30.0 | Seconds to wait before unloading the mission when the server is empty |
PostMissionDelay | float | 30.0 | Seconds between mission end and loading the next mission |
Ban Management
| Setting | Type | Default | Description |
|---|---|---|---|
BanListPaths | array | ["ban_list.txt"] | Paths to ban list files (one SteamID per line) |
DisableErrorKick | boolean | false | Prevent auto-kicking players who cause errors |
ErrorKickImmuneListPaths | array | [] | SteamID files for error-kick immunity |
Custom Missions
| Setting | Type | Description |
|---|---|---|
MissionDirectory | string | Path 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.
Related Guides
How is this guide?

How to Change Your Nuclear Option Server Name
Learn how to change the server name displayed in the server browser for your Nuclear Option dedicated server.
How to Connect to Your Nuclear Option Server
Learn how to find your server IP and join your Nuclear Option dedicated server using the server browser or direct IP connect.