> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r5r.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# CC Commands

> Reference for Client Commands (CC) for server administration and interaction.

# Client Commands (CC)

Client Commands (CC) allow admins and players to interact with the server directly from the in-game console or chat. This system is powerful for managing matches, players, and server settings on the fly.

## Enabling CC Commands

CC commands do not require the tracker plugin, but tracker does extend them. CC commands are enabled via `cc_administration "1"` set in `playlists_r5_patch.txt` (enabled by default). Admin access is configured in the [Control Panel Config tab](https://r5r.dev/cp/?tab=config) under `settings.ADMINS` (or directly in `r5rdev_config.json`). Use comma-separated UIDs or `Name-UID` pairs.

* **Required setting**: `cc_administration "1"` in `playlists_r5_patch.txt` (still needed to enable CC).
* **Primary (recommended)**: `settings.ADMINS` in the Config tab / `r5rdev_config.json`.
* **Legacy (non-tracker fallback)**: `admins_list` in `playlists_r5_patch.txt`. This is deprecated and overridden by the Config tab.

<Warning>
  Tracker-related `playlists_r5_patch.txt` settings are deprecated. Only keep `cc_administration` here; move admin lists and other tracker values into the Config tab and redeploy `r5rdev_config.json`.
</Warning>

## General Commands

| Command | Usage     | Description                                                      |
| :------ | :-------- | :--------------------------------------------------------------- |
| `help`  | `cc help` | Prints the built-in CC help summary in chat with usage examples. |

## Administration Commands

These commands are prefixed with `cc` and require admin privileges.

<Info>
  See [**usage**](https://docs.r5r.dev/hosting/cc-commands#mute-usage-and-timestrings) below for more context about using timestrings and -reason args in certain commands
</Info>

### Moderation

<Warning>
  `kicksay`, `bansay` are depecated. You can now append -say to the command to enable broadcasting. Example:  `cc kick r5mkos -r "Bad boy" -say`
</Warning>

| Command                       | Usage                                                                                   | Description                                                                                                                                                      |
| :---------------------------- | :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kick`                        | `cc kick [name\|oid] [-reason "[reason]"] [-say]`                                       | Kicks a player from the server. Optional -say argument broadcasts reason                                                                                         |
| `ban`                         | `cc ban [name\|oid] [-reason "[reason]"] [-say]`                                        | Bans a player (IP\|OID\|Handle) from the server.                                                                                                                 |
| `banid`                       | `cc banid [oid] [-reason "[reason]"]`                                                   | Bans an OID (offline OK) and logs an optional reason.                                                                                                            |
| `unban`                       | `cc unban [oid]`                                                                        | Removes a ban by OID.                                                                                                                                            |
| `timeout`                     | `cc timeout [name\|oid] [true\|false] [-reason "[reason]"] [timestring] [-say] [-motd]` | Applies or clears a timeout with an optional reason; supports mixed-order timestrings. Use -say to broadcast. Use -motd to display Message Of The Day to player. |
| `gettimeout`                  | `cc gettimeout [name\|oid]`                                                             | Displays timeout details for a player/UID.                                                                                                                       |
| `mute` \| `gag`               | `cc mute [name\|oid] [-r\|-reason "[reason]"] [timestring] [-say]`                      | Mutes a player's text chat for a specified timestring (supports mixed-order units).                                                                              |
| `unmute` \| `ungag`           | `cc unmute [name\|oid] [-r\|-reason "[reason]"]`                                        | Unmutes or ungags a player and can log a reason.                                                                                                                 |
| `is_muted` \| `is_gagged`     | `cc is_muted [name\|oid]`                                                               | Checks if a player is currently muted.                                                                                                                           |
| `mute_reason` \| `gag_reason` | `cc mute_reason [name\|oid]`                                                            | Returns the stored mute/gag reason for a player (supports offline UID lookup).                                                                                   |
| `unmute_time` \| `ungag_time` | `cc unmute_time [name\|oid]`                                                            | Shows when a player's mute/gag expires (human-readable).                                                                                                         |
| `restricted`                  | `cc restricted [0\|1\|false\|true]`                                                     | `1` enables restricted server mode, `0` disables it. Configure thresholds in the Config tab.                                                                     |

#### Mute usage and timestrings

* Syntax: `cc mute [name|oid] [-r|-reason "[reason]"] [timestring] [say]`; unmute with `cc unmute [name|oid] [-r|-reason "[reason]"]`.
* Order: only `cc mute [name|oid]` must stay first; all other parts can be mixed.
* Reason flag: use `-r` or `-reason` followed immediately by the reason text; the flag+reason can appear anywhere after the player (also works for `unmute`).
* Say flag: use `-say` to also broadcast moderation action to all players in the server except the target player.
* Timestring: combine any units (years, months, days, hours, minutes/min/mins/minute, seconds/sec/secs/second); units add together and order does not matter.
* Example: `cc mute bob -reason "Bad language" 2 mins 30 seconds`.
* Multi-unit example: `cc mute player1 -r "Spamming" 1 min 2 min 5 seconds` results in three minutes and five seconds.
* Mixed-order example: `cc mute player2 50 secs -r "Potty mouth" 20 sec 5 seconds` is valid.
* `timeout` follows the same timestring rules; use the `[true|false]` flag to apply or clear the timeout before the time/reason args. Example: `cc timeout player1 true -reason "AFK grief" 2 mins 30 secs`; clear with `cc timeout player1 false`.

### Server Management

| Command                           | Usage                                       | Description                                                                     |
| :-------------------------------- | :------------------------------------------ | :------------------------------------------------------------------------------ |
| `map`                             | `cc map [mapname] [playlist] [gamemode]`    | Changes map, playlist, and gamemode together. Supports partial matches          |
| `nextmap`                         | `cc nextmap`                                | Forces the server to rotate to the next map in the playlist.                    |
| `endround`                        | `cc endround`                               | Immediately ends the current round.                                             |
| `startbr`                         | `cc startbr`                                | Forces the Battle Royale match to start (skips waiting for players).            |
| `afk`                             | `cc afk [0\|1]`                             | `1` enables "AFK to Rest", `0` disables it.                                     |
| `kill_banners`                    | `cc kill_banners`                           | Removes all banners from the map.                                               |
| `start_banners`                   | `cc start_banners`                          | Restarts\|Respawns map banners.                                                 |
| `allow_legend_select`             | `cc allow_legend_select [0\|1]`             | Enables or disables the ability to select legends.                              |
| `set_legend`                      | `cc set_legend [index]`                     | Sets the legend for all players to the specified index.                         |
| `movement_recorder_playback_rate` | `cc movement_recorder_playback_rate [rate]` | Sets the playback rate for the movement recorder (e.g., `1.0`, `0.5`).          |
| `disable_rotate`                  | `cc disable_rotate [0\|1\|false\|true]`     | Disables auto rotate list for manual interaction of loading maps with `cc map`. |

### Scoring & Settings

| Command        | Usage                                                  | Description                                                                    |
| :------------- | :----------------------------------------------------- | :----------------------------------------------------------------------------- |
| `score`        | `cc score [name\|oid\|*\|current\|season\|difference]` | Shows player score/KD info or displays current/season/difference SBMM weights. |
| `scoreconfig`  | `cc scoreconfig [current\|season\|difference] [float]` | Sets SBMM weights or KD difference thresholds.                                 |
| `setting`      | `cc setting [key]`                                     | Returns a tracker setting value (tracker only).                                |
| `fetchsetting` | `cc fetchsetting [name\|oid] [key]`                    | Returns a specific tracker setting for a player (tracker only).                |

### Communication

| Command              | Usage                                      | Description                                                                                    |
| :------------------- | :----------------------------------------- | :--------------------------------------------------------------------------------------------- |
| `msg`                | `cc msg [name\|oid] "[message]"`           | Sends a private server chat message to a player (cannot target self or send empty text).       |
| `msgall`             | `cc msgall "[message]"`                    | Sends a server chat message to everyone (truncates if too long).                               |
| `adminmsg`           | `cc adminmsg [name\|oid] "[message]"`      | Sends an admin-branded message to one player.                                                  |
| `adminmsgall`        | `cc adminmsgall "[message]"`               | Sends an admin-branded chat message to all players.                                            |
| `sayto`              | `cc sayto [name\|oid] [title] [msg] [dur]` | Sends a titled message to a specific player (duration defaults to \~3s if omitted).            |
| `sayall`             | `cc sayall [title] [msg] [dur]`            | Broadcasts a titled message to all clients with a duration (seconds).                          |
| `show_motd`          | `cc show_motd [name\|oid]`                 | Opens specified player's motd if they do not have it disabled, but bypasses once per day check |
| `addmotd`            | `cc addmotd [name\|oid] "[message]"`       | Prepends a message to a player's MOTD.                                                         |
| `vc`                 | `cc vc [0\|1]`                             | Toggles global voice chat (`sv_voiceenable` and `sv_alltalk`).                                 |
| `thumbsup`           | `cc thumbsup`                              | Plays the thumbs-up chat effect for everyone.                                                  |
| `msgeffect`          | `cc msgeffect [effect_id]`                 | Sends a specific chat effect by ID.                                                            |
| `print_chat_effects` | `cc print_chat_effects`                    | Developer: prints all available chat effect IDs.                                               |

### Audio

| Command       | Usage                        | Description                                       |
| :------------ | :--------------------------- | :------------------------------------------------ |
| `playself`    | `cc playself [audiofile]`    | Emits sound from your entity only to you.         |
| `playonself`  | `cc playonself [audiofile]`  | Emits sound from your entity (audible to others). |
| `playall`     | `cc playall [audiofile]`     | Emits sound to all players.                       |
| `stopplayall` | `cc stopplayall [audiofile]` | Stops playing sounds for all players.             |

### Utility & Debug

| Command                  | Usage                                          | Description                                                            |
| :----------------------- | :--------------------------------------------- | :--------------------------------------------------------------------- |
| `playerinfo`             | `cc playerinfo`                                | Prints aggregated player stats (may truncate if too large).            |
| `playerinput`            | `cc playerinput [name\|oid]`                   | Shows a player's current input device (mouse/keyboard vs controller).  |
| `input`                  | `cc input [name\|oid] [0\|1\|mnk\|controller]` | Developer: forces a player's input mode.                               |
| `listhandles`            | `cc listhandles`                               | Lists player names with their entity handles.                          |
| `pos`                    | `cc pos [label]`                               | Developer: saves a spawn position with the given label.                |
| `groups`                 | `cc groups`                                    | Shows number of 1v1 groups in progress.                                |
| `groupmap`               | `cc groupmap`                                  | Shows number of players in the 1v1 group map.                          |
| `start_interval_thread`  | `cc start_interval_thread`                     | Starts the interval message thread (tracker).                          |
| `kill_interval_thread`   | `cc kill_interval_thread`                      | Stops the interval message thread (tracker).                           |
| `cleanuplogs`            | `cc cleanuplogs`                               | Triggers tracker log cleanup.                                          |
| `reload_config`          | `cc reload_config`                             | Reloads the tracker configuration.                                     |
| `restart_ws`             | `cc restart_ws`                                | Restarts the tracker WebSocket client when connected.                  |
| `startlog`               | `cc startlog`                                  | Developer/tracker: manually start the tracker logger.                  |
| `stoplog`                | `cc stoplog [true\|ship]`                      | Developer/tracker: stop the tracker logger (optionally mark as ship).  |
| `spamupdate` \| `spam`   | `cc spamupdate`                                | Starts periodic update spam messages.                                  |
| `spamstop` \| `stopspam` | `cc spamstop`                                  | Stops periodic update spam messages.                                   |
| `testremote`             | `cc testremote`                                | Developer: test remote persistence callback.                           |
| `acceptchal`             | `cc acceptchal [name\|oid]`                    | Developer: accepts a challenge for a player.                           |
| `draw`                   | `cc draw`                                      | Developer: enables minimap drawing for all players.                    |
| `disabledraw`            | `cc disabledraw`                               | Developer: disables minimap drawing for all players.                   |
| `dmg`                    | `cc dmg [name\|oid] [amount]`                  | Developer: applies damage to a player.                                 |
| `gamerules`              | `cc gamerules`                                 | Developer placeholder for map/playlist swap (no-op stub).              |
| `killme`                 | `cc killme`                                    | Developer: suicides the caller if alive.                               |
| `addbot`                 | `cc addbot [name] [team#]`                     | Add a player bot to the server. Must specify name and team#            |
| `playlist`               | `cc playlist`                                  | Return information about the current map/playlist/gamemode.            |
| `confirm`                | `cc confirm`                                   | Required to be entered before certain outcomes that may be undesirable |

## Console Commands ( ConCommand )

These commands are entered directly into the server's console window (not prefixed with `cc`). They control the tracker system and WebSocket connection.

### Tracker System

| Command                 | Description                                     |
| :---------------------- | :---------------------------------------------- |
| `tracker_reload_config` | Reloads the r5r.dev tracker configuration file. |
| `tracker_shutdown`      | Shuts down the r5r.dev tracker systems.         |

### WebSocket Connection

| Command                | Description                                                                   |
| :--------------------- | :---------------------------------------------------------------------------- |
| `tracker_ws_reconnect` | Restarts the WebSocket connection to the remote server.                       |
| `tracker_ws_shutdown`  | Shuts down the WebSocket connection to the remote server.                     |
| `tracker_ws_status`    | Displays the current status of the WebSocket connection to the remote server. |

### Command Examples

<Info>
  `sayall` broadcasts a banner with a title, message, and optional duration; `msgall` uses the text chat broadcast channel.
</Info>

**Kicking a player:**

```bash theme={null}
cc kick BadPlayer "being toxic"
```

**Banning a player and announcing it:**

```bash theme={null}
cc ban Cheater123 "Aimbot detected" -say
```

**Broadcasting a banner message:**

```bash theme={null}
cc sayall "Server Admin" "Restarting in 5 minutes" 10
```

**Broadcasting a chat message:**

```bash theme={null}
cc msgall "Restarting in 5 minutes"
```

**Changing Map (Partial Match):**

```bash theme={null}
cc map desert
// This matches "mp_rr_desertlands_64k_x_64k"
```

## Maps & Modes Reference

### Maps

Partial names can be used with `cc map` for mapnames, playlists, and gamemodes. Updated: Feb 10/2026

| Internal Name                    | Map Name                     |
| :------------------------------- | :--------------------------- |
| `mp_rr_box`                      | Box                          |
| `mp_rr_canyonlands_staging`      | Firing Range                 |
| `mp_rr_canyonlands_64k_x_64k`    | Kings Canyon                 |
| `mp_rr_canyonlands_mu1`          | Kings Canyon (Season 2)      |
| `mp_rr_canyonlands_mu1_night`    | Kings Canyon After Dark      |
| `mp_rr_canyonlands_mu2`          | Kings Canyon (Season 5)      |
| `mp_rr_canyonlands_mu2_tt`       | Kings Canyon (Town Takeover) |
| `mp_rr_canyonlands_mu2_mv`       | Kings Canyon (Mirage Voyage) |
| `mp_rr_canyonlands_mu2_ufo`      | Kings Canyon (UFO)           |
| `mp_rr_desertlands_64k_x_64k`    | World's Edge (Season 3)      |
| `mp_rr_desertlands_64k_x_64k_nx` | World's Edge After Dark      |
| `mp_rr_desertlands_64k_x_64k_tt` | World's Edge (Town Takeover) |
| `mp_rr_desertlands_64k_x_64k_mv` | World's Edge (Mirage Voyage) |
| `mp_rr_desertlands_holiday`      | World's Edge (Holiday)       |
| `mp_rr_desertlands_mu1`          | World's Edge (Season 4)      |
| `mp_rr_desertlands_mu1_tt`       | World's Edge (Bloodhound TT) |
| `mp_rr_desertlands_mu2`          | World's Edge (Season 6)      |
| `mp_rr_olympus`                  | Olympus                      |
| `mp_rr_olympus_tt`               | Olympus (Town Takeover)      |
| `mp_rr_party_crasher`            | Party Crasher                |
| `mp_rr_arena_phase_runner`       | Phase Runner                 |
| `mp_rr_arena_composite`          | Drop Off                     |
| `mp_rr_arena_skygarden`          | Sky Garden                   |
| `mp_rr_aqueduct`                 | Overflow                     |
| `mp_rr_arena_empty`              | Arena Empty                  |
| `mp_lobby`                       | Lobby                        |

### Playlists

| Internal Name                    | Playlist Name                          |
| :------------------------------- | :------------------------------------- |
| `fs_movementrecorder`            | Movement Recorder                      |
| `winterexpress`                  | Winter Express                         |
| `custom_ctf`                     | CTF                                    |
| `fs_prophunt`                    | PropHunt                               |
| `fs_duckhunt`                    | DuckHunt                               |
| `fs_infected`                    | Infected                               |
| `fs_surf`                        | Surf                                   |
| `fs_dm`                          | TDM/FFA                                |
| `fs_realistic_ttv`               | Realistic TTV Building                 |
| `fs_4d`                          | 4D FFA                                 |
| `fs_9k`                          | DM Movement PVP                        |
| `fs_dm_fast_instagib`            | Instagib                               |
| `fs_grapples_n_guns`             | Grapples N Guns                        |
| `fs_scenarios`                   | Zone Wars                              |
| `fs_1v1`                         | 1v1                                    |
| `fs_vamp_1v1`                    | 1v1 Vamp                               |
| `fs_1v1_headshots_only`          | 1v1 Headshots Only                     |
| `fs_lgduels_1v1`                 | 1v1 LG Duels                           |
| `fs_movementgym`                 | FS Movement Gym                        |
| `fs_ltm_mortalevoshields`        | SOLOS EVOS LTM                         |
| `fs_ltm_armedanddangerous`       | TRIOS A\&D LTM                         |
| `fs_rankupmapmovementpractice`   | Rank-up Parkour \[Practice Map]        |
| `fs_ithurtsmovementmappractice`  | It Hurts Movement Map \[Practice Map]  |
| `fs_fallingforever`              | Falling Forever \[Practice Map]        |
| `fs_doormovementpractice`        | Door Map \[Practice Map]               |
| `fs_grapplemovementpractice`     | Grapple Practice \[Practice Map]       |
| `fs_mantlejumppractice`          | Mantle Jump Map \[Practice Map]        |
| `fs_firstmovementmappractice`    | First Movement Map \[Practice Map]     |
| `fs_gymmovementmappractice`      | Gym Movement Map \[Practice Map]       |
| `fs_strafeitmovementmappractice` | Strafe It Movement Map \[Practice Map] |
| `survival`                       | TRIOS                                  |
| `survival_duos`                  | DUOS                                   |
| `survival_solos`                 | SOLOS                                  |
| `survival_firingrange`           | Firing Range                           |
| `survival_training`              | Training                               |
| `survival_dev`                   | Survival Dev                           |
| `menufall`                       | Lobby                                  |
| `dev_default`                    | Survival Dev                           |
| `custom_playlist_example`        | My custom playlist                     |

### Game Modes

| Mode ID               | Description           |
| :-------------------- | :-------------------- |
| `fs_1v1`              | 1v1 Arena             |
| `fs_dm`               | Deathmatch            |
| `fs_tdm`              | Team Deathmatch       |
| `fs_prophunt`         | Prop Hunt             |
| `fs_duckhunt`         | Duck Hunt             |
| `survival_solos`      | Battle Royale (Solos) |
| `survival_duos`       | Battle Royale (Duos)  |
| `survival_trios`      | Battle Royale (Trios) |
| `fs_surf`             | Surf                  |
| `fs_movementgym`      | Movement Gym          |
| `fs_infected`         | Infected              |
| `survival`            | Survival (Base)       |
| `survival_dev`        | Survival (Dev)        |
| `custom_ctf`          | Capture The Flag      |
| `fs_lgduels_1v1`      | LG Duels              |
| `fs_scenarios`        | Scenarios             |
| `fs_haloMod_oddball`  | Halo Mod (Oddball)    |
| `fs_dm_fast_instagib` | Instagib DM           |
| `fs_snd`              | Search & Destroy      |
| `SURVIVAL`            | Survival (Legacy)     |
| `fs_dm_oddball`       | Deathmatch Oddball    |
| `fs_fallingforever`   | Falling Forever       |
