Place It Anywhere
A carried prop with a ghost preview, rotation keys and floor raycast snapping. Hold to confirm, and the item only leaves the bag once the server accepts the spot, so cancelling costs nothing.
A carryable phonograph your players set down anywhere: records live in their bags, the needle drop is server-authoritative, and every listener stays in perfect sync, with no audio resource, no UI library, and no framework hard-dependency.
Most music scripts feel like a phone bolted onto 1899. This one behaves like furniture from the period. A player uses the phonograph item, walks the translucent preview to the right spot, turns it with the swing keys, and holds a button to set it down, the item only leaves their bags once the server accepts the placement, so backing out never costs anything.
Standing at a deck opens a painted cabinet interface: engraved brass typography, a shellac disc that swings its tonearm over and turns antique gold while it plays, and a shelf showing the record sleeves the player is actually carrying. Titles for pasted links are resolved server-side through YouTube's public metadata endpoint, so the panel and your Discord log show real song names, never bare URLs.
Under the hood, the server is the single authority on everything: whether you're close enough, whether the deck answers to you, whether a link's host is allowed, whether your queue share is used up. The client's checks only decide which prompts light up, every real decision happens where players can't touch it. Playback state carries a serial number, so stale reports from laggy clients can never kill the wrong track.
Ships with six languages, era typefaces bundled into the overlay, inventory icons for every item, map-bolted saloon decks with job/owner access rules, and a staff toolkit that can inspect, teleport to, silence, or remove any deck on the map.
A carried prop with a ghost preview, rotation keys and floor raycast snapping. Hold to confirm, and the item only leaves the bag once the server accepts the spot, so cancelling costs nothing.
Sleeves in the player's inventory appear on the deck's shelf. The URLs behind them come from server config, so a record cannot be forged.
A server-side clock drives playback. Late arrivals join mid-track and a pause freezes every listener on the same second.
Per-deck and per-player limits, auto-advance when a track ends, skip, and removal of individual entries.
Configurable range and rolloff, plus vinyl crackle generated with WebAudio. No audio file is shipped and no sound resource is needed.
YouTube links through the IFrame API, direct audio files through HTML5. Titles resolve server-side, so the panel shows song names rather than bare URLs.
Distance, deck ownership, allowed hosts and queue share are all decided on the server. Client checks only light up prompts, and playback state carries a serial so a stale report cannot kill the wrong track.
Owner-only mode, per-spot job and identifier rules, and raw-URL permission tiers for everyone, owners or staff.
Hide the record shelf or the link box entirely from config. The server enforces the same rule, so nothing gets in through a crafted request.
Play cooldowns, URL length and domain allowlist, and an optional maximum track length that auto-advances anything overstaying.
/decks, /deckstop, /deckdel, /decktp, /deckmute and /deckunmute, with optional Discord webhooks for placements and plays, thumbnails included.
English, German, Spanish, French, Italian and Portuguese, with VORP, RSG-Core, RedEM:RP or standalone chosen at startup and late-starting frameworks picked up automatically.
No. Streaming, the interface and notifications are all built into the resource's own overlay.
The first request starts the track and the second lands in the queue. The server serializes everything, so there is no race.
Not unless you let them. Public spots can be records-only, link pasting can be restricted to owners or staff, you can allowlist domains, and a maximum track length can auto-advance anything that overstays.
Each framework lives in one small file with a documented surface, so a renamed export means editing that one file. Every reach into an inventory is guarded, so a missing export degrades to a refusal rather than a script error.
Player-placed cabinets are stored in the database and reload on start. What was playing does not resume: the needle lifts with the restart.
Yes. The panel art, disc, tonearm and emblem are PNG and SVG files under web/src/art/. Swap them and run one build command.
Yes. Identity falls back to the license identifier, placement binds to a command instead of a usable item, and the whole record catalogue opens to everyone since there are no inventories.
Still stuck? Ask in our Discord and we will answer.
No reviews yet. Using RedM phonograph? Share your experience on Discord.
Painted cabinet interface, synchronized pause and per-deck muting.
First release.