> For the complete documentation index, see [llms.txt](https://docs.av-scripts.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.av-scripts.com/laptop-pack/racing/matchmaking.md).

# Matchmaking

Matchmaking is an automated way to create **ranked races**. Instead of an admin manually setting up an event, racers put themselves in a queue, and the server groups people of a similar skill level together and builds a race for them. Everyone gets to vote on the track, drives to the start line, and races for ELO and a server‑funded prize.

The whole point is to keep competitive races flowing without anyone having to organize them.

{% hint style="info" %}
The **Matchmaking** tab only appears when the server owner has matchmaking enabled. If you don't see it, matchmaking is turned off on that server.
{% endhint %}

### Step 1 — Join the queue

Open the Racing app and go to the **Matchmaking** tab. Before joining, you pick **what kind of race you want**:

<figure><img src="/files/cz7HZzkPOs89YWruJk1P" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="262">Choice</th><th>What you're signing up for</th></tr></thead><tbody><tr><td><strong>A specific class</strong> (e.g. Class S)</td><td>You'll race that class and must bring a car of that class. You only match with others who chose the same class.</td></tr><tr><td><strong>Open class (any car)</strong></td><td>Any vehicle is valid. You match with other open‑class racers.</td></tr><tr><td><strong>Fill any lobby (fastest match)</strong></td><td>A wildcard — you get placed wherever a race is filling up. Fastest way to find a game, but you might be put into a class you need a car for.</td></tr></tbody></table>

A short line under the selector reminds you what your choice means (for example, *"You'll need a class S car"* or *"You may be placed in any class"*). It also shows how many racers are needed to start.

Press **Join Queue**.

{% hint style="warning" %}
You can't queue while you're already in a race, or while you're on a **cooldown** from abandoning a previous match. The button is greyed out and tells you why.
{% endhint %}

### Step 2 — Waiting in the queue

Once you're in, the tab switches to the queue view. Here you can see, at a glance:

<figure><img src="/files/0l5sgiqyw014NrY3bdxv" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="170">Row</th><th>Meaning</th></tr></thead><tbody><tr><td><strong>Searching</strong></td><td>The kind of race you're looking for (your class / open / fill).</td></tr><tr><td><strong>In Queue</strong></td><td>How many racers are searching for the <strong>same kind of race</strong> as you, out of how many are needed.</td></tr><tr><td><em>(progress bar)</em></td><td>A visual of how close that count is to the minimum.</td></tr><tr><td><strong>Your Wait</strong></td><td>How long you've been in the queue.</td></tr><tr><td><strong>Elo Range</strong></td><td>Your current skill window. It <strong>widens the longer you wait</strong>, so you'll match faster over time.</td></tr></tbody></table>

A hint at the bottom tells you either how many more racers are needed, or *"Forming lobby…"* when there are enough.

You can press **Leave Queue** at any time to step out.

{% hint style="info" %}
The **In Queue** count only counts racers looking for the same kind of race you are. Two people in the queue who picked different classes won't be matched together — and each sees their own count.
{% endhint %}

### Step 3 — The match invite

When a lobby forms, the tab turns into a **Match Found** screen with a countdown. It shows how many racers are in the lobby and the **class the race will be** (for example *Class S*, or *Open class*).

* Press **Accept** to commit to the race.
* Press **Decline** to pass — this costs you nothing.

<figure><img src="/files/3ldX0OYLESA0lsKneGZS" alt=""><figcaption></figcaption></figure>

After you accept, the screen shows *"Waiting for the other racers…"* until everyone has answered or the timer runs out.

{% hint style="warning" %}
**Accepting is a commitment.** If you accept and then never make it to the start line to check in, you'll be locked out of the queue for a short cooldown. If you're not sure you can make it, **decline** instead — declining is free.
{% endhint %}

{% hint style="success" %}
The invite tells you the **required class before you accept**. If it's a class you don't have a car for, just decline and requeue with a preference that suits you.
{% endhint %}

If you had the app **closed** when the match popped, you'll still get a notification — open the app and the invite (or vote) will be waiting for you, as long as it hasn't timed out.

### Step 4 — Vote for the track

Once enough racers accept, everyone votes on the track. You'll see a few options as cards, each showing the track's **name**, its **type, distance and checkpoint count**, and a live **vote tally** that updates as others vote.

<figure><img src="/files/fddJlunysZ8jcZfxSbpJ" alt=""><figcaption></figcaption></figure>

* Tap a track to cast your vote. Your pick is highlighted.
* The most‑voted track wins; ties are broken at random.

You don't have to wait out the timer — once everyone has voted, the winner is decided immediately.

{% hint style="info" %}
If the server owner has turned voting off, this step is skipped and a random eligible track is chosen for you.
{% endhint %}

### Step 5 — Get to the start and check in

When the vote closes, the ranked race is created and **you're automatically entered** — no need to go find it in the events list. You'll get:

* A confirmation that the ranked race was created.
* A **GPS route to the start line** set for you automatically.

Drive to the start, get in a car of the **required class**, and **check in** like any other race. From there it's a normal ranked race.

{% hint style="warning" %}
Remember: the buy‑in is **free** for matchmaking races, but if you accepted and don't check in before it starts, that's when the cooldown kicks in.
{% endhint %}
