> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-radio/reference/troubleshooting.md).

# Troubleshooting

Symptoms, causes and fixes.

## A station skips past itself

**Symptom:** you tune to a station and immediately land on a different one.

**Cause:** that station does not exist on your game build. Tuning to a missing station is silently refused by the game, which then lands somewhere else.

**Fix:** run `/mradio_list`. Anything reported as MISSING should be removed from `Config.Stations`. The resource already hides missing stations at startup via `Config.AutoRemoveMissingStations`, and skips any that slip through, so this is mostly about keeping your config tidy.

## A song shows no title

Talk stations, adverts and DJ chatter genuinely have no track id, so showing just the station name is correct there.

For an actual song, set `Config.Debug = true` and run `/mradio_trackid`. If it reports the id is missing, add it to `html/assets/tracks.js` — see [Now Playing](/mango5m-docs/resources/mango-radio/features/now-playing.md).

## The Media Player station does not appear

<details>

<summary>Check these in order</summary>

* `Config.MediaPlayer.enabled = true`
* `Music.Tracks` in `music.lua` is not empty — the station stays hidden by design until it has tracks
* Your audio files are in `html/music/` and the filenames match exactly, including case
* Check the server console: it prints a line when the station is enabled but has no tracks

</details>

## The Media Player goes quiet when I stop the car

That is deliberate. The station follows the engine, exactly as GTA's own stations do — shut the engine off and it pauses, turn the key and it resumes. Tuning into it with the engine off is silent for the same reason.

Because the server owns the clock, you rejoin wherever the broadcast has actually reached rather than where you left it, so a long stop can bring you back to a different song.

Set `Config.MediaPlayer.requireEngine = false` if you would rather it played regardless.

## One player is hearing a different song to everyone else

They skipped. A skip is **local** by design — it moves that listener onto their own run through the playlist and leaves the rest of the server on the broadcast, the same way vanilla self radio behaves.

By default they rejoin the broadcast the next time they get into a vehicle (`resyncOnReenter = true`). If you have set that to `false`, they keep their own track until they tune away from the station and back.

## Media Player audio is out of step

Run `/mradio_media` and compare the `at=` value against `want=`.

* **They match** — you are in sync with the server, and therefore with every other listener.
* **They differ** — the output tells you whether the server position itself is off or the client could not seek.

Rule one before reading anything into it: check the player has not simply skipped. A listener who has skipped is off the broadcast on purpose and is not out of step with anything.

Remember too that the receiver keeps rolling silently while you are on another station. That is deliberate, and it is what makes tuning back instant and always in sync.

## The keybind does not work

FiveM caches the **first** default a player ever receives for a keybind. Changing `Config.Keybind`, `Config.RadioMenu.key` or `Config.MediaPlayer.skip.key` later only affects brand-new players.

Existing players rebind under **Settings → Key Bindings → FiveM**.

## F does not exit my vehicle

While the station browser is open, `F` favourites the highlighted station, so it is deliberately taken over. Close the panel with `G` first.

## The carousel appears when I did not touch anything

That is the now-playing flash — the station you are on moved to a new song. Set `Config.TrackChangeDisplayTime = 0` to disable it.

## Logos look too big or too small

`Config.UI.LogoFill` adjusts every station at once. For a single station that reads larger than the rest, use `logoScale` on its entry — several official marks have almost no built-in padding.
