Skip to content

Chat filter ​

The proxy filters the chat of the players: the curse words are caught and the advertisements are blocked.

yaml
chat-filter:
  enabled: true
  curse-words: []
  block-advertising: true

The configuration ​

KeyDefaultWhat it does
chat-filter.enabledtrueThe filter runs at all. When it is off, every message goes through untouched.
chat-filter.curse-words[]The words that are not allowed.
chat-filter.block-advertisingtrueBlocks the messages that look like an advertisement.

The curse words ​

Leave curse-words empty and the plugin uses its own list:

niger, niga, neger, fagot, kanker, shit, fuck, damn, bitch, cunt, whore,
asshole, bastard, cock, dick, piss, pussy, vagina, retard, spastic, fag, nazi

Fill the list and your list is used instead — the built-in one is not added to it.

The filter is not a plain word search. It understands the ways people write around a word:

  • Numbers for letters. 4 is an a, 3 is an e, @ is an a, $ is an s, | is an l.
  • Accents. à, á, ä and å are all an a; é and ë are an e.
  • Gaps. A letter may be followed by anything: s.h.i.t is caught as well.

So f.u.c.k, fück and f.u.c.k all fall under the same word.

The advertisements ​

With block-advertising on, a message is caught when it holds:

  • an IPv4 address, for example 192.168.1.1;
  • a link, for example example.com, www.example.com or https://example.com/page.

The check is on the shape of the text, not on a list of domains — so a link to a site that nobody has heard of is caught as well.

What a player sees ​

The message is not blocked. The offending text is replaced by the same number of # characters, and the message goes out as it is. The player who wrote it is never told that anything happened.

Where the filter runs ​

WhereFiltered?
The global chatyes
A private message (/message, /reply, the message channel)yes
The party chat (/pchat, /party chat)no
The staff chat (/staffchat, the staff channel)no
Everything on a backend serverno — the filter only runs on the proxy

What the staff sees ​

When a message is caught, the staff are told about it:

  • in game, through the staff chat;
  • on Discord, in the reports channel — but only for the global chat. A private message that the filter caught stays between the staff.

The message that is shown to the staff is the original one — with the word still in it — so that they can judge it.

TIP

A message that holds a link or an address counts as bad language too: it brings the same warning for the staff and the same report on Discord, even though no word was wrong.

TIP

There is no permission that switches the filter off for a player. The filter is on or off for the whole network, with chat-filter.enabled.

TIP

The filter does not hold anybody back from playing. It is a filter on the words, not a punishment. A player who keeps doing it is a player for /report or for /mute.

Built with VitePress.