BeaconServer is the open-source host supervisor for Beacon multiplayer in Subnautica 2. It starts and watches the hosted game process, tracks saves, exposes admin APIs, answers Source query, and runs RCON.
BeaconServer is not the full product by itself. Players still join with the Beacon client app, and playable hosts should install the server package from the Beacon release page.
Starts Subnautica 2 with the Beacon runtime, monitors the game process, tracks plugin heartbeat, and coordinates restarts.
Creates scheduled and admin-triggered snapshots. Restore swaps the save atomically so a failed restore does not leave a half-written world.
Answers standard Source A2S query on the configured query port so monitoring tools can read server name, map, player count, and player list.
Runs a Source-compatible RCON listener for help, status, players, ping, save snapshot, and save list.
Exposes snapshot, restore, transfer, health, and roster endpoints signed with the server's admin password.
Loads UE4SS Lua and C++ mods through the Beacon runtime layout.
- Windows 10/11 or Windows Server x64
- Subnautica 2 installed on the host machine
- A Beacon release package from HumanGenome/Beacon
- Open/forwarded ports for gameplay, query, RCON, and admin HTTP as needed
Release builds are self-contained; a separate .NET install is not required for normal use.
SurvivalServers.com Subnautica 2 hosting ships Beacon already installed and handles ports, updates, and panel integration.
- Download
Beacon-Server-Windows-x64-v<version>.zipfrom the Beacon latest release. - Extract it somewhere stable, such as
C:\Beacon\. - Edit
BeaconServer\appsettings.json. - Open/forward the ports listed below.
- Run
BeaconServer\BeaconServer.exe.
Players connect with the Beacon client app to <host>:<GameplayPort>.
BeaconServer reads BeaconServer\appsettings.json under the Beacon section.
| Setting | Default | Purpose |
|---|---|---|
InstanceId |
default |
Stable instance name used in logs and generated defaults. |
ServerName |
empty | Public name shown in Beacon and Source query. Empty falls back to the instance id. |
SnInstallRoot |
C:\Beacon\game |
Subnautica 2 install folder containing Subnautica2.exe. |
SnUserDir |
C:\Beacon\userdir |
User directory used by the hosted game process. |
SaveDir |
C:\Beacon\saves |
Snapshot metadata and archived saves. |
GameplayPort |
27015 |
UDP port players join through Beacon. |
QueryPort |
27017 |
UDP Source A2S query port. |
RconPort |
27018 |
TCP Source RCON port. RCON is disabled when RconPassword is empty. |
HttpPort |
27019 |
TCP admin HTTP API port. Set to 0 to disable. |
RconPassword |
empty | Admin password for RCON and HTTP signing. Set this before exposing RCON or HTTP. |
ServerPassword |
empty | Optional join password players enter in Beacon. |
MaxPlayers |
4 |
Slot count reported to Beacon and query clients. |
SnapshotsEnabled |
true |
Enables automatic save snapshots and restore support. |
PluginHeartbeatTimeoutSeconds |
30 |
Seconds before BeaconServer treats the game runtime as unresponsive. |
Keep the ports unique for each server instance. The standard layout is:
| Port | Protocol | Purpose |
|---|---|---|
GameplayPort |
UDP | Subnautica 2 gameplay |
GameplayPort + 2 |
UDP | Source A2S query |
GameplayPort + 3 |
TCP | Source RCON |
GameplayPort + 4 |
TCP | Admin HTTP API |
BeaconServer answers standard Source A2S queries on QueryPort.
py -m pip install python-a2s
@'
import a2s
address = ("127.0.0.1", 27017)
info = a2s.info(address)
players = a2s.players(address)
print(f"{info.server_name} - {info.player_count}/{info.max_players} on {info.map_name}")
for player in players:
print(f"{player.name} {player.duration:.0f}s")
'@ | py -The same port works with tools such as GameDig, LGSM monitors, and Discord status bots that support Source query.
Connect to RconPort with the configured RconPassword.
status
help
players
ping
save snapshot
save list
See docs/ADMIN.md for the HTTP API signing recipe and full admin endpoint list.
git clone https://github.com/HumanGenome/BeaconServer.git
cd BeaconServer
dotnet build BeaconServer.sln -c Release
dotnet test BeaconServer.sln -c Release --no-build
dotnet publish src/server/BeaconServer/BeaconServer.csproj -c Release -r win-x64 --self-contained truePublished output lands under src/server/BeaconServer/bin/Release/net8.0/win-x64/publish/.
Beacon is a community project and is not affiliated with or endorsed by the developers of Subnautica 2.
Issues and pull requests for BeaconServer are welcome. For bug reports, include the BeaconServer version, Subnautica 2 build, and relevant logs from logs\beaconserver-*.ndjson.
MIT. See LICENSE.
- UE4SS β Unreal Engine scripting and modding framework