# Permissions & administration

## Les 6 actions
| Action | Donne accès à |
|---|---|
| `extinguish` | Agents réservés (mousse) |
| `dispatch` | Recevoir les appels incendie ; compte comme pompier pour le générateur |
| `stop` | `/fire stop`, `/fire stopall`, `/fire list`, liste des interventions dans le menu |
| `start` | Allumer un feu (commande, menu, placement) |
| `scenario` | Créer, lancer, supprimer des scénarios |
| `spawner` | Activer / désactiver le générateur aléatoire |

Le menu `/mfire` n'affiche que ce que le joueur a le droit de faire, et **chaque clic est revérifié par le serveur**.

## ACE (tous les modes)
```cfg
add_ace group.admin masterfire.admin allow             # toutes les actions
add_ace group.pompiers masterfire.firefighter allow    # extinguish + dispatch
add_principal identifier.license:xxxx group.pompiers
```

## Sans restriction métier
`Config.JobRestriction = false` (ou framework `standalone`) : tout le monde peut éteindre, les appels et l'administration passent **uniquement** par les ACE ci-dessus.

## Avec restriction métier
`Config.JobRestriction = true` : chaque action exige le grade minimum indiqué par métier.

```lua
Config.AuthorizedJobs = {
    ['pompier']   = { extinguish = 0, dispatch = 0, stop = 3, start = 4, scenario = 4, spawner = 4 },
    ['ambulance'] = { dispatch = 2 },
}
Config.RequireOnDuty = true -- QBCore / QBox : il faut être en service
```

Une action absente pour un métier lui est interdite. Les ACE restent prioritaires.

## Mode développement
`Config.BypassPermissions = true` donne **tous les droits à tous les joueurs**, pour tester sans rien configurer. Un bandeau rouge s'affiche dans le menu et un avertissement dans la console. **À remettre à `false` avant d'ouvrir le serveur.**

## Journaux
- **Votre Discord** : `set masterfire_webhook "https://discord.com/api/webhooks/…"` dans `server.cfg`. Vous recevez la création des feux, les rapports d'intervention (durée, foyers, intervenants, agents, phénomènes) et les comportements suspects (impact hors de portée…).
- Le webhook ne se met **jamais** dans les fichiers de config.