Skip to main content

Install guide

Roughly ten minutes. You copy a few files into an existing AssettoServer install and restart it — there is no separate service to run and nothing to expose.

Before you start

  • An AssettoServer install, version 0.0.55 or newer.
  • A VPS or game server. 2 vCPU and 2 GB RAM comfortably runs a 24-slot server.
  • Players on CSP 2651 or newer. The in-game HUD uses an API that landed in that version; older clients see no HUD at all.
  • Your bundle — a zip we send you, containing the plugin, your licence and your API key.

Steps

  1. Stop your AssettoServer.
  2. Copy the bundle in. KOTT.Plugin.dll, kott.license, manifest.json, appsettings.json and the keys/ folder go into your plugins/ directory; plugin_kott_cfg.yml goes into cfg/.
  3. Enable the plugin in extra_cfg.yml:
    EnablePlugins:
      - KOTT.Plugin
    The name must be exactly KOTT.Plugin — AssettoServer keys plugins by directory name and boots with "No plugin found" otherwise.
  4. Start the server and watch the log for "License verified successfully" then "Heartbeat health Healthy". Those two lines mean you're connected.
  5. Join it. You should see the KOTT HUD and a "Hosted by …" ribbon for the first few seconds.

Your track needs two things

Well-packaged tracks already have both, but some mod tracks don't — and the server hard-fails at boot rather than starting without them:

  • An AI spline — a fast_lane.ai under the track's ai/ folder. KOTT uses it for finish detection and off-track judgement, and AssettoServer refuses to start without one.
  • Track params (latitude, longitude, timezone). If your track isn't in CSP's database, add IgnoreConfigurationErrors: { MissingTrackParams: true } to extra_cfg.yml — that relaxes only the sun position, and leaves car checksums strict.

If it doesn't connect

"License verification FAILED"
The licence file is wrong, corrupt or expired. Re-download your bundle.
Heartbeat returns 426
Your plugin is below the current protocol floor. Re-download the bundle for the current build.
"Heartbeat health Degraded"
The plugin can't reach KOTT. Check your firewall and DNS. Racing continues and results queue locally, replaying when the connection returns.
The server runs but doesn't appear on my page
Give it a minute — servers register on their first heartbeat. If it's still missing, the two log lines in step 4 tell you whether it reached us at all.

Still stuck? Send us the server log on Discord — it almost always names the problem directly.

Source code

The plugin is AGPL-licensed and loaded into AssettoServer, so you and your players are entitled to its source. See /source — that offer is built into the plugin's own in-game panel, and leaving it in place is what keeps you compliant.

Connection lost

Reconnecting…

Reconnecting… the page will reload automatically.

The session was rejected by the server. A reload is required.