> For the complete documentation index, see [llms.txt](https://docs.rainmad.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rainmad.com/resources/mad-racing-system-racing-tablet/the-tablet.md).

# The Tablet

Everything players do outside a race happens here: browsing tracks, hosting, joining, crews, bounties, profile and the leaderboard.

***

### Opening it

| Way         | Requires                                       |
| ----------- | ---------------------------------------------- |
| `/racing`   | Always. Rename with `cfg.command`              |
| Tablet item | `cfg.tabletItem` set and the item in inventory |

The tablet is a prop held in hand, with the UI projected onto its screen.

| Key         | Does                                |
| ----------- | ----------------------------------- |
| `F6`        | Toggle camera mode                  |
| `F7`        | Toggle fullscreen UI                |
| `BACKSPACE` | Leave camera mode, then put it away |

{% hint style="info" %}
Camera mode locks movement and controls on purpose — the player is looking at the screen. The lock clears on death, on resource stop, and whenever the tablet closes.
{% endhint %}

***

### Track editor

Opened from the tablet. It runs on an in-world overlay, not a menu.

| Step        | How                                                         |
| ----------- | ----------------------------------------------------------- |
| Checkpoints | Place along the route. Each gets its own radius and heading |
| Props       | Switch to object mode and place from `cfg.trackObjects`     |
| Save        | Name, description, format, laps                             |

Limits come from `cfg.track` and are enforced again on the server at save: minimum and maximum checkpoints, maximum props, name and description length, and the creation fee.

Saving needs the `createTrack` permission — `Creator` tier by default.

After a save the server renders a map snapshot of the track and caches it. That snapshot is what you see on track cards, in the lobby prompt and in Discord embeds.

***

### Hosting a race

Pick a track, then a format and its settings: laps, vehicle class, buy-in, max players, first person, phasing, slipstream, private bucket, password.

Hosting needs `create`. Competitions additionally need `cfg.competition.minRatingToHost` ELO.

Other players find the lobby three ways:

* the Races page in the tablet
* `/joinrace <id>` for private lobbies
* walking up to the starting grid — a 3D prompt appears within 8 metres

***

### Pages

| Page        | Contents                                                                                         |
| ----------- | ------------------------------------------------------------------------------------------------ |
| Home        | Global activity feed, live races map                                                             |
| Tracks      | Browse, search, filter to your own, open a track                                                 |
| Races       | Open lobbies, scheduled competitions, recent results                                             |
| Crews       | Browse and found crews                                                                           |
| Bounty      | Current target, claim history, re-roll for `Master`+                                             |
| Leaderboard | Server ELO ranking                                                                               |
| Profile     | Avatar, name, checkpoint and GPS colour, route style, first-person preference, personal activity |
| Admin       | Gated behind `runAdminCommands`                                                                  |

The Profile activity feed is personal. The Home feed is global and stays that way by design.
