Kartik Scripts

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.

On this page