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

# Troubleshooting

The things that actually go wrong.

<details>

<summary>The console says progress will not be saved</summary>

`oxmysql` could not create or reach the tables. Import `install.sql` by hand, then set `Config.Database.autoMigrate = false`.

</details>

<details>

<summary>I added files and they are not loading</summary>

FiveM only re-reads a resource's manifest on `refresh`. Run `refresh` before `restart mango_achievements` whenever files are added — a plain `restart` reloads only the files the manifest already knew about.

</details>

<details>

<summary>An award never completes</summary>

It is probably waiting on a prerequisite, or outside its time window. Check `requires` and `window`, and look for a circular-prerequisite warning in the console at startup.

Progress is held rather than lost, and completes the moment the prerequisite does.

</details>

<details>

<summary>Every row says 0% of players have this achievement</summary>

The percentage stays at zero until at least `Config.GlobalStats.minPopulation` characters exist on your server. On a brand new server "33% of players" would be noise rather than information.

</details>

<details>

<summary>The leaderboard is empty, or names are missing</summary>

An empty board means nobody has completed an award yet. If people have, check that `Config.Leaderboard.enabled` is `true` and that `oxmysql` is reachable — the ranking is a database query, not an in-memory list.

Names come from your framework's character table. If they read as the last name a player was seen under, or as `Unknown player`, that table is not where this resource expects it — set `Config.GlobalStats.playersTable` to its real name.

</details>

<details>

<summary>A player earned an award but never got the item</summary>

Their inventory was full at that moment. The award keeps the reward unclaimed and shows a **Claim** button in the menu — they collect it once they have room, even days later. See [Claiming Rewards](/mango5m-docs/resources/mango-achievements/features/claiming-rewards.md).

If the item never arrives even with space free, the item name is probably not one your inventory knows. Turn on `Config.Debug` and the console names the item and the inventory that refused it.

</details>

<details>

<summary>Nothing happens when I call an export</summary>

Check the player has finished loading with `IsLoaded(src)` — progress rows load just after their character does, and calls before that are ignored.

Turn on `Config.Debug` and the console will say exactly what arrived and what was ignored.

</details>

<details>

<summary>Revives, robberies or paychecks never register</summary>

Those come from your other resources, and the event names have to match. Open `config/integrations.lua` and add yours to the relevant list.

Some frameworks fire no event at all for certain actions — ESX has no paycheck event, for instance. Where that happens the config file says so and offers a fallback.

</details>

<details>

<summary>A player's identifier could not be resolved</summary>

The framework had not finished loading them, or in standalone mode they have no identifier of the configured type. Try `Config.StandaloneIdentifier = 'license'`.

</details>

<details>

<summary>Detection is not firing for crimes or the summit</summary>

Turn on `Config.Debug`. Every detector report prints to the client console, and any rejection prints on the server with the reason — that tells you in one line whether the game is reporting or the server is refusing.

</details>

## Still stuck?

Join the Discord and open a ticket — [discord.gg/sZn2A543De](https://discord.gg/sZn2A543De)
