MrPoulpi Labs
PMMS

Scripts disponibles

EN
Centre de documentation

Référence de configuration PMMS

Tous les réglages de config.lua et config.server.lua de PMMS avec leur valeur dans l’archive, leurs bornes, le côté qui les lit et leur effet réel.

But : connaître chaque réglage, sa valeur livrée et son effet réel. Fichiers : pmms/config.lua (chargé par le client et le serveur) et pmms/config.server.lua (serveur uniquement). Redémarrez la ressource après une modification : restart pmms.

Les bornes indiquées « serveur » sont appliquées par le serveur au démarrage d’un lecteur : une valeur hors bornes est ramenée à la limite, une valeur absente prend le défaut.

Jeu

Paramètre Type Défaut Effet
Config.isRDR boolean auto Détection automatique RedM / GTA V, calculée par IsDuplicityVersion() and GetConvar("gamename", "gta5") == "rdr3" or not TerraingridActivate. Côté client, vaut true si la native TerraingridActivate n’existe pas (RedM). Elle sert de valeur de départ à enableFilterByDefault, defaultModel et allowPlayingFromVehicles. Ne la remplacez pas par une valeur fixe sans raison.
Côté serveur, l’expression se termine par « or not TerraingridActivate » : cette native n’étant pas une native serveur, le résultat serveur est true même sur GTA V. Voir Dépannage.
Lu par : client + serveur — config.lua

Détection des lecteurs

Paramètre Type Défaut Effet
Config.maxDiscoveryDistance number
mètres
30.0 Distance maximale à laquelle un lecteur inactif apparaît dans le panneau, et rayon de recherche du « lecteur le plus proche » utilisé par les commandes play, pause et stop.
Lu par : client — config.lua

Son et portée

Paramètre Type Défaut Effet
Config.defaultSameRoomAttenuation number 4.0 Multiplicateur d’atténuation par défaut quand l’auditeur est dans la même pièce que le lecteur. Plus la valeur est haute, plus le son baisse vite avec la distance.
Bornes : 0 à 10 (borne serveur)
Lu par : serveur — config.lua
Config.defaultDiffRoomAttenuation number 6.0 Multiplicateur d’atténuation par défaut quand l’auditeur est dans une autre pièce (intérieur différent, ou hors du véhicule qui joue).
Bornes : 0 à 10 (borne serveur)
Lu par : serveur — config.lua
Config.defaultRange number
mètres
30.0 Portée par défaut d’un lecteur actif : au-delà, il n’est plus entendu ni affiché.
Bornes : 0 à maxRange
Lu par : serveur — config.lua
Config.maxRange number
mètres
140.0 Portée maximale qu’un joueur ou un export peut définir ; toute valeur supérieure est ramenée à ce plafond. Sert aussi au calcul de defaultMediaPlayerSpawnDistance. La ressource d’origine utilisait 200.
Lu par : client + serveur — config.lua
Config.defaultDiffRoomVolume number 0.25 Écart de volume de base entre la même pièce et une pièce différente.
Bornes : 0 à 1 (borne serveur)
Lu par : serveur — config.lua
Config.enableFilterByDefault boolean Config.isRDR Filtre « immersif » appliqué quand l’option filter n’est pas précisée : effet radio (son mono et bande passante réduite) sur GTA V, phonographe avec teinte sépia sur RedM. Vaut false sur un client GTA V.
Le serveur applique sa propre valeur aux lecteurs lancés sans filter (exports, lecteurs par défaut) ; avec isRDR évalué à true côté serveur, ces lecteurs démarrent filtrés. Précisez filter = false dans les options.
Lu par : client + serveur — config.lua

L’atténuation et la portée se règlent aussi par lecteur dans le panneau, par modèle dans Config.models, ou par option de lancement (voir Commandes).

Vidéo

Paramètre Type Défaut Effet
Config.defaultVideoSize number 30 Taille par défaut de l’écran vidéo NUI affiché au-dessus de l’entité, utilisé quand le modèle n’a pas de renderTarget.
Bornes : 10 à 100 (borne serveur)
Lu par : serveur — config.lua
Config.defaultScaleformName string "pmms_texture_renderer" Scaleform utilisé pour afficher une vidéo sur un écran libre (stream/pmms_texture_renderer.gfx).
Lu par : client — config.lua

Modèles, presets et lecteurs par défaut

Paramètre Type Défaut Effet
Config.models table { … } (122 modèles) Modèles d’entités utilisables comme lecteurs, indexés par hash. Champs facultatifs : label, renderTarget, filter, volume, attenuation, diffRoomVolume, range, isVehicle, scaleform. 102 modèles déclarent un renderTarget (écran).
Lu par : client + serveur — config.lua
Config.defaultModel hash Config.isRDR and `p_phonograph01x` or `prop_boombox_01` Modèle créé par l’export createMediaPlayer et par les lecteurs par défaut à faire apparaître quand aucun model n’est précisé. Sur GTA V : prop_boombox_01.
Lu par : client — config.lua
Config.presets table {} Médias prédéfinis, indexés par un nom court. url obligatoire ; title, filter, video facultatifs. Sans la permission pmms.customUrl, un joueur ne peut jouer que ces presets.
Lu par : client + serveur — config.lua
Config.defaultMediaPlayers table {} Lecteurs placés par la configuration : position obligatoire, puis label, spawn, model, rotation, invisible, url, title, volume, offset, loop, filter, locked, video, videoSize, muted, attenuation, range, scaleform. Ceux qui ont une url démarrent avec la ressource.
Lu par : client + serveur — config.lua
Config.defaultMediaPlayerSpawnDistance number
mètres (150 par défaut)
Config.maxRange + 10.0 Distance à laquelle les lecteurs par défaut marqués spawn = true apparaissent et disparaissent autour du joueur.
Lu par : client — config.lua

Le format détaillé de ces tables et des exemples copiables sont dans Modèles, écrans et presets.

Page DUI

Paramètre Type Défaut Effet
Config.dui.urls.https string "https://pmms-dui.mrpoulpiii.fr" Page DUI chargée par chaque client pour afficher une vidéo https:// sur un écran (renderTarget ou scaleform). Le client dépend de la disponibilité de cette page externe.
Lu par : client — config.lua
Config.dui.urls.http string absent Page DUI pour les médias http://. Absente : le client utilise http://<serveur>/pmms/dui/, servie par httpmanager depuis pmms/http/dui, dossier que l’archive ne contient pas.
Lu par : client — config.lua
Config.dui.screenWidth number
pixels
1920 Largeur du navigateur DUI (1280 dans la ressource d’origine).
Lu par : client — config.lua
Config.dui.screenHeight number
pixels
1080 Hauteur du navigateur DUI (720 dans la ressource d’origine).
Lu par : client — config.lua
Config.dui.timeout number
millisecondes
30000 Attente maximale de la connexion à la page DUI. Au-delà, F8 affiche « Failed to initialize DUI browser ».
Lu par : client — config.lua

Commandes

Paramètre Type Défaut Effet
Config.commandPrefix string "pmms" Nom de la commande principale et préfixe des autres. Le raccourci clavier exécute cette commande. Si vous le changez, renommez les entrées command.pmms… de permissions.cfg.
Lu par : client + serveur — config.lua
Config.commandSeparator string "_" Séparateur entre le préfixe et le nom de commande (pmms_play).
Lu par : client + serveur — config.lua

Interface

Paramètre Type Défaut Effet
Config.audioVisualizations table { … } (20 visualisations) Visualisations audio proposées (Wave.js). La clé est le type de visualisation ; name est le libellé affiché. Les autres propriétés de l’entrée (type, stroke, colors…) sont transmises telles quelles à Wave.js.
Lu par : interface NUI — config.lua
Config.showNotifications boolean true Affiche les notifications de pmms : erreurs envoyées par le serveur (permission refusée, URL refusée…), « aucun lecteur à proximité », bascule du statut et réinitialisation. L’affichage du volume (/pmms_vol sans valeur) et « aucun preset » restent affichés.
Lu par : client — config.lua
Config.notificationDuration number
millisecondes
5000 Durée par défaut d’une notification envoyée à PMMSBridge.notify.
Lu par : client — config.lua

Immersion

Paramètre Type Défaut Effet
Config.allowPlayingFromVehicles boolean not Config.isRDR Considère les véhicules proches comme des lecteurs. Les véhicules ne passent pas par Config.models ni par la permission pmms.anyEntity : avec true, tout véhicule proche est utilisable.
Lu par : client — config.lua
Config.autoDisableStaticEmitters boolean true Coupe les émetteurs sonores statiques de la carte listés dans staticEmitters.lua (301 entrées) quand un média est audible, puis les rétablit.
Lu par : client — config.lua
Config.autoDisableIdleCam boolean true Empêche la caméra d’inactivité de se déclencher pendant qu’un média est audible.
Lu par : client — config.lua
Config.autoDisableVehicleRadio boolean true Coupe la radio GTA d’un véhicule qui joue un média (sans effet sur RedM).
Lu par : client — config.lua

URL et limites

Paramètre Type Défaut Effet
Config.allowedUrls string[] { youtube.com, youtu.be, twitch.tv } Motifs Lua des URL autorisées pour un joueur qui a pmms.customUrl sans pmms.anyUrl. Avec le permissions.cfg livré, tout le monde a pmms.anyUrl : cette liste n’est alors pas appliquée.
Lu par : serveur — config.lua
Config.oneMediaPerPlayer boolean true Un joueur ne peut lancer (ni mettre en file d’attente) un nouveau média tant que le précédent qu’il a lancé est actif. La place se libère quand ce média s’arrête ou quand le joueur se déconnecte.
Lu par : serveur — config.lua

Config.allowedUrls contient des motifs Lua, pas des expressions régulières : échappez le point avec %., ancrez avec ^ et $.

Config.allowedUrls = {
    "^https?://w?w?w?%.?youtube.com/.*$",
    "^https?://w?w?w?%.?youtu.be/.*$",
    "^https?://w?w?w?%.?twitch.tv/.*$",
    "^https://cdn%.mon%-serveur%.fr/musique/.*%.mp3$"
}

cdn.mon-serveur.fr est un exemple. Cette liste ne s’applique qu’aux joueurs qui ont pmms.customUrl sans pmms.anyUrl.

Raccourci clavier

Paramètre Type Défaut Effet
Config.keybind.enabled boolean true Crée la commande et le raccourci clavier d’ouverture du panneau.
Lu par : client — config.lua
Config.keybind.command string "openPmms" Nom de la commande client liée au raccourci. Elle exécute la commande Config.commandPrefix, donc le joueur doit avoir l’ACE command.pmms.
Lu par : client — config.lua
Config.keybind.label string "Ouvrir Radio/TV" Libellé du raccourci dans Paramètres › Raccourcis clavier › FiveM, passé par locales.lua.
Lu par : client — config.lua
Config.keybind.mapper string "keyboard" Périphérique du raccourci pour RegisterKeyMapping (keyboard, mouse_button, pad_digitalbutton…).
Lu par : client — config.lua
Config.keybind.key string "Q" Touche proposée par défaut. FiveM mémorise le choix de chaque joueur : changer cette valeur n’affecte pas un joueur qui a déjà le raccourci.
Lu par : client — config.lua
Config.keybind.vehicleOnly boolean false true : le raccourci ne fait rien à pied. La commande /pmms reste utilisable partout.
Lu par : client — config.lua

Sur GTA V, Q est aussi la touche « se mettre à couvert » : à pied, le raccourci se déclenche en même temps. Proposez une autre touche ou passez vehicleOnly à true si cela gêne vos joueurs.

Logs Discord

Paramètre Type Défaut Effet
ConfigServer.logsEnabled boolean true Active l’envoi des logs Discord. Rien n’est envoyé tant que la convar pmms_webhook est vide.
Lu par : serveur — config.server.lua
ConfigServer.logName string "PMMS Logs" Nom d’expéditeur du webhook.
Lu par : serveur — config.server.lua
ConfigServer.logColor number 5763719 Couleur de l’embed, en entier décimal (5763719 = #57F287).
Lu par : serveur — config.server.lua
ConfigServer.includeIdentifiers boolean false Ajoute tous les identifiants du joueur (licence, Discord, IP selon le serveur…) à chaque log. Ces données personnelles partent vers Discord : laissez false sauf besoin réel.
Lu par : serveur — config.server.lua

Le webhook lui-même n’est pas dans ce fichier : il est lu dans la convar serveur pmms_webhook (voir Intégrations).

Erreurs fréquentes

  • Préfixe de commande changé sans mettre à jour permissions.cfg : les joueurs n’ont plus le droit d’utiliser les commandes renommées, ni le raccourci.
  • Motif d’URL non échappé (youtube.com au lieu de youtube%.com) : le point accepte n’importe quel caractère, la liste devient plus permissive que prévu.
  • maxRange baissé sous defaultRange : la portée par défaut est ramenée à maxRange.

Rechercher

Tapez un terme : paramètre, export, erreur…