# Setup ## Dedicated server development Install the .NET 8 SDK. ```bash cd server dotnet build CommonwealthOnline.Server.csproj -c Release dotnet run --project tests/CommonwealthOnline.Server.Tests.csproj -c Release ``` Run from source: ```bash dotnet run --project CommonwealthOnline.Server.csproj -- serve --config commonwealth-server.json --interactive ``` ## Windows Qt Host development Required: - Visual Studio 2022 with C++ tools - CMake 3.20+ - Qt 6.4+ MSVC 2022 package - .NET 8 SDK Run: ```bat check-setup.bat build.bat ``` CMake builds the Qt host and publishes the bundled C# server as a self-contained Windows executable under the staged `server` directory beside the host. ## GameNetworkingSockets The authoritative server is C#. Valve GameNetworkingSockets remains in the native C++ bridge under `server/native_transport`. A server with `enable_gns_transport: true` needs the appropriate bridge library beside the server or a valid `gns_bridge_path`. ## Ports - Gameplay TCP compatibility: TCP 7777 by default - GNS gameplay: UDP 7777 by default when enabled - LAN discovery: UDP 7778 - Admin control: TCP 127.0.0.1:7779 by default The admin port must remain localhost-only.