Doorbell
Doorbell
Visitors can knock / ring at a property door. The owner picks a doorbell sound, a built-in preset or a custom audio URL, and occupants inside hear it ring.
Configured in shared/doorbell.lua.
Ringing a door
- A visitor at the entrance chooses Knock (from the door/unit menu).
- The ring plays only for people inside the property, at
Config.Doorbell.InsideVolume(0.7). - The person ringing always hears a quiet feedback copy
(
Config.Doorbell.KnockerVolume, 0.35), even at an empty house. - An empty house rings for nobody (there's no positional/neighbour audio, this is deliberate).
Choosing the sound (owner)
- Radial → Property → Doorbell, or the tablet property page → Doorbell section (managers only). A Test button previews the choice locally.
- Pick a preset or (if enabled) paste a custom URL.
Presets
Defined in shared/doorbell.lua. Leave url = '' to use built-in audio, or point
each preset at your own CDN link:
Config.Doorbell = {
enabled = true,
InsideVolume = 0.7,
KnockerVolume = 0.35,
DefaultPreset = 'classic',
Presets = {
classic = { label = 'Classic Chime', url = '' },
ding = { label = 'Ding-Dong', url = '' },
buzzer = { label = 'Apartment Buzzer', url = '' },
knock = { label = 'Knock Knock', url = '' },
chime = { label = 'Soft Chime', url = '' },
},
-- …
}Custom URL (optional, off by default)
AllowCustomUrl = true,
Custom = {
MaxUrlLength = 300,
AllowedHosts = { -- empty = allow any host
'cdn.discordapp.com', 'media.discordapp.net',
'files.catbox.moe', 'youtube.com', 'youtu.be',
},
},The URL is validated against the host allowlist and length cap server-side.
xsound is required for custom-URL audio and per-listener volume control.
Without xsound, doorbells fall back to a fixed-volume stock chime and the
InsideVolume/KnockerVolume settings stop applying.
The selected sound is stored per property, so every door can ring differently.