A league is a championship with a roster, a run of rounds, and a points table. Multitap keeps all of it: who is entered, who turned up, the grid, the results, the penalties and the standings, plus public pages your drivers will share and a Discord flow so they can sign themselves up. On the night, a race night console starts practice, qualifying and the race on a private server, seats your rigs, and fills in the results when the flag drops.
The Leagues page
The landing list groups your championships by status: active, draft, completed and archived. Each row shows the name, a status chip and an Open ▸ link. Click a row to open it. The list refreshes itself every few seconds while you are on it. The one button at the top is New Championship.
A draft is private while you build it. Set it to active and it appears on your public league pages and opens for Discord signups. Completed keeps it public as a record but closes signups and car changes. Archived hides it. You change status on the championship's Settings tab.
Creating a championship
The New Championship drawer asks for a name, an optional description, the race configuration, and the scoring rules.
| Field | What it does |
|---|---|
| Name | Required. Shown everywhere, including Discord and the public pages. |
| Description | A line of context, for example Weekly GT3 series. |
| Race configuration | The car rules, assists, weather, session lengths and advanced server settings that every round inherits. See Race configuration. |
| Points preset | F1 gives 25, 18, 15, 12, 10, 8, 6, 4, 2, 1 to the top ten. Top 5 gives 10, 8, 6, 4, 2. Linear gives 15 down to 1 for the top fifteen. |
| Drop rounds | How many of each driver's worst rounds are excluded from their total. 0 means none. A round a driver missed counts as zero and can be dropped. |
| Join password | Optional. Locks the qualifying and race servers so only your entrants can join from home. Practice servers are always open. |
| Auto-approve Discord signups | Off by default, so drivers who sign up on Discord wait for you to approve them. On, and they land straight on the grid. |
| List practice servers publicly | Off by default. On, your practice servers appear in the public Assetto Corsa lobby so anyone can find them. Qualifying and race servers are never listed. |
Press Create. The championship is created as a draft. The points preset, drop rounds, password and the two checkboxes are set at creation; the name, status and race configuration can be changed later on the Settings tab.
Inside a championship
A championship has four tabs: Rounds, Roster, Standings and Settings.
Rounds
Press Add round to open the round drawer.
| Field | What it does |
|---|---|
| Round name | Required, for example Round 1 — Monza. |
| Region and Track | Pick the circuit. A preview image appears under the selector. |
| Points multiplier | 1 by default. Set 2 for a double-points finale, or 0.5 for a sprint. |
| Race config overrides | The same configuration editor as the championship, pre-filled with the championship's settings. Only what you change here is stored for this round, so a wet night or a longer race is a one-round exception. The editor shows an amber edge when a round has overrides. |
Creating a round posts a New round announcement to your Discord channel. Each round in the list has four buttons: Edit, Race night for the console, Results for the results editor, and Remove, which asks for confirmation and deletes the round with its attendance, grid and penalties.
Roster
The add-entrant bar takes a Display name, an optional link to a driver from your database (start typing in Search driver), a car number, a class and car, and an optional livery. Press Add entrant. When the championship runs a spec car the car fields are locked to it. When it runs a car list, only listed cars are offered.
Entrants added here start as pending, like Discord signups, so the same Approve button confirms both kinds. A driver who has withdrawn shows Re-admit instead. Remove takes them off the roster after a confirmation. A driver can be entered once per championship; trying to add them twice shows a message saying so.
Linking an entrant to a driver record matters for remote racers: the driver's SteamID from their Discord signup is what reserves their slot on a locked server. Rig-seated drivers use the rig's SteamID from Settings instead.
Standings
A table with one column per round and a points total, recalculated from results and penalties every time you open it. The top three rows are highlighted. Dropped rounds are dimmed and struck through. Ties are broken by most wins, then countback through second places, third places and so on.
Settings
Change the Name, the Status, an optional Discord invite that overrides the venue-wide one on the public pages, and the race configuration. Save applies them. Delete championship removes it with all rounds and entrants after a confirmation.
Race configuration
The configuration editor appears in the championship drawer, on the Settings tab and in every round drawer. It opens with a row of presets under Start from: GT3 Sprint, Endurance, Spec Cup, Arcade and Drift. Clicking one fills every field. + Save as preset stores your current values under a name of your own; your presets appear alongside the built-in ones with a small × to delete them.
Simple
| Setting | Options |
|---|---|
| Cars | spec locks everyone to one car. list offers the car you pick here as the list. open lets each entrant bring whatever car is on their roster row. |
| Assists | standard, pro or custom. These map to the per-mode assist rules from your Settings page. |
| Weather | Clear, Clouds, Light rain, Heavy rain, plus Time of day from 0 to 24 in half-hour steps. Anything outside 6 to 20 runs at night. |
| Advanced weather | Wind speed range and direction, ambient and road temperature with a random spread, and a time multiplier. At 0.1 the sun stays put; higher values move the day along during the session. |
| Sessions | Practice minutes, qualifying minutes, and a race by laps or by time. |
Advanced settings
Under the collapsible Advanced settings heading:
| Group | Fields |
|---|---|
| Assist detail | ABS and traction control (off, factory, or forced on), stability percentage, autoclutch, tyre blankets, virtual mirror, fuel, tyre wear and damage percentages. These are the raw server values, for when a preset is nearly right. |
| Grid & start | Start rule and a reversed-grid count. |
| Pit & ballast | A mandatory pit window (start and end lap, 0 for none) and the maximum ballast in kilograms. |
| Track evolution | Starting grip, grip gained per lap, and randomness. |
| Driving standards | AFK kick (on by default) removes drivers who sit idle for the set number of minutes. No-lights kick warns and then removes cars driving without headlights at night, with a grace period and a minimum speed. Both apply to league servers only. |
Race night
Press Race night on a round to open the console. It has four tabs that follow the evening in order.
Attendance
Tick Here? for each entrant who is racing tonight and choose their Rig, or leave it at remote for someone joining from home. Rig-seated drivers are launched into each server automatically; remote drivers join with the address you post. Seed from previous round copies last round's attendance so you only adjust the changes. Save attendance stores it.
Grid
Prefill from qualifying builds the race grid from the qualifying result once that phase has run, applying any grid penalties. Reverse top N… asks how many to reverse and flips them. Each row has Ballast kg and Restrictor % fields for success ballast, and arrows to move drivers up and down by hand. Save grid stores it. An empty grid falls back to attendance order at launch.
Run
Three launch buttons, ▶ Practice, ▶ Qualifying and ▶ Race, each start that phase on the round's server after a confirmation. Starting a phase ends whichever phase was running. The round keeps one server address for the whole evening, so the join address you posted for practice still works for the race.
| Control | What it does |
|---|---|
| End phase | Stops the current phase and writes its classification into the results editor. The server address is kept for the next phase. |
| Abort | The same as End phase, for when something went wrong and you intend to relaunch. |
| Finish round (free server) | Releases the server when the night is over. |
Below the buttons is a status card. While nothing runs it reads No phase running. During a phase it shows which one, the join address for Content Manager, and a connected count. As laps arrive, a live table appears with position, driver, laps and last lap. Every launch also posts an is LIVE embed to Discord with the join address, so remote drivers know when to come in.
Practice servers are open lobbies with room for guests. Qualifying and race servers have a locked entry list built from attendance, with the championship password if you set one, and are named after the championship, round and phase.
Review
A read-only table of cuts, invalid laps and collisions per entrant, captured from the server as the phases run. It is there to inform a steward's decision, not to make it: nothing is penalised automatically. Apply penalty on a row opens the results editor with that entrant selected and the reason field ready.
Results and penalties
The results editor opens from Results on a round, or from the Review tab. The Race classification table has one row per entrant with a position, a status (finished, dnf, dns or dsq) and an FL checkbox for the fastest lap. It fills itself when you end the race phase; you review it, adjust anything the server got wrong, and press either Save results to keep working or Save & confirm round to finalise.
Confirming does three things. The round becomes completed. The standings update. A Results embed goes to Discord with the top five and the current top ten in the standings, and the round's public page goes live with a share image.
Penalties
Pick an entrant, a type, a scope, a value and a reason, then press Add penalty. The reason is required and is shown on the public round page.
| Type | Effect |
|---|---|
| points, race scope | Subtracted from that round's points. |
| points, championship scope | Subtracted from the driver's total after drop rounds, so it cannot be dropped away. |
| DSQ, race scope | The driver scores nothing for the round. The raw result is kept for the record. |
| grid, race scope | Drops the driver that many places when you prefill the grid from qualifying. |
| time | Recorded and published with its reason. Positions are adjusted by you in the classification, so a time penalty is a note to the field, not an automatic reorder. |
If drop rounds are on, a race-scope DSQ on a driver's weakest round can simply be dropped, which is correct championship behaviour. When you want a penalty that always counts, use a championship-scoped points penalty instead.
Public league pages
Every active or completed championship has pages at your-venue.mlttp.com/leagues/ with your logo, name and accent colour. Drafts and archived championships are never shown. Results appear only after you confirm the round.
| Page | What a visitor sees |
|---|---|
| Championship home | A LIVE badge while a phase is running, chips for each round, the standings table with dropped rounds dimmed, the last round's podium, and a Race from home card with the practice join address, the Discord invite and any required mods. |
| Round page | Race and qualifying tabs with laps, sectors, best lap and gaps, position and pace charts when lap data was captured, and the full penalty list with reasons. The page unfurls in Discord and social apps with a generated podium image. |
| Live timing | Updates every three seconds during a phase: position, laps, sectors, best lap, gap, interval and last lap, plus a live track map for tracks that ship one. |
| Driver profile | Career totals (seasons, races, wins, podiums, poles, fastest laps, points, titles), a season tab per championship, form chips for the last five rounds, and a round-by-round table. |
| Head-to-head | Pick two drivers and compare qualifying duels, race duels, points, wins, podiums, poles, fastest laps and best lap, with a round-by-round breakdown. |
Discord
League news is posted to the channel you connected on the Discord page: a new round when you add one, an is LIVE post with the join address for every practice, qualifying and race launch, the results and standings when you confirm a round, and a line when someone signs up or withdraws.
Members of your server can use the /league commands.
| Command | What it does |
|---|---|
/league standings | Posts the top fifteen with points and a link to the public page. |
/league schedule | Posts the round list with tracks and status. |
/league signup | Opens a form for first name, last name and SteamID64. In a car-list championship it follows up with a car picker. The driver lands on your roster as pending, or approved if auto-approve is on. |
/league me | Shows the member their own entries, status, car, position and points. Only they can see the reply. |
/league car | Lets a member pick or change their car before the next launch. |
/league withdraw | Asks for confirmation, then withdraws them. Their results stay on the books; re-entry needs your Re-admit. |
All of these answer only in a server that is connected to your venue.