> For the complete documentation index, see [llms.txt](https://code-after-sex.gitbook.io/script-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-after-sex.gitbook.io/script-documentation/cas-chat-v2/moderation.md).

# Moderation tools

The CAS Chat V2 staff moderation panel — the roster, active mutes, mute options, banner announcements, chat tools, the log and the staff channel, plus block and ignore for players.

Staff open the panel from the **Mod** button in the chat header. It has five tabs.

## Players

The full online roster with name, server ID, OOC name, ping and session time. Search by any of them. Mute or unmute straight from the list, or open a player to see their recent messages and take action there.

## Mutes

Every active mute, with who issued it, the reason, the scope and the time left counting down. Offline players stay in the list because mutes are stored per license, so a player cannot escape one by reconnecting.

From here you can add 15 minutes to a timed mute or lift it.

## Mute options

| Option          | Meaning                                                 |
| --------------- | ------------------------------------------------------- |
| Duration        | A preset from the config, or an exact number of minutes |
| Permanent       | Set the duration to 0                                   |
| Scope: all chat | The player cannot write anywhere                        |
| Scope: OOC only | The player can still roleplay but cannot use OOC        |
| Reason          | A preset or free text, required                         |

The muted player is told immediately, sees a countdown above the input, and their input is disabled. When the mute expires they are told that too.

## Announce

Write an announcement, pick whether it shows as a banner plus a chat line or as a chat line only, and set how long the banner stays. There is a live preview before you send, and a confirmation step.

Announcements are also kept in the join history, so a player connecting shortly after still sees one.

## Tools

| Tool            | What it does                                                     |
| --------------- | ---------------------------------------------------------------- |
| Clear all       | Wipes every channel on every player's screen                     |
| Clear OOC       | Wipes global and local OOC only                                  |
| Slow mode       | One OOC message per N seconds, staff exempt                      |
| Lock global OOC | Players cannot post in `/ooc`, `/looc` still works, staff exempt |

Slow mode and the OOC lock stay set after a server restart.

## Log

The last 60 moderation actions with who did what, to whom, and when. Mutes, unmutes, extensions, chat clears, slow mode changes, OOC lock changes and announcements are all recorded. The log is kept across restarts and is visible to staff only.

## Staff channel

`/staff` or the `/sc` alias is a channel only staff can see or write to. Moderation actions are also posted there as they happen, so the team sees what everyone else is doing without opening the log.

## What players can do themselves

Players do not need staff for these.

**Block.** Hides that player's messages everywhere and stops their letters in both directions. Stored per license, so it survives a reconnect. Managed in Settings, Privacy.

**Ignore.** Hides that player's chat for this session only. Letters still arrive.

Blocked and ignored lines are not removed from the window, they are replaced with a short placeholder, so a player can always tell that something was hidden.
