Skip to content

Search the store

Find products and categories.

Chat

Bridge public chat across server groups, network alerts, mute chat, slow chat, clear chat and the Catalyst chat filter.

Public chat

Bridge handles public chat on every Paper server. A message reaches players on the same server and on every other server in the same group, set by group in Kernel's kernel.yml.

Each line shows the player's tag, rank prefix, name in their rank colour and suffix. The format is chat.format in plugins/Bridge/messages.yml.

  • Muted players can't send public chat. They see their mute's reason and time left.
  • Players with bridge.chat.color can use & colour codes.
  • If you've switched to another channel, such as Sentry's staff chat, start a message with ! to send it to public chat.

Network alerts

/alert <message> (also /broadcast or /bc) sends a message to every Paper server running Bridge. It accepts MiniMessage. It needs bridge.command.alert.

Chat controls

CommandPermissionWhat it does
/mutechatbridge.command.mutechatTurns public chat off or on for everyone without bridge.chat.bypass.
/slowchat <duration>bridge.command.slowchatMakes players wait between messages, like 5s. off or 0 turns it off.
/clearchatbridge.command.clearchatClears chat for players without bridge.chat.staff. Staff get a notice.

Chat filter

The filter checks every public chat message against rules stored in Catalyst. Each rule has:

FieldValues
phraseThe text or pattern to look for.
matchingcontains (anywhere in the message), exact (the whole message) or regex.
actionallow, block or punish.
case_sensitivefalse by default.
punishmentWith punish: warn, kick, mute, ban or blacklist.
durationWith punish: length in milliseconds. Leave it out for permanent.
enabledtrue by default.

allow rules are checked first, so they can let through a message a block rule would stop. A blocked message is never sent and the sender gets a notice. A punish rule also issues the punishment with the reason "chat filter:" followed by the phrase.

Bridge has no in-game filter editor. Add rules through Catalyst's API with a key that has filter rights, such as your bootstrap key:

curl -X POST http://127.0.0.1:8080/v1/filters \
  -H "Authorization: Bearer cat_mynet_replace-with-your-key" \
  -H "Content-Type: application/json" \
  -d '{"phrase": "discord.gg/", "matching": "contains", "action": "block"}'

GET /v1/filters lists rules, and PATCH or DELETE on /v1/filters/<id> changes or removes one. The full reference is at /docs on Catalyst's address, which also needs a key. Servers load the rules on start and every five minutes after that.