1 - Introduction
Server Settings control CADLY's identity, roles, permissions, feature modules, ER:LC integration, dispatch, departments, and dangerous owner-only actions.
Settings are saved per Discord server. Some advanced areas, such as sessions, deployments, ER:LC restrictions, and reminders, have their own dedicated settings and management screens.
Most setup problems come from settings being configured in the wrong order. A good setup path is: choose server type, configure general identity, create CADLY roles, assign permissions, connect ER:LC if needed, then enable feature modules one at a time.
Avoid changing many high-impact settings at once on a live server. Save, test the feature as a normal staff member, then continue. This catches missing Discord role hierarchy, channel permissions, and server-slot permission mistakes early.
type: setting
title: Server configuration overview
meta: Settings > Server A
status: Draft saved
items:
- Server Name | River City Roleplay
- Server Mode | Host server
- ER:LC Integration | Enabled
- Dispatch | Enabled1.1 - Table of Contents
Section What it covers
General Settings Server name, type, theme, bot profile, server-slot mode
Role Settings CADLY roles and permissions
Feature Settings Verification, shifts, logs, LOA, ER:LC, dispatch, and more
Audit Log Who changed what, with search and PDF export
Dangerous Settings Disable, reset, delete, and change type
Troubleshooting Common settings problems
1.2 - Direct Message Templates
Settings that offer Edit DM or Customize DM use the visual message editor. Open Available variables to see the values supported by that message, and use the preview to check editable text, dividers, images, buttons, and colors before saving.
When one of these server templates is sent, CADLY adds a fixed server identity footer. The footer is not part of the saved template and does not appear in the editor preview. The editor reserves room for it automatically; if a message has too many fields or buttons, remove some before saving. Existing text-only templates keep their wording when opened in the editor.
2 - General Settings
2.1 - Basic Configuration
Server Name
Display name for your server. Default: blank | Requires: none
Short Name
Abbreviation or acronym, max 10 characters. Default: blank | Requires: none
Description
Brief server description, max 500 characters. Default: blank | Requires: none
Theme Color
Primary panel theme color. Default: #3498db | Requires: none
Map Appearance
Open Settings > General > Map, select a preview, then click Save Changes.
Choose Auto to follow the calendar, or select Winter, Spring, Summer, or Fall to keep that appearance throughout the year. Auto uses:
- Winter: December–February
- Spring: March–May
- Summer: June–August
- Fall: September–November
Turn on Show postals to display postal codes by default. Users can also toggle postals on the map without changing the server's saved default.
These preferences apply to CADLY maps for this Discord server, including both Server A and B. They do not change the weather or season inside ER:LC.
Default: Auto, postals off.
Server Mode
Controls whether this guild is a Host Server or Department Server. Default: department until setup completes | Requires: owner after setup
This setting controls feature availability. Host Servers get sessions and department management; Department Servers get deployment-focused workflows. Review Host vs Department Servers before changing it.
Mono Server Mode
Located at the bottom of Settings > General. On means only Server A is active. Off enables Server A and Server B across ER:LC keys, role assignments, logs, dispatch, and ER:LC permissions. Keeping it on is recommended unless you run two ER:LC private servers. Turning it off opens a confirmation with Keep on and Turn off options; the setting stays on until you confirm. Default: on | Requires: none
2.2 - Bot Customization
Bot Profile Customization
Custom bot nickname and avatar controls are available from the Bot Profile settings area. Default: CADLY default bot profile | Requires: Server PRO for custom profile
After an approved or rejected profile request, select Reset to default and confirm to remove the server-specific avatar, banner, and description. CADLY restores its standard profile. A reset is unavailable while another profile request is under review and does not start the 24-hour request cooldown.
If a request is rejected, Settings shows the review reason beneath its status so you can correct the profile before submitting another request.
2.3 - CAD Settings
Custom Buttons
Adds CAD panel buttons. Types include URL, remote command, preset command, and text holder. Default: none | Requires: none; higher limits may require PRO
Use custom buttons for repeated actions staff need during active operations. Avoid creating buttons for rare actions because crowded panels slow staff down.
Event Log
Controls which action engine event types appear in the CAD feed. Default: common player, command, kill, mod call, zone, and restriction events | Requires: none
Chat Module
Turns CAD chat on or off. Default: on | Requires: none
Slowmode
Seconds between chat messages for regular users. Owners and admins bypass it. Default: 0 | Requires: none
Blocked Words
Words blocked in CAD chat. Default: none | Requires: none
Server Presets
Reusable CAD Chat messages with optional recorded keyboard shortcuts. Each shortcut can belong to only one preset. Outside text fields, pressing a configured shortcut sends its preset immediately; the keyboard button also lists every shortcut. Default: none | Requires: none
Chat Map Locations
Use the map-pin button in CAD Chat to attach a map location, with or without text. Messages show the location in a read-only map preview, and Discord chat logging includes a readable location label. Default: no location attached | Requires: Chat Module
Chat Logging
Channel for CAD chat messages and moderation events. Default: none | Requires: none
3 - Role Settings
3.1 - Permission Roles
CADLY Roles
CADLY roles map Discord roles to CADLY permissions. Each role has a Discord role, name, order, optional color, and permission set. Default: none | Requires: none
CADLY roles do not replace Discord roles. They interpret Discord roles into CADLY permissions. If a member has several mapped roles, CADLY resolves the effective permissions from those mappings and built-in owner/admin checks.
Role Permissions
Permissions include server view, CAD view, ER:LC command tiers, shifts, logs, LOA, promotions, infractions, applications, settings, dispatch, departments, User PRO, and Server PRO. Default: all false until assigned | Requires: none
Start with least privilege. Give ordinary staff view and create permissions for the tools they use, then reserve manage, delete, settings, departments, and ER:LC owner-tier commands for leadership.
Manage Settings grants access to the Settings page and lets a member change ordinary settings. Manage Roles is the separate elevated permission for editing CADLY role mappings and their permissions; it also includes ordinary settings management. Owner-only danger controls and actions that explicitly require a Discord administrator remain restricted. Existing role assignments that used the former View Settings permission continue to work as Manage Settings.
3.2 - Staff Roles
Shift Type Allowed Roles
Each shift type can limit who can start that shift type. Default: empty means all eligible users | Requires: none
Log Type Allowed Roles
Each log type can limit which roles can create that log type. Default: empty means all users with create permission | Requires: none
Automatic Role Assignments
Any setting that lets CADLY grant a Discord role automatically rejects roles with Discord's Administrator permission. Other management or moderation permissions do not by themselves make a role unavailable, but CADLY's bot role must still be above every role it needs to add or remove.
4 - Feature Settings
4.1 - Verification Settings
Enable Verification
Turns verification on or off. Default: off | Requires: none
Verified Role
Role added after successful verification. Default: none | Requires: none
Unverified Role
Role removed after successful verification. Default: none | Requires: none
On Join Role
Optional role used during join handling. Default: none | Requires: none
Auto Verification
Automatically applies verification state for already-linked members on join. Default: on | Requires: none
This reduces repeated onboarding for returning members. Disable it only if every join should be manually reviewed.
Username Template
Nickname format after verification. Default: {roblox_username} | Requires: none
Alt Account Detection
CADLY's internal security systems can check for likely alternative accounts during verification and elevated account risk when a member joins. See Verification → Account Safety for the available staff actions and safeguards. Default: Nothing / Nothing | Requires: an alert channel once either action is set
4.2 - Shift Settings
Enable Shifts
Toggles the shifts module. Default: on | Requires: none
Shift Types
Configures shift types, allowed roles, and max on-duty counts. Default: Default Shift, unlimited | Requires: none
Staff Request Channel
Channel where staff requests are posted. Default: none | Requires: none
Staff Request Ping
Optional @everyone, @here, or role mention sent with staff requests. Default: none | Requires: none
Staff Request Cooldown
Minimum minutes between requests per user. Default: 30 | Requires: none
On-Duty and On-Break Roles
Roles assigned for active and break states on Server A and Server B. Default: none | Requires: none
Shift Waves
Controls wave duration, requirement mode, required hours, enforcement action, new-member grace, LOA skip, and wave log channel. Default: enabled, manual duration, per-role requirements, manual enforcement, skip new members and LOA | Requires: none
Configure LOA before enforcing shift waves. Otherwise legitimate leave may be counted as missed duty time.
4.3 - LOA Settings
Enable LOA
Toggles the LOA module. Default: on | Requires: none
Allow Future Requests
Allows planned LOAs. Default: on | Requires: none
Max Future Days
Maximum days in advance an LOA can start. Default: 30 | Requires: none
Minimum and Maximum Length
Configured LOA duration bounds. Default: 1 to 30 days in settings; CADLY currently accepts requests up to 14 days | Requires: none
Cooldown
Days between LOA requests. Default: 0 | Requires: none
Reason Required
Requires LOA reasons. Default: on | Requires: none
LOA Logging
Channel for LOA events. Default: none | Requires: none
LOA Role
Role assigned during active LOA. Default: none | Requires: none
Nickname Prefix
Optional text placed exactly as entered before a member's server nickname while their LOA is active. CADLY removes its own prefix when the LOA ends without overwriting nickname edits made during the leave. Prefixes can contain up to 16 characters; Discord nicknames remain limited to 32 characters. Default: none | Requires: Manage Nicknames permission and a role above the member
4.4 - Promotions Settings
Enable Promotions
Toggles promotion records and commands. Default: on | Requires: none
Promotions Channel
Channel for promotion logs. Default: none | Requires: none
Revoke Behavior
Controls role changes when a promotion is revoked. Default: none | Requires: none
Hierarchy Block Policy
Controls fail versus confirm partial when hierarchy blocks role changes. Default: confirm partial | Requires: none
4.5 - Infractions Settings
Enable Infractions
Toggles infractions. Default: on | Requires: none
Log Channel
Channel for infraction logs. Default: none | Requires: none
Warning Expiry and Strike Expiry
Days until active warnings or strikes expire. 0 means never. Default: 0 | Requires: none
Expiry changes active discipline counts, not history. Expired records remain available for audit.
Default Suspension Duration
Default suspension length in whole days. The minimum is 1 day. Default: 1 | Requires: none
Suspension Stacking
Controls whether suspensions stack or reset. Default: stack | Requires: none
Tier Role Stacking
Controls whether multiple tier roles remain at once. Default: off | Requires: none
Tier Roles
Roles for warning tiers, strike tiers, suspended state, and termination. Default: none | Requires: none
4.6 - Logs Settings
Enable Logs
Toggles incident logging. Default: on | Requires: none
Logging Channels
Channel where logs are posted. Default: none | Requires: none
Log Types
Configures type name, description, allowed roles, BOLO status, color, location mode, custom fields, and user DM. Default: Note, Roleplay Log, Warning, Kick, BOLO, Ban | Requires: none
Expand a type to review its configuration. Choose Edit or Add Log Type to open the larger editor. Setup includes the type's fields and Discord notifications; Actions configures ER:LC commands. Use Apply to stage your changes and Save on the settings page to persist them. Cancel leaves the type unchanged.
Under Notify on Discord, enable direct messages and choose Edit DM message to customize text, dividers, images, link buttons, and color with a live preview. Existing plain-text messages open with their wording preserved. Variables include the player's username and ID, log name, reason, moderator, and log ID. Save the message, apply the log type, then save your settings. DMs require the player's linked Discord account and open DMs.
Keep your log type list small enough that staff can choose quickly. Add custom fields only for information you consistently need. Log type names are server-specific. Existing records use the current configured name for that server, so renaming a type updates its displayed history label without changing the records. Any log type can use the BOLO lifecycle; it is not limited to ban records.
Log Actions
Host servers and independent departments can configure ER:LC commands in a log type's Actions tab. When created runs when a new log is recorded. BOLO types also offer When completed, which runs on the first successful completion.
Every server can use 3 commands per trigger, with no PRO requirement. Commands run in the log's server slot and require ER:LC to be enabled with remote commands authorized. Linked departments cannot configure or run these actions.
Start each command with : and keep it on one line within 200 characters. Available variables are {username} for the logged player's Roblox username, {userid} for their Roblox ID, and {log_name} for the configured log type's name. Existing {user_id} commands remain supported. Variables are replaced before execution; commands exceeding the limit after replacement are skipped. Existing logs and imported history do not trigger creation actions.
Enter any command. CADLY sends it directly to ER:LC, which determines whether it can run. Other text is sent as entered.
4.7 - ER:LC Settings
Enable ER:LC
Turns on ER:LC data panels. Default: off | Requires: none
API Keys
Encrypted ER:LC keys for Server A and Server B. Members with Manage Settings can view masked, read-only status, remote-command authorization state, and timestamps. Only the Discord server owner or a Discord administrator can add or remove keys, change remote-command access, or share keys. Default: none | Requires: Manage Settings to view status; Discord server owner or administrator to manage
Feedback Channel
Channel for ER:LC notifications. Default: none | Requires: none
Bloxlink Integration
Saves the Bloxlink key and controls automatic Roblox-to-Discord matching. Only required when Verification is disabled - verified accounts already resolve players without it. Only the Discord server owner or a Discord administrator can view or manage the key. Default: not configured, auto-convert on | Requires: Discord server owner or administrator to manage the key; Verification enabled or a Bloxlink key for matching
Discord Reminder PMs
Periodically PMs in-game players who are not in your Discord, grouped as :pm user1,user2,... {message} (10 per message). Skips staff and anyone whose Discord membership cannot be confirmed. Per A/B slot, every 10-30 minutes (PRO: from 5). Default: off | Requires: Verification enabled, or a Bloxlink key
Welcome Message
Sends a message to players when they join. Default: off | Requires: none
Log Webhook Processing
Processes ER:LC :log webhook messages. Default: off | Requires: none
Off-Duty Detection
Detects off-duty command usage and punishes, warns, or pings HR. Default: off | Requires: none
Restrictions, Limits, Reminders, and Action Engine
Vehicle restrictions, livery restrictions, team limits, role restrictions, play zones, reminders, permission sync, and action rules are managed from the ER:LC settings area. Default: none | Requires: PRO for some higher caps and Permission Sync; Server Restrictions are available on FREE and PRO
These settings can affect live players. Test detection-only or logging workflows before adding automatic kicks, bans, or other in-game commands.
Play Zones
Play Zones shows a map and an overview of your profiles. Use the on/off toggle to activate a profile; only one can be active per server. Click Edit to change its name, boundary, action, team filter, and private message. Load player and Send PM can be enabled separately or together. Kick and Ban are available under Use kick or ban instead.
Click Apply changes, then save your settings. Free servers can keep three profiles, and Server PRO raises this to five. Boundaries require 4–15 points, and private messages must stay on one line within 150 characters. Default: none | Requires: Server PRO for profiles 4–5
Vehicle restrictions check the latest ER:LC data every two minutes. Players still driving a configured vehicle without the required roles are loaded and sent the rule's customizable in-game message. Leaving Required Roles empty bans the selected vehicles for everyone. Existing rules can be edited in place to change their vehicles, roles, role mode, or player message. The vehicle picker keeps vehicles from other rules visible with an Already restricted notice and prevents selecting them twice on the same server.
Team limits apply only to Police, Sheriff, Fire, and DOT; Civilian cannot be restricted. When an enabled team exceeds its limit, CADLY selects the configured newest, longest-standing, or random players and runs a bundled Wanted command by default. Wanted also sends one bundled in-game PM to the affected players; its message can be customized per team in Advanced settings. Kick and Ban do not send this PM.
Server Restrictions require selected Discord roles for Police, Sheriff, Fire, DOT, or the whole server. Civilian is not available as a restriction scope. Team restrictions can mark players Wanted, kick them, or ban them. Whole-server restrictions can kick or ban. Unlinked players are handled the same as players who do not have the required roles. Wanted restrictions also send the customizable in-game PM shown in the restriction form. CADLY bundles affected usernames into each moderation command whenever possible.
Each restriction requires between 1 and 50 Discord roles. A Wanted PM is required, must stay on one line, and can contain up to 150 characters.
4.8 - Sessions Settings
Sessions Module
Toggles sessions for Host Servers. Default: on | Requires: Host Server
Session Channel
Channel for session vote, startup, full, low player, and shutdown posts. Default: none | Requires: Host Server
Action Cooldown
Minimum seconds before repeating the same session action. Default: normalized to safe minimums | Requires: none
Resume Window
Seconds a stopped session remains resumable. Default: feature default | Requires: none
Vote Defaults
Required votes, auto-start window, auto-run SSU, and show voters button. Default: no required votes, no deadline | Requires: none
While a session vote is open, managers can choose Cancel Vote in the Sessions controls and confirm the action. CADLY closes the vote without starting a session and removes the vote buttons from its Discord message.
PlayerGuard
Runs per-player actions and optional PM messages during sessions. Default: off | Requires: none
Playtime Rewards
Awards configured Discord roles when a linked player's tracked ER:LC playtime reaches each threshold. You can choose a level-up channel, customize the level-up message, and attach the level card.
Turning Playtime Rewards off pauses evaluation but keeps the configuration visible and read-only until you turn it back on. Default: off | Requires: Sessions enabled and a linked Roblox account
Role Rewards
Each reward has a Discord role, name, optional description, and required playtime. Rewards are evaluated in playtime order. Free servers can configure up to 10 rewards; Server PRO raises the limit to 25.
CADLY can only grant roles that its bot is allowed to manage. Keep reward roles below the CADLY bot's highest role and do not use roles with Discord Administrator. Default: none | Requires: Playtime Rewards enabled and a Discord role the CADLY bot can manage
Role Multipliers
Optional role multipliers range from 1x to 10x. If a member has more than one configured multiplier role, CADLY uses the highest one for reward eligibility. Multipliers never change stored playtime or leaderboard totals. Default: none | Requires: Playtime Rewards enabled
4.9 - Deployments Settings
Deployments Module
Toggles deployments for Department Servers. Default: on | Requires: Department Server
Profiles
Deployment profiles define channel, ping roles, messages, vote settings, and analytics behavior. Default: none | Requires: PRO for higher profile caps
4.10 - Dispatch Settings
type: setting
title: Dispatch behavior
meta: Settings > Dispatch
status: Server A
items:
- Default Priority | medium
- Require Postal Code | On
- DM on Assign | On
- PM on Assign | OnEnable Dispatch
Turns dispatch features on or off. Default: on | Requires: none
Require Roblox Link
Requires dispatch users to have a linked Roblox account. Default: on | Requires: none
Sync In-Game Calls
Creates dispatch calls from ER:LC emergency calls. Default: on | Requires: ER:LC key
Auto-Complete Idle Calls
Auto-completes calls after configured idle minutes. Default: on, 5 minutes | Requires: none
Default Call Priority and Type
Pre-selected values for new calls. Default: medium, standard | Requires: none
Max Units Per Call
Maximum assigned units. 0 means unlimited. Default: 0 | Requires: none
Require Description and Postal Code
Makes those fields mandatory when creating a call. Default: off | Requires: none
Notifications
Panic call, high priority call, call completed, and unit status change notifications each support channel, ping role, and custom message. Default: no channels | Requires: none
Use separate channels for high-noise and high-urgency notifications if your server is busy. Panic calls deserve a different channel or ping than routine unit status changes.
Unit Behavior
Hide off-duty units, auto-remove unavailable units, auto-enroute on assign, DM on assign, and PM on assign. Default: hide off-duty off, auto-remove off, auto-enroute on, DM on, PM on | Requires: ER:LC key for PM
4.11 - Departments Settings
Linked Departments
Host Servers can view active, pending, and revoked links. Default: none | Requires: Host Server
Invite Tokens
Host Servers can select a department and create a private, single-recipient invitation from the Departments page. Default: none | Requires: departments.manage
Share Dispatch
Controls whether a linked department participates in shared dispatch. Default: off per link until enabled | Requires: departments.manage
ER:LC Authority
ER:LC configuration is owned by the Host Server while a department link is active. An unlinked Department Server can configure its own ER:LC key and settings. Action Engine is available to both linked and unlinked departments; remote command buttons remain Host Server-only.
4.12 - Audit Log
The Audit Log is a running record of what happens on your server: who did it, what they did, and when. It covers settings changes, sessions and deployments, applications, shifts and shift waves, logs and BOLOs, promotions, infractions, leave of absence, departments, dispatch, remote ER:LC commands, and verification.
Each entry shows the person, their Discord ID and avatar, a plain description, the time, and the server (A or B) when it applies. Select an entry to see details such as the exact settings that changed, reasons, and IDs. Actions taken by CADLY itself, such as automatic shift ends or Action Engine commands, are labelled as System or Action Engine.
Repeated automatic actions, such as routine welcome messages, are folded into one entry with a count (for example, 37 commands) that you can expand to see each one. Actions taken by a person are never folded together.
Searching and Sorting
Search by name, setting, or detail. Use Filters to narrow by category, person, server, or date range, and switch between newest and oldest first.
Download PDF
Creates a PDF of everything that matches your current search and filters, up to the number of stored entries.
Retention
Entries are kept for 30 days. Free servers keep up to 1,000 entries and servers with Server PRO keep up to 5,000. Whichever limit is reached first applies, and the oldest entries are removed first. Entries stay after CADLY restarts and after Reset Server, and are removed by Delete Server Data. Requires: Manage Settings
5 - Dangerous Settings
Disabling or enabling the server, resetting settings, deleting server data, and changing server type each require a five-second hold followed by the displayed typed confirmation. If your account has two-factor authentication enabled, CADLY asks for a current code after the typed confirmation where supported.
5.1 - Server Recovery
Disable Server
Blocks regular members and delegated CADLY roles without deleting data. The Discord server owner and real Discord administrators retain recovery access, but only the owner can disable or re-enable the server. Default: active | Requires: owner
Reset Server
Resets settings, roles, shift types, and custom buttons to defaults while preserving server history and records. Default: not run | Requires: owner
5.2 - Data Management
Import Your Data
Import supported data from Melonly, Ducky, or ERM. Melonly can import staff roles, shift history, active LOAs, and logs; its token is used to validate the server and is not stored by CADLY. Ducky can import settings, roles, shift types and history, LOAs, infractions, promotions, and logs from the ZIP downloaded at data.duckybot.xyz. ERM currently imports selected settings, staff roles, and shift types from an exported server JSON file. Review the detected data before starting an import. Default: not run | Requires: Manage Settings
Delete Server Data
Permanently deletes the server's CADLY settings and stored records. This action cannot be undone. Default: not run | Requires: owner
Change Server Type
Switches between Host Server and Department Server without deleting ordinary server data. Switching a Department to a Host ends its current host link. Switching a Host to a Department does not automatically revoke its department links, so unlink departments first if needed. The available Dispatch and Departments tools change with the selected type. Default: selected during setup | Requires: owner after setup
Changing type can hide or reveal whole tabs. Review staff permissions and linked department state after switching.
6 - Troubleshooting Common Issues
6.1 - Settings Do Not Save
Check for validation limits such as max name length, max role count, max log types, or required fields. For ER:LC sub-settings, use the Save button after editing advanced sections.
6.2 - A Setting Is Hidden
Some tabs are type-specific. Sessions are Host Server features, while Deployments are Department Server features.
6.3 - Role Settings Do Not Take Effect
Make sure the member has the Discord role mapped in CADLY Roles. CADLY rechecks access every 15 seconds while the panel is visible and when the browser regains focus or reconnects; reload the panel if the new role still does not appear.
7 - Getting Support and Resources
If you need help, several resources are available:
- CADLY Documentation: Detailed reference for all features.
- CADLY Support Server: Join for fast help from the team.
- CADLY Email Support: Reach out via email for direct support.