Skip to the content.

D/s Collar - User Guide

Welcome to the D/s Collar system! This guide will help you understand and use all features of your collar, whether you’re a collar wearer or an owner/dominant.


Table of Contents

  1. Introduction
  2. Quick Start Guide
  3. Understanding Access Levels
  4. Basic Operations
  5. Chat Commands
  6. Owner & Access Management
  7. Leash System
  8. RLV Features
  9. Animations & Customization
  10. Safety & Emergency Features
  11. Control HUD (Remote Control)
  12. Configuration & Settings
  13. Troubleshooting
  14. FAQ

Introduction

D/s Collar Modular is a modern, lightweight D/s (Dominant/submissive) collar system for Second Life. It provides comprehensive control features including:

The collar uses a modular architecture with a central kernel and plugins, making it both powerful and efficient.

Key Features


Quick Start Guide

For Collar Wearers

  1. Wear the collar - Attach it to your avatar
  2. Touch the collar - This opens the main menu
  3. Explore available options - You’ll see menus based on your access level
  4. Long-touch (1.5+ seconds) - Access emergency SOS menu at any time

For Owners/Dominants

  1. Touch the collar - Open the main menu
  2. Select “Access” - Access owner management
  3. Claim ownership - Set yourself as owner
  4. Explore features - Leash, RLV, animations, and more
  5. Configure settings - Customize lock, TPE, public access

Understanding Access & Permissions

The collar controls who can do what based on roles and relationships:

Roles

Owner

Trustee

Collar Wearer (When Owned)

Collar Wearer (When Unowned)

Public Users (When Public Mode Enabled)

Blacklisted Users


Basic Operations

Opening the Menu

Regular Touch: Touch the collar once to open the main menu. You’ll see all options you have permission to access.

Long Touch (Emergency): Touch and hold the collar for 1.5+ seconds to access the emergency SOS menu. This works even when you have no normal access.

Main Menu
├── Access         (Owner & trustee management)
├── Leash          (Leashing controls)
├── RLV Relay      (RLV relay settings)
├── Restrict       (RLV restrictions)
├── Exceptions     (RLV bypass rules)
├── Animate        (Animation menu)
├── Bell           (Bell settings)
├── Locked: Y/N    (Lock/unlock toggle)
├── Public: Y/N    (Public access toggle)
├── TPE: Y/N       (Total Power Exchange mode)
├── Status         (View collar status)
├── Blacklist      (Manage blocked users)
├── Maintenance    (View settings)
└── SOS            (Emergency menu - long touch)

Chat Commands

The collar responds to prefixed commands typed in local chat, giving you a quick text-based alternative to touch menus. A chat command opens the exact same menu as navigating there by touch — the collar makes no distinction between the two.

Your Command Prefix

When the collar first starts up it automatically derives a default prefix from the first two characters of the wearer’s username:

Username Default prefix
anne.skydancer an
john.resident jo
phoenix ph

The prefix is saved and can be changed any time through the Chat plugin menu.

Your Private Channel

The collar always listens on a private channel — channel 1 by default. This can be changed to any number from 1 to 9 through the Chat plugin menu. The private channel is never channel 0 (public chat).

Sending Commands

Private channel (always active):

/1 an menu
/1 an lock
/1 an leash

If you change your private channel from 1 to, for example, 3:

/3 an menu
/3 an lock

Channel 0 (public chat — optional):

an menu
anmenu

Both forms are accepted — with or without a space between prefix and command. The collar only responds to recognised commands, so ordinary sentences that happen to start with your prefix are silently ignored.

Available Commands

Any plugin’s display label works as a command (case-insensitive). The alias table is built automatically as each plugin registers at startup, so no configuration is needed:

Command Opens
menu Main collar menu
lock Lock plugin
leash Leash plugin
animate Animation menu
bell Bell settings
restrict RLV restrictions
access Access management
status Status display
chat Chat settings

Full internal context strings also work as a fallback (e.g. /1 an ui.core.lock). This is useful for plugins not shown in the table above or for scripting.

Who Can Use Chat Commands?

Avatars with no ACL record are silently ignored regardless of channel.

Configuring Chat

Changing the prefix (unowned wearer or primary owner only):

  1. Touch collar → Chat
  2. Select Set Prefix
  3. A text input popup will appear — type your new prefix and submit
  4. The new prefix is saved immediately

Trustees cannot access the Chat settings menu. They can still use chat commands normally (e.g. /1 an lock).

Changing the private channel (unowned wearer or primary owner only):

  1. Touch collar → Chat
  2. Select Set Channel
  3. A text input popup will appear — type a number from 1 to 9 and submit
  4. Both the collar script and any authorized speakers must use the new channel number

Channel 0 is reserved for public chat and cannot be used as the private channel.

Enabling public-chat listening (trustees, unowned wearer, or primary owner):

  1. Touch collar → Chat
  2. Select Toggle Public to switch it on or off
  3. The collar will now also listen on channel 0

Note: Public-chat listening and public-access mode are independent settings. Enabling public-chat listening does not grant anyone extra permissions — ACL rules still apply.

Checking current chat settings: Touch collar → Status to see the current prefix, private channel, and public-chat state all in one view.


Owner & Access Management

Setting Ownership

For Unowned Wearers:

  1. Touch collar → Access
  2. Select Add Owner
  3. Select the new owner from the list
  4. Owner will receive a confirmation dialog
  5. Owner clicks Accept to claim ownership
  6. Ownership is established

Important: Once a primary owner is set, the wearer loses the ability to change owners.

Releasing Ownership

Owner-Initiated Release:

  1. Touch collar → Access → Release
  2. Both owner and wearer receive confirmation dialogs
  3. Both must accept to complete the release
  4. Wearer returns to unowned status (full self-control)

Wearer Self-Release (Runaway):

Transferring Ownership

  1. Current owner: Touch collar → Access → Transfer
  2. Touch the new owner avatar
  3. New owner receives offer dialog
  4. Current owner and new owner must both accept
  5. Ownership transfers completely

Managing Trustees

Trustees have elevated permissions but cannot change ownership.

Adding a Trustee:

  1. Owner: Touch collar → Access → Add Trustee
  2. Select the person you want to add from the list
  3. The selected person receives a dialog to accept the role
  4. If they accept, they choose their honorific
  5. Once chosen, they are added as a trustee

Removing a Trustee:

  1. Owner: Touch collar → Access → Rem Trustee
  2. Select trustee from list
  3. They are immediately removed

Multi-Owner Mode

The collar supports multiple owners sharing equal owner access.

Enabling Multi-Owner Mode:

Adding Additional Owners:

Managing the Blacklist

Blacklisted users (ACL -1) are completely blocked from collar interaction.

Adding to Blacklist:

  1. Touch collar → Blacklist → Add
  2. Touch the person to blacklist
  3. They are immediately blocked

Removing from Blacklist:

  1. Touch collar → Blacklist → Remove
  2. Select person from list
  3. They are unblocked

Viewing Blacklist:


Leash System

The D/s Collar Modular features a sophisticated multi-mode leashing system supporting three different leash types.

Leash Modes

1. Avatar Mode (Default)

Leash the wearer to follow another avatar.

To Leash (Avatar Mode):

  1. Touch collar → Leash → Clip
  2. You are now holding the leash
  3. Wearer will follow you automatically

To Unleash:

  1. Touch collar → Leash → Unleash
  2. Or: Wearer uses SOS menu → Unleash

Features:

2. Coffle Mode

Leash one collar to another collar (collar-to-collar).

Requirements:

To Create Coffle:

  1. Touch first collar → Leash → Coffle
  2. Select the second avatar’s collar from the menu list
  3. Coffle is established

Use Case: Chain multiple submissives together in a train.

3. Post Mode

Leash wearer to a fixed object or position.

To Leash to Post:

  1. Touch collar → Leash → Post
  2. Select the object to leash to from the menu list
  3. Wearer is anchored to that position

Use Case: Tether submissive to furniture, poles, or fixed locations.

Leash Settings

Adjusting Leash Length:

  1. Touch collar → Leash → Length
  2. Select from: 1m, 2m, 3m, 5m, 10m, 15m, 20m
  3. Length changes immediately

Turn-to-Face:

  1. Touch collar → Leash → Turn2Face
  2. Toggle ON/OFF
  3. When ON: Wearer automatically faces leash holder

Yank Feature:

Leash Protocols

The collar supports multiple leashing protocols for compatibility:

Who Can Leash?


RLV Features

RLV (Restrained Love Viewer) provides advanced control over the wearer’s viewer capabilities. RLV-compatible viewer required (Firestorm, RLVa, etc.).

RLV Relay

The RLV Relay allows scripted objects (furniture, traps, cages) to send RLV commands that control the collar wearer. The relay is the mechanism that receives and processes these commands.

Relay Modes:

  1. OFF - Relay disabled, furniture cannot control you
  2. ON - Relay enabled, furniture can send RLV commands. Wearer can use safeword to escape
  3. HARDCORE - Relay enabled, but wearer cannot use safeword. Only owners/trustees can release

Setting Relay Mode:

  1. Touch collar → RLV Relay → Mode
  2. Select: OFF or ON
  3. Owners and Trustees can also enable Hardcore mode
  4. Mode persists across sessions

RLV Restrictions

RLV Restrictions directly limit what the wearer can do in Second Life.

Restriction Categories:

Inventory Restrictions

Speech Restrictions

Travel Restrictions

Other Restrictions

Applying Restrictions:

  1. Touch collar → Restrict
  2. Select category: Inventory, Speech, Travel, Other
  3. Select specific restriction
  4. Restriction applies immediately

Removing Restrictions:

  1. Same menu path
  2. Restrictions marked with checkmarks are active
  3. Click active restriction to remove it

Clearing All Restrictions:

RLV Exceptions

Exceptions allow specific people to bypass certain RLV restrictions.

Common Exceptions:

Setting Exceptions:

  1. Touch collar → RLV Exceptions
  2. Select exception type
  3. Choose who gets exception: Owner, Trustees, or Both
  4. Exception applies immediately

Why Use Exceptions?


Animations & Customization

Animation Menu

The collar includes a paginated animation system that automatically detects animations in the collar inventory.

Using Animations:

  1. Touch collar → Animate
  2. You’ll see up to 8 animations per page
  3. Click animation name to play it
  4. Use « / » to navigate pages
  5. Use STOP to stop all animations

Adding Custom Animations:

  1. Edit the collar object
  2. Add your animation files to collar inventory
  3. Animations automatically appear in menu
  4. No script modification required

Animation Access:

Bell System

The collar bell provides visual and audio feedback for movement.

Bell Controls:

  1. Touch collar → Bell
  2. Available options:

Show/Hide Bell:

Bell Sound:

Volume Control:

Bell Settings Persist: All bell preferences are saved and restored after logout/login.


Safety & Emergency Features

SOS Emergency Menu

The most important safety feature of the collar.

Accessing SOS Menu:

  1. Long-touch the collar (hold for 1.5+ seconds)
  2. SOS menu appears even if you have no normal collar access
  3. Available at all times, cannot be disabled

SOS Menu Options:

Unleash

Clear RLV

Clear Relay

When to Use SOS:

Lock/Unlock Feature

The lock prevents unauthorized removal of the collar.

Locking the Collar:

  1. Touch collar → Locked: N (to lock) or Locked: Y (to unlock)
  2. Collar locks/unlocks immediately
  3. If RLV enabled: Prevents detaching collar
  4. Lock state persists

Unlocking the Collar:

  1. Touch collar → Lock (again)
  2. Collar unlocks immediately
  3. Wearer can now detach collar

Who Can Lock/Unlock?

Visual Feedback:

Public Access Toggle

Controls whether strangers can interact with collar.

Enabling Public Access:

  1. Touch collar → Public → Enable
  2. Any nearby person can now use limited features
  3. Status shows “Public: ON”

Disabling Public Access:

  1. Touch collar → Public → Disable
  2. Only owner, trustees, and wearer have access
  3. Status shows “Public: OFF”

Who Can Toggle Public?

What Can Public Users Do?

Total Power Exchange (TPE) Mode

TPE mode gives complete control to the owner by removing wearer’s collar access.

Enabling TPE (Owner):

  1. Touch collar → TPE → Enable
  2. Wearer receives confirmation dialog: “Accept TPE mode? You will have no collar access.”
  3. Wearer must click Accept
  4. Wearer loses all normal collar access
  5. Wearer receives notification: “TPE mode enabled. You have relinquished collar control.”

Disabling TPE (Owner):

  1. Touch collar → TPE → Disable
  2. No wearer confirmation required - owner decision only
  3. Wearer returns to normal owned status
  4. Wearer receives notification: “Your collar access has been restored.”

Important Notes:


Control HUD (Remote Control)

The D/s Collar Control HUD allows owners/trustees to control the collar from a distance.

Setting Up the HUD

  1. Rez the HUD object in Second Life
  2. Add the control HUD script: Drop ds_collar_control_hud.lsl into the object
  3. Wear the HUD: Attach it to your screen position
  4. HUD auto-detects nearby collars automatically

Using the HUD

Auto-Detection:

Remote Menu Access:

HUD Features:

Benefits:


Configuration & Settings

Settings Notecard

The collar supports pre-configuration via a notecard named “settings” in the collar inventory.

Creating Settings Notecard:

  1. Edit the collar object
  2. Create new notecard named exactly: settings
  3. Add configuration in key=value format
  4. Save notecard
  5. Reset collar scripts to load

Settings Notecard Format:

# D/s Collar Settings
# Lines starting with # are comments
# Format: key = value
# IMPORTANT: Do NOT use quotes around UUIDs in plain values or lists.
# UUIDs inside JSON objects (owner/trustees) use JSON syntax with quotes.

# Ownership (JSON object format: {"uuid":"honorific"})
owner = {"a1b2c3d4-e5f6-7890-abcd-ef1234567890":"Master"}
multi_owner_mode = 0

# Access Control
public_mode = 1
# Trustees use JSON object format: {"uuid":"honorific"}
trustees = {"12345678-90ab-cdef-1234-567890abcdef":"Mistress", "abcdef01-2345-6789-abcd-ef0123456789":"Sir"}
blacklist = [fedcba98-7654-3210-fedc-ba9876543210]

# Collar State
locked = 0
tpe_mode = 0
runaway_enabled = 1

# Bell Settings
bell_visible = 1
bell_sound_enabled = 1
bell_volume = 0.3
bell_sound = 16fcf579-82cb-b110-c1a4-5fa5e1385406

Note: RLV relay mode, RLV restrictions, and leash settings (length, turn-to-face) cannot be pre-configured via notecard. These must be set through the collar menus after startup. However, RLV exception settings (ex_owner_tp, ex_owner_im, ex_trustee_tp, ex_trustee_im) can be set via notecard.

Available Settings Keys

Ownership & Access Control:

Key Type Description Example
owner JSON object Owner with honorific (single owner mode) {"uuid":"Master"}
owners JSON object Owners with honorifics (multi-owner mode, notecard only) {"uuid1":"Master", "uuid2":"Mistress"}
multi_owner_mode 0/1 Enable multi-owner (notecard only) 0 = off, 1 = on
trustees JSON object Trusted users keyed by UUID with honorifics {"uuid1":"Sir", "uuid2":"Lady"}
blacklist JSON array Blacklisted UUIDs [uuid1, uuid2]

Collar State:

Key Type Description Example
public_mode 0/1 Public access 0 = off, 1 = on
locked 0/1 Lock state 0 = unlocked, 1 = locked
tpe_mode 0/1 TPE mode 0 = off, 1 = on
runaway_enabled 0/1 Allow wearer self-release 0 = off, 1 = on (default)

RLV Exceptions:

Key Type Description Example
ex_owner_tp 0/1 Owner bypasses TP restrictions 0 = off, 1 = on
ex_owner_im 0/1 Owner bypasses IM restrictions 0 = off, 1 = on
ex_trustee_tp 0/1 Trustees bypass TP restrictions 0 = off, 1 = on
ex_trustee_im 0/1 Trustees bypass IM restrictions 0 = off, 1 = on

Bell Settings:

Key Type Description Example
bell_visible 0/1 Bell visibility 0 = hidden, 1 = visible
bell_sound_enabled 0/1 Bell sound 0 = silent, 1 = enabled
bell_volume Float Bell volume 0.0 to 1.0
bell_sound UUID Bell sound asset UUID 16fcf579-82cb-b110-c1a4-5fa5e1385406

Notes:

Finding Avatar UUIDs

To add UUIDs to the settings notecard:

Method 1: In-World Script

// Touch this prim to get your UUID
default {
    touch_start(integer num) {
        llSay(0, "UUID: " + (string)llDetectedKey(0));
    }
}

Method 2: Viewer Profile

Method 3: Online Tools

Viewing Current Settings

Via Collar Menu:

  1. Touch collar → Maintenance → View Settings
  2. Settings displayed in local chat
  3. Shows all current key-value pairs

What Gets Saved:


Troubleshooting

Common Issues

Collar Not Responding to Touch

Symptoms: Touching collar does nothing.

Solutions:

  1. Check scripts are running (Edit object → Contents → Scripts not in “Not Running” state)
  2. Reset scripts: Right-click → Reset Scripts
  3. Check you’re within touch range
  4. Try long-touch for SOS menu

Symptoms: Clicking menu buttons has no effect.

Solutions:

  1. Wait for menu timeout (60 seconds)
  2. Close menu and re-open
  3. Check for script errors in console
  4. Reset collar scripts

RLV Features Not Working

Symptoms: RLV commands have no effect.

Solutions:

  1. Verify you’re using RLV-compatible viewer (Firestorm recommended)
  2. Check RLV is enabled in viewer preferences
  3. Verify collar detected RLV at startup (check console)
  4. Re-log and reset collar scripts

Leash Doesn’t Follow

Symptoms: Leashed avatar doesn’t follow holder.

Solutions:

  1. Check leash length isn’t too long
  2. Verify holder is moving (leash is pull-based)
  3. Ensure no conflicting animations or AOs
  4. Try unleashing and re-leashing
  5. Check RLV enabled for best follow performance

Can’t Access Own Collar

Symptoms: Wearer can’t open menus.

Solutions:

  1. Check if TPE mode is enabled (removes collar access)
  2. Use SOS menu (long-touch) to check status
  3. If TPE enabled, contact owner to disable
  4. Check you’re not blacklisted (unlikely but possible)

Settings Not Saving

Symptoms: Changes reset after relog or script reset.

Solutions:

  1. ACL data (owners, trustees, blacklist, public mode, TPE) persists in linkset data and should survive relogs and script resets automatically
  2. Other runtime settings persist in script globals across detach/reattach but are lost on script reset or ownership change — edit the settings notecard for values that must survive these events
  3. Check kmod_settings script is present and running
  4. Check object permissions allow script modifications

HUD Not Detecting Collar

Symptoms: Control HUD shows no collars.

Solutions:

  1. Verify collar is within 20 meters
  2. Reset HUD script
  3. Reset collar scripts
  4. Check both HUD and collar scripts running
  5. Ensure collar wearer is in same region

Error Messages

“ACL Denied”

“RLV Not Detected”

“Owner Already Set”

“Timeout Waiting for Response”

“Invalid UUID”

Performance Issues

Lag or Slow Response

Solutions:

  1. Remove unused plugins to reduce script count
  2. Ensure collar is worn as attached prim (not temporary)
  3. Check region script limits aren’t exceeded
  4. Reduce number of active timers (fewer plugins = fewer timers)

Script Memory Errors

Solutions:

  1. LSL scripts have 64KB memory limit per script
  2. Remove custom animations if memory is full
  3. Consider splitting features across multiple collar objects
  4. Remove unused plugins

Getting Help

If problems persist:

  1. Check Documentation: Review this guide and README.md
  2. Check GitHub Issues: https://github.com/anne-skydancer/ds_collar_modular/issues
  3. Report Bugs: Create detailed issue report with:
    • Exact steps to reproduce
    • Error messages from console
    • Viewer version and RLV status
    • Collar revision (check script headers if possible)
  4. Community Support: Contact the collar creator or community

FAQ

General Questions

Q: Do I need RLV to use the collar? A: No. Basic features (owner management, leash, animations, bell) work without RLV. However, RLV features (relay, restrictions) require an RLV-compatible viewer like Firestorm.

Q: Can I customize the appearance of the collar? A: Yes. The collar is a standard Second Life prim object. You can texture it, resize it, and make it invisible. The scripts work independently of appearance.

Q: How many plugins can I add? A: The collar supports unlimited plugins within Second Life’s script limits (typically 64 scripts per object in most regions). Currently there are 13 standard plugins.

Q: Is this compatible with OpenCollar? A: Partially. The leash system supports OpenCollar 8.x holder protocol. However, menus and commands are not compatible. This is a separate, independent collar system.

Q: Can I copy this collar to give to others? A: Check the LICENSE (MIT) and object permissions. Generally yes, but respect creator permissions and attribution.

Ownership Questions

Q: Can I have multiple owners? A: Yes. Enable multi_owner_mode = 1 in settings notecard. All owners have equal owner access.

Q: What happens if my owner disappears/quits SL? A: If unowned access is available, you can use the Runaway feature (if enabled). Otherwise, you’ll need to reset the collar (which clears ownership) or contact the creator for assistance.

Q: Can trustees change ownership? A: No. Only owners can modify ownership. Trustees have elevated control but cannot add/remove owners.

Q: Can I be my own owner? A: If you have no owner set, you already have full owner-level access to your collar. When you set a primary owner, you lose that access level - you cannot add yourself to the owner list or make yourself a trustee. The collar is designed so that only other avatars can be added as owners or trustees.

RLV Questions

Q: What’s the difference between ON and HARDCORE relay modes? A: Both allow external devices to control the collar. HARDCORE mode typically allows more severe/permanent restrictions. Check specific relay device documentation for details.

Q: Can I use a safeword with RLV relay? A: Yes. The collar implements ORG relay specification which includes safeword support. Configure your safeword in your RLV viewer settings.

Q: What if I get stuck in restrictions? A: Use the SOS menu (long-touch collar) → Clear RLV or Clear Relay. This always works regardless of restrictions.

Q: Do RLV exceptions work for everyone? A: No. Exceptions only apply to owner and/or trustees as configured. They bypass specific restrictions only for authorized users.

Leash Questions

Q: What’s the difference between leash modes? A:

Q: Can I be leashed if public mode is off? A: Only by trustees and owners. Public mode must be ON for strangers to leash.

Q: Does leashing require RLV? A: No. Basic leashing works without RLV using movement scripts. RLV enhances the experience but isn’t required.

Q: Can I unleash myself? A: Yes, via the SOS menu (long-touch) → Unleash. This always works as an emergency safety feature.

Safety Questions

Q: Can someone lock me in restrictions permanently? A: No. The SOS menu (long-touch) is always accessible and provides emergency release options regardless of restrictions or access levels.

Q: What if I accidentally enable TPE mode? A: TPE requires wearer confirmation. If enabled, contact your owner to disable it. The SOS menu remains accessible for emergencies.

Q: Can the blacklist be used to trap me? A: No. The blacklist prevents others from accessing the collar. As the wearer, you always retain your own collar access (owned or unowned status) and SOS menu access.

Q: Is my privacy protected? A: The collar operates locally on your avatar. No data is transmitted to external servers. All control is in-world only. Settings are stored in the collar object, not in external databases.

Technical Questions

Q: Why does the collar use so many scripts? A: The modular architecture uses one script per feature (plugin). This improves performance, maintainability, and allows you to remove features you don’t use. Each script is optimized and lightweight.

Q: What are the script memory limits? A: Each LSL script has 64KB memory limit. The collar kernel and modules are optimized to stay well under this limit.

Q: Can I see the source code? A: Yes. The collar is open source. All scripts are available at: https://github.com/anne-skydancer/ds_collar_modular

Q: How do I update to a new version? A: Replace old scripts with new scripts from the latest release. The kernel compatibility ensures plugins work across revisions. Always backup your settings notecard first.

Q: How does the collar implement menus? A: The collar uses llDialog extensively. All menus are standard SL dialog boxes. The centralized dialog system (channel 950) ensures efficient dialog management across all plugins.

Feature Requests

Q: Can you add [feature]? A: The collar is modular and extensible. You can:

  1. Request features via GitHub issues
  2. Write your own plugin (see agents.md for development guide)
  3. Contribute code via pull requests

Q: I want to customize the menu structure. How? A: Modify kmod_ui.lsl for main menu structure. Individual plugin menus are in their respective plugin scripts. The modular architecture makes customization straightforward.


Additional Resources


Version Information

The D/s Collar Modular system uses a Revision-based versioning scheme.

This user guide corresponds to:

The revision number can be found in the header of each script.


Support & Community

For support:

Remember: The SOS menu (long-touch) is always available for emergencies. Stay safe and enjoy your collar!


D/s Collar Modular - A modern, secure, and extensible D/s collar system for Second Life. *Licensed as open source software under MIT License