Skip to content

Chat rules

A chat rule is a handful of words and what to do when somebody says one of them. CerebRUST already reads every message on your server, so a rule costs nothing extra to run.

Find it under Configure → Chat rules. Creating and changing rules is an admin action, because a rule can mute somebody by itself. Anyone with access can read them — “why did that player get muted?” is exactly a moderator’s question.

Any combination of:

  • Alert the staff inbox — a notification in the dashboard for everyone with access.
  • Post to Discord — to whichever channel you have pointed the Chat trigger alerts feed at. It quotes what was said, so keep that channel staff-only.
  • Mute them, for up to a day.
  • Warn them in game, with a message you write. It goes into their moderation history like any other warning.

A rule has to do at least one of those. A rule that matches and does nothing is indistinguishable from a rule that is broken, and you would find out by noticing that nothing ever happened.

A rule will never ban. Automated moderation that can remove somebody permanently should have a person in the loop, so the most a rule can do on its own is mute for a day.

This is the setting people get wrong, so there is a Test box below the composer — type a line and see whether the rule would fire on it, before you save anything.

Whole words splits the message on anything that is not a letter or a number and looks for your term as one of the pieces. It will not fire on grass for ass. It still sees through punctuation stuck to a word, so join!us!now matches join and (rustopia) matches rustopia.

Anywhere in the line is a plain substring search. Use it for things that live inside other text — discord.gg in the middle of a URL, or a phrase.

Neither one defeats somebody spacing a word out as j.o.i.n. Catching that would also mean firing join on “banjo in”, which is a worse trade for a rule that can mute people.

There is deliberately no regular-expression option. Rules run against every message on every server as it arrives, and one badly-shaped pattern could slow down the whole platform.

Each rule has a cooldown, five minutes by default, per player. Without one a spammer generates one alert per message and you learn to ignore the feed — which is the opposite of what the rule is for.

The fired count on the list counts matches, not alerts. A rule held back by its own cooldown still counts, so a noisy rule looks noisy and you can tune it.

Matches are not stored as a separate history. Whatever the rule did is kept — the notification, the Discord message, the mute in the player’s moderation log — but there is no fourth copy of your players’ chat sitting in a table with nothing deleting from it. The counter and “last fired” on the rule are what you tune from.