Installation
Requirements
oxmysql— the only hard dependency. It stores placed decks.- A framework — VORP, RSG Core or RedEM:RP — or none at all. The resource detects what is running at startup and falls back to standalone mode when nothing is.
Nothing else. No audio resource, no UI library, no CDN scripts.
1. Database
Run install.sql against your database. It creates the rm_phonograph_decks table.
The INSERTs at the bottom are VORP-specific
They register the items in VORP's items table. Skip them on other frameworks.
2. Items
This is the only per-framework chore.
| Framework | What to do |
|---|---|
| VORP | Nothing extra — the install.sql INSERTs covered it |
| RSG Core | Add phonograph and the four record_* items to rsg-core/shared/items.lua |
| RedEM:RP | Register the same item names in your inventory's item config |
| Standalone | Nothing — there are no items; placement uses a command |
The item names must match config/cabinets.lua (phonograph) and the keys of config/records.lua:
phonograph
record_camptown
record_entertainer
record_clementine
record_gymnopedie3. Icons
Copy everything from inventory_icons/ into your inventory's item-image folder — on VORP that is:
vorp_inventory/html/img/items/Five 128×128 transparent PNGs. The filenames already match the item names.
Restart your inventory resource afterwards.
4. Start order
Ensure the resource after your framework and oxmysql:
ensure oxmysql
ensure vorp_core # or rsg-core / redem_roleplay / nothing
ensure rm_phonographIt recovers from the wrong order, but don't rely on it
If the framework comes up after this resource, the bridge notices and switches over from standalone automatically. The correct ensure order is still the reliable path.
5. Staff access
Grant the ace to your admin group in server.cfg:
add_ace group.admin rm_phonograph.admin allowOr list character identifiers in Settings.access.admins instead — see Configuration.
6. Configure
Open config/settings.lua and set at least:
language—en,de,es,fr,itorpt- The record URLs in
config/records.lua
Records with no URL are skipped
An entry with an empty url never appears on the shelf. Every one of them is named in the server console at boot, so check that line.
That's it
The web overlay ships prebuilt in web/dist/. You do not need Node.js unless you plan to modify the UI — see the Developer Guide.
Verifying
- Use the phonograph item from your bags — you should carry the cabinet with a ghost preview.
- Hold [R] to set it down.
- Press [R] at the placed cabinet to open the deck.
- Click a record sleeve and confirm a second player nearby hears the same track.
If any of that does not happen, Troubleshooting works through it.
Escrow note
INFO
On the RedM Escrow edition ($20), config/, locales/, server/frameworks/ and install.sql are open for editing; the rest of the Lua is protected by CFX Escrow.
Everything in this documentation that tells you to edit a file only ever points at those. The Open Source edition ($40) ships the full codebase.