What KOTT is
King of the Touge is touge racing for Assetto Corsa: timed laps and 1v1 battles on mountain passes, with lap times the server verifies. Communities run it on their own servers. Pick one and jump in. Browse communities
Get set up, learn how a KOTT server works, find answers to the things new drivers run into, and read what running KOTT for a community involves.
King of the Touge is touge racing for Assetto Corsa: timed laps and 1v1 battles on mountain passes, with lap times the server verifies. Communities run it on their own servers. Pick one and jump in. Browse communities
One paid game and two free downloads. Sign in with Steam on this site and that's all the account you need; Discord is optional.
Join a server and you can cruise, set timed laps, or challenge anyone on it.
Press H in-game for this list plus the HUD toggles.
Every battle you drive feeds a skill score belonging to that community: its drivers, its standings. Beating a stronger driver earns more; losing to a weaker one costs more. The score shown is a careful estimate, so it rises as you prove it over more battles, and driving the same person again and again counts for less each time.
Results are worked out from the race itself rather than taken on trust from anyone's game, and lap times are checked the same way, so the standings mean something.
A pass usually has more than one way to run it — downhill, uphill, a reversed direction, a longer variant. KOTT hosts all of them on one server, and drivers switch between them in-game without reconnecting.
That matters more than it sounds. The alternative is a server per layout, which for a community of twenty means three servers with six people in each — and a server with six people in it reads as dead, so people stop joining. Keeping everyone in one place is the difference between a community that feels alive and one that looks abandoned.
The usual problem with everyone in one place is that everyone gets in the way. KOTT handles that in two layers.
Battles are isolated. When two drivers are racing each other they collide with each other and pass straight through everybody else. Someone cruising cannot punt them off, and their battle cannot ruin someone else's hot lap. The same applies to timed laps.
And you can see through what you'd pass through. A car you cannot collide with still blocks your view of the road and your line, for no reason — so drivers can fade those cars out, at whatever strength they like, up to hiding them entirely. It follows the collision rules exactly, which means a car you could actually hit is never hidden from you.
This is the part that matters most and the part that is easiest to skip. In Assetto Corsa almost everything is computed on the player's own machine, so anything the client reports is a claim rather than a fact.
KOTT doesn't take the claim. Each car's position is projected onto the track's racing line server-side, every tick — and that single projection is what drives finish detection, gaps, and lap validity. When a battle ends, the winner is re-derived from the recorded trace and compared against what the server reported. If they disagree, the trace wins and the result is flagged rather than quietly recorded.
Practically: a corner-cut doesn't become a lap record, and a disputed battle doesn't silently become someone's win. That's what makes a leaderboard worth caring about.
A clean lap has exactly one route into existence: the player presses restart, gets teleported to the start, held for a three-second countdown, and released as the clock begins. There is no other path in the code that can start a timed lap — that's enforced by a build-time check, not a convention.
Going off track or teleporting to the pits invalidates the lap immediately, and contact during a hot lap is policed so someone can't ruin a run and have it count. Splits are recorded per sector, so a player can see where the time actually went.
Anyone on the server can challenge anyone else. Accept, and both cars are placed at the start line, counted down together, and released — the rest of the server keeps driving around you, and collisions between the pair are isolated from everyone else.
Results feed a skill rating scoped to your community. Your drivers, your standings. There's a same-pair cooldown built in, so two friends can't inflate each other's rating by trading wins all evening.
A cat-and-mouse ruleset is available too, where the roles of hunter and runner swap between runs.
Delivered by the plugin — nothing for players to download or configure beyond having a current CSP. It shows live timing and gap, the countdown lights, a driver list with what everyone is currently doing, challenge prompts, and the results screen after a battle. Your community's name appears when they join.
Your server appears on your own page within about a minute of its first heartbeat, with a live map of who's driving where, a connect button, leaderboards, lap history and driver profiles — all under your name, colours and logo.
You also get the tools that keep a community running: bans, teams, news posts, and delegated admins so you aren't the only one who can act.
The server. We have no access to your machine — we can't start it, stop it, or read its files, and everything KOTT needs travels over a heartbeat your server initiates. Your track and car choices are yours; your players are yours; your community page is branded as yours.
The plugin is open source under the AGPL, so you and your players can read exactly what it does. See /source.
Only completed battles move it. A cancelled or expired battle, or one both drivers left, doesn't count. Your skill also belongs to the community whose server you drove on: driving somewhere else moves a different score. Each community's Drivers page, sorted by skill, shows where you stand there.
No. Signing in with Steam is all you need. Linking Discord is optional: it lets the KOTT bot's profile and stats commands know who you are. You can link it from your profile at any time; linking Discord walks through it.
Every result is worked out on the server from the race itself, so a report is checked against the full race rather than either driver's word. If the battle's page offers Report match, use it; its status updates on that page. Otherwise tell us on the Report an issue page with the pass, roughly when it was and the other driver's name.
Use the Report an issue page (also in the footer). For quick questions the Discord is the fastest path.
https://discord.gg/y8nYwcn979, the same link as in the footer.
Content Manager registers a link handler (acmanager://) when it's installed. If Connect
does nothing, either Content Manager isn't installed yet or the handler isn't registered.
What running KOTT for your community actually involves — including the parts that constrain you. Worth reading before you commit, not after.
Your licence permits Touge — one server that hosts cruising, solo timed laps and on-demand 1v1 battles together. Deliberately one server rather than three: splitting a community across modes leaves you with several half-empty servers, and an empty server reads as a dead community.
There is no ranked queue. Every battle is a challenge two drivers
agree to on the server; win/loss records and the community skill ladder are per-community.
A leftover Mode: MATCHMAKING in an old plugin_kott_cfg.yml boots as
Touge with a warning rather than refusing to start.
Your licence lasts a year and renews itself. Once inside 60 days of expiry, any successful heartbeat pushes it out again — so a server that comes online even occasionally never expires, and there is nothing to remember.
If a server stays offline long enough for the licence to lapse, the plugin enters lockout and you'll need a fresh bundle from your dashboard.
The plugin heartbeats every ~30 seconds. If it can't reach us:
Turning your own server off for a while does not trip this: the clock only runs while a server is up and cannot reach KOTT.
Your community page works from the moment your server connects, and anyone with the link can reach it. Appearing in the public communities directory is a separate request you make from your dashboard, because that directory is curated. Declining a listing never affects your racing, and you can remove yourself at any time without asking.
You need Assetto Corsa, Content Manager and Custom Shaders Patch 0.2.8 (build 3424) or newer; What you need to install has the links. KOTT servers ask for that CSP build, and Content Manager tells you on the connect screen if yours is older.
You need an AssettoServer 0.0.55 install; the plugin is a few files you extract into it,
with no separate service to run. Sign in to your community admin and open the
Bundle tab (/community/<your-slug>/admin/bundle) to
download your bundle. The README.txt inside it has the install and update
steps. No community yet? Apply first.
Apply — tell us about your community.
Reconnecting…
Reconnecting… the page will reload automatically.
The session was rejected by the server. A reload is required.