Authored by Devon Thome 🖥

Getting Started with Discourse

Thank you for purchasing Discourse!

Discourse uses many methods and algorithms to reduce and block bots and spam-like activity on your Minecraft servers. Discourse is almost entirely configurable to work where you need it. This guide will assist in getting you started.


When you install Discourse, start and stop your server to generate your Discourse configuration. This file allows you to customize almost every aspect of the plugin. It's important to run through it to ensure that its as unintrusive to players as possible.


Discourse uses a few different methods to block and reduce spam on your server.


Antibot prevents the most common signs of bot activity by denying chatting until users prove their human via various methods.

  • Movement Enforces that users move at least x blocks from their join location before they can speak or run commands. If you find bots to be bypassing this check, we recommend increasing the radius that's required to move.
  • JoinDelay Enforces a minimum delay from joining before users can speak or run commands. This prevents bots that join, send a chat message, then disconnect immediately. If you find this method to be ineffective, we recommend increasing the delay.


Designed to prevent users from using specific words or phrases over multiple accounts. For example: If a user joins and advertises their YouTube channel from many accounts, you may consider adding their channel link as a honeypot phrase.

When a user says a honeypot phrase, all of their further chat and commands are blocked, then they're disconnected for the reason "Timed Out" a few seconds later. This message makes it seem as though they have a poor server connection and hopefully makes them give up and leave.


Discourse's AntiSpam module is one of the most robust available. AntiSpam doesn't just look at the raw message sent, but it also looks at context. It's even smart enough to ignore things like symbols or repeated characters.

  • Player History Discourse remembers the last 25 chat messages and commands sent by a player for up to 1 minute. This history is checked against whenever the player attempts to submit another message.
  • Global History The last 100 chat messages sent by everyone on the server is kept in a global store for up to 1 minute. We also check all sent messages against this global store.
  • Similarity Matching Blocks messages that are too similar to other messages sent before
  • Ignore Special Characters Tells Discourse to pretend that symbols sent in messages don't exist for the purposes of analyizing
  • Ignore Repeats Tells Discourse to treat words like hi and hiiiiiii as the same thing

Command Exemption

If you don't want a specific command to be spam checked, add it to this list


Discourse can also apply spam rules to sent commands, to stop thins like PM and /me spamming.

  • Delay The minimum amount of time players must wait between sending commands.
  • Exact History Match Block a command if it's exactly the same as one they previously sent
  • For All Commands True or false. If true, all commands will be filtered.
  • For Some Commands Only filters the specified commands in the list


Enforces additional rules for chatting.

  • Delay The minimum amount of time users must wait between chat messages.
  • Join Delay The minimum amount of time users must wait before chatting since joining
  • Block If History Match Blocks a chat message if it's similar to one that has been sent before
  • Block If Character Minimum Only applies blocking to chat messages at least this long. (Prevents filtering for messages like "Hi")
  • Block If Character Count Exceeds Prevents use of clients that allow bypassing Minecraft's default chat message character limit
  • Block If Symbol Makeup Prevents chat messages that are this % symbols


Makes your chat just a bit cleaner.


Prevents excessive yelling automatically. If these rules are broken, the message will be fully lowercase converted and the player who sent it will be asked to stop yelling.

  • Minimum Length The minimum message length to be watched for anti-caps. (Allows for messages like HEY and LMAO)
  • Block If Caps Percentage Filters a message if it's higher then this % of capital letters
  • Block If In A Row Filters a message if this many letters are uppercase in a row

Spammy Names

Spammy names exist all over Minecraft. Usually they get a pass but they can be obnoxious for your chat. If enabled, users with names that meet the typical message spam criteria will be blocked from chatting and asked to change their username.


Automatically broadcasts configured messages on the configured time period.


Prevents ill content from being sent to your chat.

Bad Words

Words in this list will be censored from messages. Uses intelligent filtering to prevent symbol seperation and duplicate character bypasses.

Allowed URLs

These URLs will be allowed to be sent in chat. Any other mentioned sites will be filtered.


  • /clearchat - Sends 100 empty lines to clear all online players' chats (dioscourse.clear)
  • /globalmute - Prevents all users from chatting that don't have the discourse.globalmute permission (discourse.globalmute)
  • /strictmode - Enables bot prevention mode. Detailed below. (discourse.strictmode)

What is Strict Mode?

Strict Mode increases sensitivity for all Discourse filters while active. Keep in mind, this will ALSO increase false positives, so you will not want to use it unless your server is actively under attack.


Permissions for commands are listed above. Additionally, grant discourse.bypass to anyone you want to bypass spam filtering.

Automatic Banning

Discourse will autoban those with high violations for 15 minutes. The command used is tempban PLAYER 15m Spam (or related) -Discourse. Currently this is not configurable. Plugins like Essentials and LiteBans are compatible with this ban format.

If you need help, email Thank you for your purchase.

9 Bytes
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment