NGCP Game server control panel
Documentation
Contents

Windows

Installing on Windows

Install the controller (the panel) on Windows 10/11 or Windows Server, x64, then finish the configuration in your browser. NGCP Setup is the recommended way; the controller MSI installs the panel alone.

Before you start

Download NGCP-Setup-X.Y.Z.exe or ngcp-controller-X.Y.Z-x64.msi (all files: Packages) and check it against SHA256SUMS:

Get-FileHash .\ngcp-controller-X.Y.Z-x64.msi -Algorithm SHA256

The Windows packages are not code-signed yet, so SmartScreen warns when you run them.

NGCP-Setup-X.Y.Z.exe installs everything a Windows server needs. Run it as an administrator and choose what this server does:

NGCP Setup first page, asking what this server should do, with the check boxes Panel and Game servers

Choice Installs Next
Panel and Game servers (both ticked, the default) Controller with PostgreSQL, and the agent The setup page opens; leave This server runs game servers too ticked and this server joins as a game node by itself
Panel only Controller with PostgreSQL The setup page opens; add game servers on other computers later
Game servers only The agent Enter the panel’s address, enrollment token and CA hash under Options (from the panel: Nodes, Add a node), or join later

Joining an existing panel

Only for Game servers without the panel. Open Options and paste the values from the panel (Nodes, Add a node). Leave them empty to join later. See Adding a Windows node.

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

Installing and finishing

Start the install and let it run:

NGCP Setup installing, with a progress bar

NGCP Setup finished page, saying NGCP is installed

If you installed the panel, the setup page opens next: continue with the setup in your browser.

NGCP appears once in Apps / Programs and Features as NGCP; Repair and Uninstall work on both parts. Uninstalling keeps the panel’s database and settings in C:\ProgramData\NGCP.

Unattended

.\NGCP-Setup-X.Y.Z.exe /quiet                                  # panel + game servers
.\NGCP-Setup-X.Y.Z.exe /quiet InstallAgent=0                   # panel only
.\NGCP-Setup-X.Y.Z.exe /quiet InstallController=0 ControllerUrl=https://panel.example.com EnrollToken=ngcpe_... CaHash=sha256:...

Add /log setup.log for a log file (the enrollment token is never written to it).

With the controller MSI

  1. Run ngcp-controller-X.Y.Z-x64.msi as an administrator. SmartScreen warns because the MSI is not code-signed yet.
  2. The installer:
    • installs the program to C:\Program Files\NGCP Controller;
    • keeps configuration in C:\ProgramData\NGCP\Controller (readable only by SYSTEM and Administrators);
    • adds the Windows service NGCP Controller (NGCPController);
    • opens TCP 8080 (web) and 8443 (agents) in Windows Firewall.
  3. Leave Open the setup page (http://localhost:8080/setup) ticked on the last page and continue with the setup.

For a silent install:

msiexec /i ngcp-controller-X.Y.Z-x64.msi /qn

Finish the setup in a browser

Until the setup is done the controller serves only the setup page and its API.

The panel’s first-run setup page in a browser on Windows

  1. Open http://<server>:8080/setup.
    • On the server itself no token is needed.
    • From another computer the page asks for the setup token. It is in C:\ProgramData\NGCP\Controller\setup-token.txt.
  2. Database: Built-in or Existing.
    • Built-in creates a PostgreSQL cluster in C:\ProgramData\NGCP\Controller\postgres\data, listening on 127.0.0.1 only (first free port from 5433), run by the service NGCPPostgreSQL as NetworkService with a random password.
    • Existing: a URL such as postgres://ngcp:[email protected]:5432/ngcp. The page tests the connection first.
  3. Administrator: user name, e-mail and password of the first SuperAdmin. Turn on two-factor sign-in right after the first sign-in.
  4. Address: the public URL browsers and nodes use, for example https://panel.example.com or http://203.0.113.10:8080, and, if different, the agent address (host:8443). By default the agent address is the public URL’s host name with port 8443. Nodes must be able to resolve and reach both.
  5. TLS: None (trusted network, or TLS ends at a reverse proxy), Certificate files or Self-signed (testing; browsers warn). See TLS and reverse proxies.
  6. Game servers on this server (shown only when the NGCP agent is installed on the same computer, as with NGCP Setup’s default): leave This server runs game servers too ticked, optionally with a node name (default: the computer name). The setup leaves a one-time join file for the agent (local-node.json in the configuration folder, valid for 24 hours); the agent joins within seconds, deletes it and appears under Nodes in the datacenter Default.
  7. Finish. The controller writes its configuration and a new master key, creates the database schema, the SuperAdmin and a datacenter named Default, and switches to normal operation without a restart. Sign in at the public URL.

The setup token is deleted when the setup finishes, and the setup API answers 404 afterwards. If the setup fails halfway you can run it again; it keeps what it already created.

Files and folders

What Where
Program C:\Program Files\NGCP Controller
Configuration, master key, self-signed certificate C:\ProgramData\NGCP\Controller
Built-in database C:\ProgramData\NGCP\Controller\postgres\data
Log C:\ProgramData\NGCP\Controller\controller.log

Settings are in controller.env in the configuration folder; see the controller.env reference. Running, upgrading and removing the panel on Windows: Windows notes.

Next: add a Windows node.