NGCP Game server control panel
Documentation
Contents

Windows

Adding a Windows node

A node is a machine that runs game servers. It runs the NGCP agent, which connects out to the controller over mutual TLS. Adding a Windows node takes one command in PowerShell. What is the same on every system (tokens, agent.yaml, managing nodes) is in Adding a node.

Before you start

  • The node must reach the controller’s public URL (port 8080 or your HTTPS port) and the AgentLink address (port 8443). Check from the node:

    Invoke-RestMethod https://panel.example.com/healthz
    Test-NetConnection panel.example.com -Port 8443
    
  • You need administrator rights on the node.

1. Create an enrollment token

  1. In the panel open Nodes and choose Add a node.
  2. Pick the datacenter (or create one inline) and type the node’s name.
  3. Keep the default validity of one hour (at most seven days).

The panel shows the token once, together with the CA hash (sha256:...) and a ready-made command for Windows. The token works one time only. More about tokens and the CA hash: Create an enrollment token.

The panel’s Add a node page showing the Windows PowerShell command

2. Run the one-line installer

The panel serves an installer script that downloads the agent package from the panel, checks its SHA-256, installs it and enrolls the node. In PowerShell as Administrator:

& ([scriptblock]::Create((irm https://panel.example.com/install/agent.ps1))) -Token ngcpe_... -CaHash sha256:...

Optional: -ServicesDir D:\games puts game servers somewhere other than the default.

The script is only as trustworthy as the connection to the panel: serve the panel over HTTPS.

3. Check

The node appears as Online within a few seconds and shows CPU, memory and disks. The first connection of a Windows node can take about 20 seconds; later connections are fast.

The panel’s Nodes page with the Windows node shown as Online

If it does not come online, see If the node does not come online.

With NGCP Setup

On another Windows computer, run NGCP-Setup-X.Y.Z.exe, tick only Game servers and enter the panel’s address, the token and the CA hash under Options.

NGCP Setup Options page with fields for the panel address, enrollment token and CA hash

Unattended:

NGCP-Setup-X.Y.Z.exe /quiet InstallController=0 ControllerUrl=https://panel.example.com EnrollToken=ngcpe_... CaHash=sha256:...

On the panel’s own server no token is needed: see step 6 of the setup.

With the agent MSI

This MSI and the bare binary below install only the agent, not Microsoft’s game runtimes.

The Windows agent MSI can enroll during a silent install:

msiexec /i ngcp-agent-X.Y.Z-x64.msi /qn CONTROLLER_URL=https://panel.example.com ENROLL_TOKEN=ngcpe_... CA_HASH=sha256:... SERVICES_DIR=D:\games

The token is hidden from the MSI log. Without ENROLL_TOKEN the service waits for ngcp-agent enroll, so the order does not matter.

With the bare binary

In PowerShell as Administrator:

mkdir C:\ngcp; cd C:\ngcp
# copy ngcp-agent.exe here
.\ngcp-agent.exe enroll --controller https://panel.example.com --token ngcpe_... --ca-hash sha256:...
.\ngcp-agent.exe service install

service install registers and starts the Windows service. Use ngcp-agent service status|stop|start|uninstall to manage it. To replace an existing enrollment, add --force to enroll.

What the agent creates

What On Windows
Service NGCP Agent (NGCPAgent), LocalSystem, automatic start, restarts after 5 / 15 / 60 s
Data folder (agent.yaml, certificate, private key, log, stored specs) C:\ProgramData\NGCP, SYSTEM and Administrators only
Game servers C:\ngcp\services\svc-<id>
SteamCMD C:\ngcp\steamcmd (owned by ngcp_steam)
Accounts ngcp_s<id> per service, ngcp_steam for SteamCMD
Firewall rule group NGCP svc-<id> per service, NGCP svc-0 for SFTP
Log C:\ProgramData\NGCP\agent.log (local time)

Windows Firewall

Port From Opened by
Game ports of each service Players The agent, per service (rule group NGCP svc-<id>)
2022/tcp (SFTP) Your users The agent (NGCP svc-0)
Outbound 8080 or 443, and 8443 The node to the controller Your network

Switch firewall management off for a node in its settings if you manage the firewall yourself.

Next: your first game server. Running a Windows node day to day: Windows notes.