> 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/troubleshooting.md).

# Troubleshooting

### Tablet does not open

**Nothing happens on `/racing`.** Check the banner for a `framework` line. If it says `none detected`, the framework bridge never attached — `cfg.framework` is set to something your server does not run.

**The item does nothing.** `cfg.tabletItem` must match an item that exists in your inventory, and the framework bridge must expose `registerUsableItem`. The banner says `tablet item skipped` when it does not. Use `/racing` meanwhile.

**Tablet opens but stays on "Loading racing hub…".** The client is waiting for a profile. Usually the framework loaded after the player did — `/rm_whoami` will show whether a citizen ID resolved.

***

### Player is stuck

Camera mode locks controls on purpose. It clears on death, on resource stop and when the tablet closes.

If a player reports being stuck with no inventory and no controls, have them press `BACKSPACE` twice. Restarting the resource also clears it.

***

### Tracks

**Saving does nothing.** Track creation needs the `createTrack` permission — `Creator` tier by default. Check with `/rm_whoami`.

**Rejected on save.** The server re-checks `cfg.track` limits: checkpoint count, prop count, name and description length, and the creation fee. The error names which one failed.

**Cards have no map image.** Snapshot rendering happens after the save. Run `rm_resnapshot_all` in the console to backfill tracks that have none; it prints the size of each one.

***

### Races

**Race will not start.** Every racer must be within `cfg.race.maxDistanceFromGrid` metres of checkpoint 1.

**Checkpoints are hard to hit.** Edit that checkpoint's radius in the editor. The visual pillar is a fixed size and is not the trigger.

**Nobody sees the lobby.** Private lobbies do not appear in the list — share the ID and have players use `/joinrace <id>`, or stand near the grid for the 3D prompt.

**Scheduled competitions never run.** `cfg.competition.autoSchedule` uses **server** time. The banner reports how many races were queued and when the next one starts.

***

### Standalone

There is no framework, so no vehicle ownership and no inventory. Pink slips and item payouts hide themselves. Identity is the player's license and money is a virtual wallet in `rm_racing_wallet`.
