Aller au contenu

Installer la passerelleJeu

Installer la ressource supermdt-bridge sur ton serveur FiveM : prérequis, téléchargement et vérification de l’archive, clé de passerelle, server.cfg, jobs, mise à jour et diagnostic.

Sur cette page12
  1. Prérequis
  2. Télécharger la passerelle
  3. Installer
  4. Relier les jobs aux services
  5. Quand les réglages s’appliquent
  6. La page Configuration › Jeu
  7. Mettre à jour la passerelle
  8. L’ordre des ensure
  9. Remplacer ou révoquer la clé
  10. Diagnostiquer
  11. Erreurs courantes
  12. Ce que la passerelle fait pour rester légère

La passerelle supermdt-bridge est une ressource FiveM à installer une fois sur ton serveur. Compte un quart d’heure. Tu dois avoir accès aux fichiers du serveur (dossier resources, server.cfg) et être administrateur de ton organisation SuperMDT.

Framework ESX Legacy, QBCore ou Qbox. Aucun autre (voir Intégration au jeu).
OneSync Activé (onesync on). Sans OneSync, tout marche sauf les positions de la carte en direct.
Artefacts FXServer Assez récents pour Node 22 (node_version '22'). Sur un artefact plus ancien, seules les positions sont coupées.
SuperMDT Une organisation avec au moins un service, et l’intégration au jeu activée.
screencapture ou screenshot-basic Facultatif : seulement pour les photos prises en jeu. screencapture est recommandée.

La passerelle se télécharge sur le site de SuperMDT, en archive ZIP :

Fichier Adresse
La dernière version (lien permanent) https://supermdt.fr/downloads/supermdt-bridge-latest.zip
Une version précise https://supermdt.fr/downloads/supermdt-bridge-<version>.zip (par exemple supermdt-bridge-0.8.0.zip)
L’empreinte de cette version https://supermdt.fr/downloads/supermdt-bridge-<version>.zip.sha256
La version en cours, son empreinte et sa taille https://supermdt.fr/downloads/supermdt-bridge.json

L’étape Télécharger la passerelle de la mise en route affiche le fichier, sa version, sa taille et son Empreinte SHA-256, avec le bouton de téléchargement et le lien permanent.

Décompresse l’archive dans le dossier resources de ton serveur : tu dois obtenir resources/supermdt-bridge/fxmanifest.lua. Garde ce nom de dossier exact, sans dossier en double (supermdt-bridge/supermdt-bridge).

Pour t’assurer que l’archive n’a été ni abîmée ni modifiée, calcule son empreinte et compare-la à celle affichée dans SuperMDT (ou dans supermdt-bridge.json) :

Fenêtre de terminal
# Linux, Git Bash (macOS : shasum -a 256)
sha256sum supermdt-bridge-0.8.0.zip
# avec le fichier .sha256 téléchargé à côté
sha256sum -c supermdt-bridge-0.8.0.zip.sha256
Fenêtre de terminal
# Windows (PowerShell) : même valeur, affichée en majuscules
Get-FileHash .\supermdt-bridge-0.8.0.zip -Algorithm SHA256

Si les deux empreintes diffèrent, ne l’installe pas : télécharge-la de nouveau.

  1. Active l’intégration. Dans SuperMDT, ouvre Configuration › Jeu et active Activer l’intégration au jeu.

  2. Crée la clé de passerelle. Dans la carte Clé de passerelle, clique sur Générer une clé et copie-la tout de suite : elle n’est affichée qu’une fois. Note aussi l’Adresse de l’API affichée sur la même page.

  3. Copie la ressource. Télécharge l’archive et décompresse-la dans le dossier resources de ton serveur (ou un sous-dossier entre crochets, comme [supermdt]). Garde le nom supermdt-bridge : la tablette n’accepte de s’afficher que dans une ressource qui porte ce nom.

  4. Déclare-la dans server.cfg, après ton framework et après les scripts que la passerelle utilise (inventaire, banque, téléphone, garages, factures, permis, screencapture) :

    # SuperMDT
    set supermdt_url "https://<ton-adresse-api>"
    set supermdt_key "smdt_src_…"
    ensure supermdt-bridge
    # Commandes d’administration de la passerelle
    add_ace group.admin command.supermdt allow
  5. Redémarre le serveur, puis tape supermdt status dans la console. Tu dois y voir le framework détecté, un « Dernier hello » récent et « Relais : … connecté : oui ». Dans SuperMDT, la carte Connexion passe à Connectée en moins d’une minute.

  6. Relie tes jobs à tes services (section suivante).

Convar Rôle Défaut
supermdt_url L’adresse de l’API (obligatoire), en https://. —
supermdt_key La clé de passerelle (obligatoire). —
supermdt_framework auto, esx, qbcore ou qbox. Laisse auto sauf problème de détection. auto
supermdt_debug true : journal détaillé dans la console. false
supermdt_link_command Le nom de la commande de liaison par code. Vide : liaison par code désactivée. mdtlink
supermdt_duty_command Le nom d’une commande de prise et fin de service fournie par la passerelle (par exemple service), pour un serveur sans point de service. Vide : désactivée. vide

Les autres réglages sont dans trois fichiers de la ressource. Les valeurs par défaut conviennent à la plupart des serveurs : tu n’as rien à y changer pour démarrer.

Fichier Où il est lu Ce qu’il contient
config.lua serveur seulement (jamais envoyé aux joueurs) l’adresse, la clé et le framework (lus dans les convars), les débits vers SuperMDT (Config.Http), l’envoi des joueurs (Config.Players) et des positions (Config.Positions), la liaison par code (Config.Link), les cadences de la tablette, des photos, du dispatch rapide et de la panique, le lecteur de plaques côté serveur, les bracelets, l’impression (Config.Documents) et les intégrations (Config.Integrations : armes, véhicules, virements, permis, amendes, propriétés)
config_shared.lua serveur et joueurs la langue des messages (Config.Locale, fr ou en), la tablette, les photos, le dispatch rapide, le menu SuperMDT, le bouton panique, les points GPS des appels, les touches par défaut sur ESX (Config.FrameworkKeys) et le lecteur de plaques côté joueur
config_alerts.lua serveur et joueurs les alertes du jeu : scripts de dispatch et téléphones écoutés, détections de la passerelle

config_shared.lua et config_alerts.lua sont envoyés aux joueurs : n’y mets rien de secret. Chaque intégration et chaque fonction en jeu doit aussi être activée dans SuperMDT : ces fichiers servent seulement à les couper côté serveur de jeu.

Après une modification d’un de ces fichiers, redémarre la ressource (ensure supermdt-bridge, ou refresh puis ensure si tu as ajouté des fichiers).

La passerelle doit savoir quel métier du framework correspond à quel service. Dans Configuration › Jeu, carte Jobs et services :

  1. Clique sur Relier un job.
  2. Dans Job du framework, tape le nom du métier tel qu’il existe dans le framework, en minuscules : police, sheriff, ambulance…
  3. Choisis le Service.
  4. Facultatif, dans Grades : associe un grade du framework (numéro ou nom) à un grade du MDT. C’est affiché sur la fiche Joueur (grade attendu, écart éventuel) ; le grade du MDT n’est pas changé automatiquement.
  5. Enregistrer.

Un job n’appartient qu’à un seul service ; un service peut avoir plusieurs jobs (police et sheriff, par exemple). Sans job relié, la passerelle envoie bien les joueurs et leurs personnages, mais ne met personne en service et n’envoie aucune position : la console affiche « Aucun métier relié à un service ».

Pour retirer un job : ouvre-le, puis maintiens Retirer ce job.

La passerelle relit les réglages de SuperMDT (jobs, intervalle des positions, options de la tablette, intégrations) à chaque présentation (« hello »). SuperMDT la prévient dès qu’un réglage change : le changement arrive en jeu en quelques secondes, et les joueurs déjà connectés le voient sans se reconnecter (30 secondes au plus si la carte en direct est coupée). Elle se présente aussi au démarrage puis toutes les 10 minutes. supermdt hello dans la console du serveur force une présentation tout de suite.

Tout le réglage du jeu côté SuperMDT tient sur une page (permission Administration déléguée › Régler le jeu, ou administrateur). Tant que l’intégration est coupée, seule la première carte s’affiche.

Carte Ce qu’elle contient Détails
Intégration au jeu L’interrupteur Activer l’intégration au jeu. Intégration au jeu
Connexion L’état de la passerelle : Connectée (contact il y a moins de 5 minutes), Silencieuse (plus ancien) ou Jamais connectée ; le framework et sa version, la ressource et sa version, le nom du serveur, la Dernière présentation, et l’Adresse de l’API avec Copier. ci-dessus
Clé de passerelle Générer une clé, Remplacer la clé, Révoquer. plus bas
Jobs et services Les jobs du framework reliés aux services (Relier un job). plus haut
Positions L’Intervalle d’envoi (secondes) des positions, de 10 à 300 (60 par défaut) : c’est le même réglage que la carte en direct (Réglages de la carte). Service et positions
En jeu Photos prises en jeu et Dispatch rapide. Tablette en jeu
Intégrations Armes, véhicules, virements, permis, amendes et soins, lecteur de plaques, propriétés, et la ligne Alertes et dispatch : pour chacune, le script détecté et son niveau de prise en charge. Intégration au jeu et la page de chaque intégration
Installation Les trois étapes et les lignes de server.cfg, avec l’adresse de ton API (et la clé, juste après l’avoir générée) ; Guide d’installation ouvre cette page. ci-dessus
Joueurs Les comptes de jeu vus par la passerelle ou saisis à la main. Comptes et personnages
  1. Télécharge la nouvelle version (le lien permanent supermdt-bridge-latest.zip suit toujours la dernière) et remplace le dossier supermdt-bridge par celui de l’archive.
  2. Dans la console du serveur, tape refresh, puis ensure supermdt-bridge (ou redémarre le serveur).

La passerelle détecte les scripts démarrés avant elle. Mets ensure supermdt-bridge après :

  1. le framework (es_extended, qb-core ou qbx_core) et oxmysql ;
  2. l’inventaire (ox_inventory, qb-inventory…), les véhicules (qbx_vehicles), la banque, le téléphone, les permis, les factures ;
  3. screencapture ou screenshot-basic, pour les photos en jeu.

Si un de ces scripts démarre après, la passerelle le verra à sa prochaine présentation (10 minutes, ou supermdt hello). Au démarrage, elle attend le framework jusqu’à 60 secondes.

Dans la carte Clé de passerelle : Remplacer la clé crée une nouvelle clé et coupe aussitôt l’ancienne ; Révoquer (bouton à maintenir) la coupe sans la remplacer. Après un remplacement, mets la nouvelle clé dans supermdt_key, puis tape supermdt hello : la passerelle relit la clé sans redémarrer.

La même clé sert aux joueurs, à la prise de service, à la tablette et aux positions de la carte en direct.

Ces commandes sont réservées à la console et aux joueurs autorisés par la ligne add_ace group.admin command.supermdt allow. Aucune n’affiche la clé.

Commande Effet
supermdt status L’état complet : framework, dernier hello, jobs reliés, joueurs, relais des positions, tablette, photos, dispatch rapide, points GPS des appels, bouton panique, alertes du jeu (scripts écoutés, classés testés en jeu, vérifiés sur le code ou expérimentaux ; écoutes et téléphones actifs ou coupés ; détections ; compteurs), lecteur de plaques (actif ou non, et pourquoi), propriétés, bracelets, documents imprimés, téléphone utilisé pour les numéros, et chaque intégration (script détecté, activée ou non, compteurs, niveau de prise en charge du script utilisé).
supermdt log [n] Les n dernières lignes du journal (15 par défaut, 100 au plus).
supermdt hello Relit la clé et redemande les réglages à SuperMDT.
supermdt resync Renvoie tous les joueurs et toutes les positions ; relit et renvoie tout de suite les véhicules, logements et permis de chaque personnage connecté (même inchangés) et relit les inventaires d’armes.

Récapitulatif de ce que la passerelle ajoute en jeu, avec les réglages d’origine. Chaque touche se change par joueur dans Paramètres › Raccourcis clavier › FiveM (sous le libellé indiqué, dans la langue de Config.Locale) ; le choix du joueur l’emporte ensuite. Une action sans touche par défaut reste attribuable.

Commande Ce qu’elle fait Touche par défaut (QBCore, Qbox) Sur ESX Réglage
/mdt Ouvrir ou fermer la tablette (« Ouvrir ou fermer la tablette SuperMDT ») F6 F4 Config.Tablet.command, key
/dispatchrapide Afficher ou masquer le dispatch rapide ; /dispatchrapide position ouvre la disposition du HUD F7 aucune Config.QuickDispatch.command, key
supermdt_status_1 à _9 Donner le n-ième statut du service depuis le dispatch rapide aucune (seulement celles de statusKeys) aucune Config.QuickDispatch.statusKeys
supermdt_menu Ouvrir le menu SuperMDT (« Menu SuperMDT ») F9 aucune Config.Menu.key
/mdthud (supermdt_layout) Ouvrir la disposition du HUD aucune aucune Config.Menu.layoutCommand, layoutKey
/panique (supermdt_panic) Déclencher le bouton panique ; /panique son coupe ou rétablit le son des alertes des collègues F10 aucune Config.Panic.command, keyEnabled, key
/supermdt_panic_sound Couper ou rétablir le son des alertes des collègues, quand /panique est désactivée — — —
supermdt_waypoint_clear Retirer le point GPS de l’appel (« Retirer le point GPS SuperMDT ») sans désengager l’unité aucune aucune Config.Waypoints.clearKey
supermdt_plate_toggle Activer ou couper le lecteur de plaques intégré aucune aucune Config.PlateReader.key
supermdt_plate_lock_front, supermdt_plate_lock_rear Verrouiller ou déverrouiller la caméra avant ou arrière aucune aucune lockFrontKey, lockRearKey
supermdt_plate_open Ouvrir la fiche du véhicule signalé Page haut Page haut Config.PlateReader.openKey
/supermdt_plate_sound Couper ou rétablir le son des alertes de plaque — — —
/mdtlink <code> Relier son compte de jeu — — convar supermdt_link_command
/service (nom au choix) Prendre ou quitter son service (désactivée par défaut) — — convar supermdt_duty_command
supermdt_client [debug] Diagnostic, dans la console F8 du joueur (voir plus bas) — — —

Sur ESX, les touches F6, F7, F9 et F10 sont déjà prises par les scripts de base : voir Les touches sur ESX (Config.FrameworkKeys).

supermdt_client affiche ce que la tablette sait proposer à ce joueur : tablette ouverte ou non, photos en jeu annoncées ou non (et par quelle ressource de capture), dispatch rapide annoncé ou non, et l’état du point GPS des appels (supermdt_client debug active ses traces). C’est la commande à demander à un agent qui ne voit pas un bouton.

Ce que tu vois Cause probable Que faire
« Adresse de l’API absente » ou « Clé de passerelle absente » Convar manquant ou mal orthographié Vérifie set supermdt_url et set supermdt_key, puis redémarre la ressource.
« Adresse de l’API invalide » Adresse sans https:// (http:// n’est accepté que pour localhost) Copie l’Adresse de l’API affichée dans Configuration › Jeu.
« Framework non pris en charge ou introuvable » Le framework démarre après la passerelle, ou n’est pas ESX, QBCore ni Qbox Mets ensure supermdt-bridge après le framework.
« Clé de passerelle refusée » Clé révoquée, remplacée ou mal copiée Génère une nouvelle clé, mets-la dans supermdt_key, puis supermdt hello.
« Intégration au jeu désactivée dans SuperMDT » L’interrupteur de Configuration › Jeu est coupé Active-le : la passerelle réessaie seule toutes les 30 secondes (ou supermdt hello).
« Organisation suspendue » Abonnement ou organisation suspendus Vérifie l’état de ton organisation.
« Aucun métier relié à un service » Aucun job relié Relie tes jobs, puis supermdt hello.
Une nouveauté n’apparaît pas après une mise à jour Pas de refresh refresh, puis ensure supermdt-bridge.
« Relais : … connecté : non » Pare-feu sortant, artefact sans Node 22 supermdt log donne le code d’erreur ; mets à jour les artefacts.
« Positions : non » Carte en direct désactivée, ou OneSync coupé Active la carte en direct dans SuperMDT ; onesync on.
La tablette reste vide Ressource renommée Garde le nom supermdt-bridge.
« Limite de débit atteinte » Trop de requêtes pour l’organisation La passerelle fait une pause seule.
Configuration › Jeu : « Aucune ressource compatible détectée » Script absent, arrêté ou démarré après la passerelle ensure ce script avant la passerelle, puis supermdt hello.

Les erreurs propres à la liaison des comptes, à la tablette et à chaque intégration sont sur leurs pages.

  • Au plus 5 requêtes par seconde vers SuperMDT, avec une file bornée ; elle attend seule si SuperMDT demande de ralentir, et réessaie avec un délai croissant en cas de panne.
  • Elle ne croit jamais ce qu’envoie un joueur : elle relit tout dans le framework, côté serveur. La clé ne quitte jamais le serveur de jeu.
  • Les positions ne sont jamais enregistrées dans la base de SuperMDT : elles restent en mémoire dans le relais de la carte.
Configuration › Jeu, de haut en bas