# How To Configure Your Nuclear Option Server (/docs/nuclear-option/configure-your-server)



import { Step, Steps } from 'fumadocs-ui/components/steps';

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 [#using-the-panel-startup-settings]

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

1. Log in to the [XGamingServer Panel](https://panel.xgamingserver.com)
2. Click **Startup** in the sidebar
3. Adjust fields like **Server Name**, **Max Players**, **Password**
4. Restart from the **Console** page

Editing DedicatedServerConfig.json [#editing-dedicatedserverconfigjson]

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 [#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 [#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 [#mission-rotation]

The `MissionRotation` array controls which missions the server cycles through:

```json
"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 [#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 [#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 [#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 [#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 [#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 [#example-full-configuration]

```json
{
  "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](https://discord.xgamingserver.com) for support.

Related Guides [#related-guides]

* [Game Modes & Missions](/docs/nuclear-option/game-modes)
* [Server Commands](/docs/nuclear-option/server-commands)
* [Troubleshooting](/docs/nuclear-option/troubleshooting)
