# Configure Your Subnautica 2 Server (appsettings.json) (/docs/subnautica-2/configure-your-server)



import { Callout } from "fumadocs-ui/components/callout";

Beacon's server is configured through `appsettings.json`, located in your server's working directory. Edit it from the panel **File Manager**, then restart the server from the panel **Dashboard** for changes to take effect.

<Callout type="info">
  These keys and defaults are pulled directly from the [Beacon repository README](https://github.com/HumanGenome/Beacon) (BeaconServer Windows-x64 release). Latest verified against Beacon v0.3.53 (2026-05-23).
</Callout>

Full key reference [#full-key-reference]

| Key                             | Default             | What it does                                                                        |
| ------------------------------- | ------------------- | ----------------------------------------------------------------------------------- |
| `InstanceId`                    | `default`           | Identifier for this server instance, used when running multiple servers on one host |
| `ServerName`                    | *(empty)*           | Public name shown in the Beacon Launcher and panel                                  |
| `SnInstallRoot`                 | `C:\Beacon\game`    | Path to retail Subnautica 2 install on the host                                     |
| `SnUserDir`                     | `C:\Beacon\userdir` | User data directory for Subnautica 2                                                |
| `SaveDir`                       | `C:\Beacon\saves`   | Where world saves and snapshots are written                                         |
| `GameplayPort`                  | `27015`             | UDP port for Subnautica 2 gameplay (UE5 IpNetDriver)                                |
| `QueryPort`                     | `27017`             | UDP port for Source A2S query                                                       |
| `RconPort`                      | `27018`             | TCP port for Source RCON                                                            |
| `HttpPort`                      | `27019`             | TCP port for Beacon admin HTTP API                                                  |
| `RconPassword`                  | *(empty)*           | RCON + HTTP API auth password; **set this before exposing the server**              |
| `ServerPassword`                | *(empty)*           | Optional join password; leave empty to disable                                      |
| `MaxPlayers`                    | `4`                 | Maximum simultaneous players (Beacon hard cap: 8)                                   |
| `SnapshotsEnabled`              | `true`              | Enable automatic save snapshots                                                     |
| `PluginHeartbeatTimeoutSeconds` | `30`                | Timeout for the Beacon UE4SS plugin heartbeat                                       |

The keys you'll actually edit [#the-keys-youll-actually-edit]

Most servers only need a few of these touched:

```json
{
  "ServerName": "My Subnautica 2 Server",
  "ServerPassword": "",
  "MaxPlayers": 8,
  "RconPassword": "use-a-long-random-string-here",
  "SnapshotsEnabled": true
}
```

ServerName [#servername]

What players see in the Beacon Launcher's saved-server list. Empty by default — set this so your group can identify the server.

MaxPlayers [#maxplayers]

Beacon supports up to 8 players. The default `4` matches Subnautica 2's stock cap; raise to `8` if your group is bigger. Values over 8 are clamped to 8 by Beacon.

See [Player Slots](/docs/subnautica-2/player-slots) for details on what 8-player play actually looks like.

RconPassword — required for admin access [#rconpassword--required-for-admin-access]

Source RCON and Beacon's HTTP admin API both authenticate against this password. **Set it to a long random string before exposing the server**, otherwise anyone who can reach your RCON/HTTP ports can run admin commands.

ServerPassword [#serverpassword]

Optional. Set this if you only want friends with the password to join. Empty = open server.

Paths (SnInstallRoot, SnUserDir, SaveDir) [#paths-sninstallroot-snuserdir-savedir]

We set these correctly for your panel-deployed server. You won't normally edit them — only relevant if you're self-hosting on your own VPS.

Ports (GameplayPort, QueryPort, RconPort, HttpPort) [#ports-gameplayport-queryport-rconport-httpport]

We assign and open these ports during provisioning. The panel shows your assigned `GameplayPort` — share **IP:GameplayPort** with friends. The other three are derived (gameplay+2, +3, +4) but documented separately so they can be overridden if your network setup needs it.

After editing [#after-editing]

1. **Save** the file in the panel File Manager
2. **Restart** the server from the panel Dashboard

Changes only apply on server start. There's no live-reload mechanism for `appsettings.json`.

Related [#related]

* [Dedicated Server Setup →](/docs/subnautica-2/dedicated-server-setup)
* [Player Slots / MaxPlayers →](/docs/subnautica-2/player-slots)
* [Troubleshooting →](/docs/subnautica-2/troubleshooting)
* [Beacon README on GitHub →](https://github.com/HumanGenome/BeaconServer)
