Installation
Install MrPoulpi Labs PMMS — pmms and httpmanager folders, server.cfg lines, permissions, Discord webhook, data files and a first two-player test.
On this page
Goal: get PMMS running on your server and check synchronised playback.
Files involved: the archive’s [pmms] folder and your server.cfg.
Requirements
| Item | Requirement observed in the archive |
|---|---|
| httpmanager | Required (dependency "httpmanager"), shipped in the archive. pmms/server.lua calls its createHttpHandler export at start. |
| Game | GTA V (FiveM) or RedM: the manifest declares gta5 and rdr3. |
| Framework | None: rights go through FiveM ACEs. |
| Chat | Optional: /pmms_presets and command suggestions use the default chat events. |
Steps
Copy the
[pmms]folder intoresources. Keep thepmmsandhttpmanagernames in lowercase: pmms NUI callbacks depend on the exact resource name.Add to
server.cfg:exec @pmms/permissions.cfg set pmms_webhook "" ensure httpmanager ensure pmmspermissions.cfgitself ends withset pmms_webhook "": yoursetline must therefore come after theexecto take effect.Review the permissions. The shipped
permissions.cfglets every player play any URL (pmms.customUrlandpmms.anyUrl). To restrict it, see Permissions and URLs.Discord logs (optional): replace the empty value with your webhook:
set pmms_webhook "https://discord.com/api/webhooks/…"Use
set, neversetr, and do not put the webhook inconfig.lua: that file is sent to clients.Data files:
models.jsonanddefaultMediaPlayers.jsonreceive the settings saved in game. They are empty in the archive. The server must be able to write in the resource folder.Start the server, or run
refreshthenensure httpmanagerandensure pmmsin the console.
First test
- Server console and F8: no red error when
httpmanagerandpmmsstart. - Go near a radio or a speaker (
prop_boombox_01for example) or get into a vehicle, then press Q (or type/pmms): the panel opens and lists the nearby player. - Paste a YouTube URL and start playback: the sound comes from the entity and fades as you walk away.
- With a second player next to you: they hear the same media, at the same time.
- In front of a game TV (
prop_tv_flat_01), enable video: the picture shows on the screen. - If the webhook is set: a “Lien PMMS lancé” message reaches Discord.
Expected result: synchronised playback, spatial sound, video on the screen, log received.
Common mistakes
- Folder renamed to
PMMSor[PMMS]/Pmms: the panel opens but buttons do not respond. Rename in lowercase. - httpmanager missing or stopped:
pmmsdoes not start or shows an error onexports.httpmanager. - Webhook declared before
exec @pmms/permissions.cfg: the file’sset pmms_webhook ""line overwrites it, no log arrives. - Q does nothing: the player already bound another key in Settings › Key Bindings › FiveM, or
Config.keybind.vehicleOnly = trueand they are on foot. - Black video on the screen: the DUI page
https://pmms-dui.mrpoulpiii.frcannot be reached from the client, or the media URL ishttp://(see Integrations).
Updating
Before replacing the resource, back up config.lua, config.server.lua, locales.lua, integrations/, permissions.cfg, and above all models.json and defaultMediaPlayers.json, which hold what your admins saved in game. Carry your settings over into the new files rather than copying the old ones on top.