Files
Commonwealth-Online-Server/DEPLOYMENT.md
T

1.8 KiB

Deployment

Dedicated Linux server

Publish a self-contained server:

cd server
dotnet publish CommonwealthOnline.Server.csproj \
  -c Release \
  -r linux-x64 \
  --self-contained true \
  -p:PublishSingleFile=true \
  -o publish/linux-x64

Copy the published files, commonwealth-server.json, and the native GNS bridge when GNS is enabled to the target host.

Start:

./CommonwealthOnline.Server serve --config commonwealth-server.json

A systemd example is provided at server/commonwealth-online.service.example.

Windows dedicated server

dotnet publish server\CommonwealthOnline.Server.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o server\publish\win-x64

Run:

CommonwealthOnline.Server.exe serve --config commonwealth-server.json

Qt Host package

Run:

build.bat
deploy.bat

CMake publishes the C# server self-contained and stages it under:

build\bin\Release\server\

The staging and deployment checks reject prohibited legacy runtime artifacts before packaging succeeds.

Package the entire build\bin\Release directory so the Qt runtime, plugins and bundled server remain together.

Runtime state

Preserve these files across upgrades:

  • commonwealth-server.json
  • bans.json
  • .admin-token

The CMake staging step preserves those files when replacing the server binaries.

Network

Default ports:

  • TCP 7777: gameplay compatibility
  • UDP 7777: GameNetworkingSockets when enabled
  • UDP 7778: LAN discovery
  • TCP 127.0.0.1:7779: authenticated admin control

Do not expose the admin port to the network.

GNS bridge

The native bridge is platform-specific. Set gns_bridge_path when it is not installed beside the server. GNS startup is fail-loud when enabled and the bridge cannot be loaded.