> 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/troubleshooting.md).

# Troubleshooting

Fix common CAS Chat V2 issues — two chat windows, missing messages, the chat not opening, framework detected as standalone, a staff member with no badge, job channels and mutes.

## Two chat windows on screen

Another chat resource is running alongside this one. Remove `ensure chat` from `server.cfg` and stop any other chat script you have installed. Only one chat resource can run at a time.

## Messages from other resources do not appear

Same cause. When two chat resources are up, the other one may be taking the events. Stop it and restart rsm\_rpchat.

## The chat does not open

Try `/rpchat` first. If that works but the key does not, something else is bound to T. Change `Config.OpenKey` in `config.lua`.

If `/rpchat` does nothing either, check the server console for a line starting with `[rsm_rpchat]` to confirm the resource actually started.

## The console says "framework: standalone"

The resource could not reach your framework. Check that:

* the framework resource is named exactly `vorp_core` or `rsg-core`
* it is started before or alongside rsm\_rpchat in `server.cfg`
* it starts without errors of its own

rsm\_rpchat reconnects by itself if the framework restarts, so you do not need to restart it afterwards.

If `Config.Framework` is set to `vorp` or `rsg` and the resource is missing, a warning is printed and the chat continues in standalone mode.

## Names show the player name instead of the character name

The player has not picked a character yet. The name updates by itself the moment they do.

If it never updates, the console line above will tell you the framework was not detected.

## A staff member has no badge and no Mod button

Check in this order:

1. The identifier in `Config.Staff` matches one the player actually has. Have them type `/rpchat_id` and compare.
2. You ran `restart rsm_rpchat` after editing the config.
3. There are no stray spaces or a missing prefix such as `license:` or `discord:`.

## A player says they have no job channel

Their job name is listed in `Config.NoJob`, or the name there does not match the one your framework uses. Job names are matched exactly and in lower case.

If `Config.JobRequiresDuty` is true, they also need to be on duty. VORP does not report duty state, so leave that setting false on VORP.

## Only nearby players see a message

That is what the channel's range is for. Open `Config.Ranges` and set the channel to 0 to remove the distance limit. See [Configuration](/script-documentation/cas-chat-v2/configuration.md).

## A mute did not stick after the player reconnected

Mutes are stored against the player's license. If the server cannot read any identifier for that player, the mute falls back to their name and will not follow them. Check that your server is not blocking identifiers.

## Messages are rejected as too long

`Config.MaxLength` is 256 characters by default. The count is in characters, not bytes, so the counter in the chat and the server limit always agree.

## Nothing above helped

Restart the resource with the console open and read everything it prints:

```
refresh
restart rsm_rpchat
```

Lines from this resource are prefixed with `[rsm_rpchat]`.
