Installing the rig agent

Each rig PC runs a small Python service that talks to PitwallOS over HTTPS. The agent loads circuits, vehicles, and sessions on cue from the admin UI; it never opens an inbound port.

1. Download the installer

From your admin console, navigate to Settings → Rigs & agents and click Download installer. You get a signed Windows executable; current size is ~25 MB.

The installer registers the agent as a Windows service so it starts on boot. No console window stays open.

2. Generate a setup token

On the same settings page, click Generate setup token. The token is one-shot: paste it into the agent on first launch and it auto-binds to a specific rig in your venue. Anyone with the token can register a rig, so don't share it; tokens expire after 24 hours.

3. Run the installer on the rig PC

Double-click PitwallOSAgentSetup.exe. The installer prompts for the setup token; paste it and click Bind. The agent verifies the token, exchanges it for a long-lived rig token (stored encrypted via Windows DPAPI), and registers itself as the PitwallOSAgent service.

4. Confirm the heartbeat

Back in the admin console, the rig appears with a green dot within ~10 seconds of binding. If the dot stays grey or red, check the troubleshooting guide.

5. Approve the rig

New rigs land in pending approval until an admin clicks Approve. This prevents an attacker from plugging in a rogue PC and consuming bookings.

6. Per-engine prerequisites

The agent is multi-title (agent v3.1.0+): it can drive Assetto Corsa, rFactor 2, and (later) Le Mans Ultimate from the same rig PC. Each engine needs its own install pass before PitwallOS will route bookings to it.

Assetto Corsa

  • Install Assetto Corsa from Steam. The agent expects %PROGRAMFILES(X86)%\Steam\steamapps\common\assettocorsa by default; if yours is elsewhere set the path in the agent's setup GUI under Paths → Assetto Corsa.
  • Install Content Manager and CSP per the pinned versions in that doc — older or newer versions will fail to launch through PitwallOS.

rFactor 2

  • Install the rFactor 2 client from Steam (App ID 365960) — rFactor2.exe lands under steamapps/common/rFactor 2.
  • The rFactor 2 Dedicated Server (App ID 400300) is installed automatically by the agent on the first heartbeat after rF2 is enabled. The managed install lands at %LOCALAPPDATA%\PitwallOS\agent\rf2_dedicated; the agent fetches its own copy of SteamCMD under %LOCALAPPDATA%\PitwallOS\agent\tools\steamcmd and runs an anonymous app_update 400300 validate. No operator step is required. If you already installed the dedi by hand at C:\Racing\rFactor2-Dedicated or under steamapps/common/rFactor 2 Dedicated Server the agent still recognises it and prefers its own managed copy if both exist.
  • Locate your UserData directory — usually %PROGRAMFILES(X86)%\Steam\steamapps\common\rFactor 2\UserData but rF2 sometimes puts it under Documents. Both paths go into the setup GUI under Paths → rFactor 2.
  • The agent ships with the upstream rF2 shared-memory plugin (rFactor2SharedMemoryMapPlugin64.dll, v3.7.15.1, GPL-3.0). It auto-deploys into rFactor 2\Bin64\Pluginson every agent heartbeat — you don’t need to copy anything manually. If a rig already has the same DLL from CrewChief or SimHub, the heartbeat is a no-op (everyone in the rF2 ecosystem ships and looks for the exact same filename).
  • In rFactor 2 itself, make sure Custom Plugin Variablesis enabled (Options → Plugins). The shared-memory plugin shows up as rFactor2SharedMemoryMapPlugin64. The agent re-enables it on every solo launch — you only need to intervene if rF2 auto-disables it after a crash and the agent log shows the toggle keeps reverting.
  • Make sure ports 54297 (rF2 dedi binary) and 5397 (rF2 dedi WebUI/REST) are free on the rig. The agent binds them on every solo launch and reuses them for group hosting.
  • rF2 is gated behind a per-rig canary flag during rollout (see multi-title overview). Once rF2 is installed and the agent reports install_status=ok, a PitwallOS super-admin flips pitwall_rf2_enabled on your rig from the /super-admin/agent-compliance dashboard.