Server Settings

Master reference for every CADLY settings tab and setting.

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 | Enabled

1.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 | On

Enable 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:

Browse all CADLY documentation