3.0.4 Apr 5, 2024
HuskChat 3.0.4 - Bug fixes

HuskChat 3.0.4 fixes some bugs from the previous release.

  • Fixed permission names being incorrect
  • Fixed users on pre-1.19 on Velocity being unable to use commands if the packet event handler was in use
  • Fixed /localspy having the wrong config defaults for aliases and format
  • Updated the Simplified Chinese (zh-cn) locales, courtesy of jhqwqmc (#216)

To update from v3.0, just drag+drop. To update from v2.0, please regenerate all your config files (as there is a new config structure in place). To update from 3.0.x, just regenerate your filters.yml file!

3.0.3 Apr 2, 2024
HuskChat 3.0.3 - Bug fixes

HuskChat 3.0.3 fixes a config-related bug in the previous release.

  • Fixed exceptions when using the plugin on Bungee caused by a missing null-check on player servers (#210)
  • Fixed the filters.yml config file having missing options for filters/replacers due to bad polymorphic serialization

To update from v3.0, just drag+drop. To update from v2.0, please regenerate all your config files (as there is a new config structure in place). To update from 3.0.x, just regenerate your filters.yml file!

3.0.2 Mar 30, 2024
HuskChat 3.0.2 - Bug fixes

HuskChat 3.0.2 fixes a few other issues found in the previous release!

  • Fixed Discord messages being sent multiple times per chat message sent
  • Fixed console log messages being sent multiple times per chat message sent
  • Slightly improved the performance of /msg and /reply

To update from v3.0, just drag+drop. To update from v2.0, please regenerate all your config files (as there is a new config structure in place).

3.0.1 Mar 29, 2024
HuskChat 3.0.1 - Hotfix

HuskChat 3.0.1 fixes a bug with permission checks on Velocity in v3.0

  • Fixed a NullPointerException related to Velocity user permission checks

To update from v3.0, just drag+drop. To update from v2.0, please regenerate all your config files (as there is a new config structure in place).

3.0 Mar 29, 2024
HuskChat 3.0 - New config structure, API, better 1.19+ support

HuskChat 3.0 is a major update released due to significant internal changes having been made. This includes better support for modern Minecraft versions (this release no longer requires Un/SignedVelocity).

  • Simplified the plugin config structure. You will need to regenerate and re-create your config files for this release (sorry!)
    • config.yml has been simplified, containing main options
    • channels.yml are where your channel definitions now live (and the format has been adjusted)
    • filters.yml are where filter settings now live
    • This also resolves a common issue with users setting up the Discord hook caused by bad indentation/documentation
  • On Velocity, HuskChat will now perform chat message cancelling at the packet level, bypassing the need for (Un)-Signed velocity
    • You can disable this in the plugin config if you prefer, or are running a network targeting older versions of the game.
    • Unfortunately, SignedVelocity's plugin message approach is unreliable due to the design of plugin messages themselves.
    • You may encounter disconnect issues if you allow signed messages on passthrough-scoped channels, but given the majority of even backend chat plugins don't support signed messaging, this isn't likely to pose an issue much.
  • Added a regex chat filter.
    • Lets you filter messages against a list of illegal regex-formatted phrases.
  • Improved TAB completion on social/local-spy commands to now show the list of colors
  • Outbound group private messages will now automatically exclude yourself instead of failing with a "cannot message yourself" error.
  • Updated German (de-de) locales, courtesy of @Ceddix (#162)
  • Added a permission to silently join/leave servers, courtesy of @QarthO (#175)
  • Replaced Crafatar with Minotar for avatar fetching for the Discord hook, courtesy of @jurienhamaker (#181)
  • API: The way the HuskChat API is published has been changed.
    • APIs are now published per-platform; huskchat-(bukkit/bungee/velocity/common) can now be targeted.
    • Simply update your build scripts to target the net.william278.huskchat:huskchat-(PLATFORM) artifact
  • API: Added API for channels, courtesy of @TrueWinter (#183)

To update, drag+drop and regenerate your config files. spies.yml will be automatically converted/upgraded on startup.

2.7.1 Oct 17, 2023
HuskChat 2.7.1 - Hotfix

HuskChat 2.7.1 fixes a bug when running the plugin with SignedVelocity on Velocity proxies

  • Changed ChatListener PostOrder to LATE to fix SignedVelocity compatibility (#151)

To update, drag+drop. If you regenerate your config, it will be populated with the new options added in v2.7. Once again it's recommended that you move from UnsignedVelocity to SignedVelocity starting with this release.

2.7 Oct 17, 2023
HuskChat 2.7 - 1.20.2, Join & quit messages, fixes

HuskChat 2.7 adds support for Minecraft 1.20.2, adds the ability to send formatted join/quit messages when a player joins/leaves the server, and fixes a few bugs.

  • Added support for Minecraft 1.20.2
  • Added support for sending join and quit messages when a player joins/leaves the network (#107)
    • You can set the broadcast scope for sending these, override them with permissions, and use HuskChat placeholders & formatting as you'd expect
    • When using HuskChat on standalone Spigot/Paper servers, using non-PASSTHROUGH scopes will additionally cancel the default join/leave messages
  • Velocity: Added support for using the plugin with SignedVelocity, which is now recommended
  • Fixed the Discord hook not having sufficient permissions to post in some cases, and loading twice after running /huskchat reload (#140)
  • Added Russian (ru-ru) locales courtesy of @Apexo01 (#138)

To update, drag+drop. If you regenerate your config, it will be populated with the new options.

2.6.2 Sep 18, 2023
HuskChat 2.6.2 - Spicord support

HuskChat 2.6.2 adds support for Spicord (to enable two-way chat between in-game and Discord).

  • Added support for hooking with Spicord for two-way Discord chat (#127)
    • A new spicord section under discord has been added to the config.yml file
    • Allows two-way chat from both Minecraft to Discord and Discord to Minecraft, by defining channel ID <-> in-game channel send/receive maps. You can also define how Discord usernames be displayed in-game.
    • You can still just use a Webhook if you prefer

To update, just drag+drop. You may wish to regenerate your config file if you'd like to use the new features. Thanks!

2.6.1 Sep 10, 2023
HuskChat 2.6.1 - Hotfix

HuskChat 2.6.1 is a hotfix update. It also adds French (fr-fr) locale support.

  • Added French (fr-fr) locales, courtesy of XeroLe1er
  • Fixed the Discord webhook supporting mass-ping mentions

To update, drag+drop. No config changes!

2.5.1 Jun 27, 2023
HuskChat 2.5.1 - Hotfix

HuskChat 2.5.1 is a hotfix update to fix a few issues in the previous release.

  • Fixed the PAPIProxyBridge hook not working correctly on BungeeCord servers
  • Fixed the default Placeholder parser not working if the PAPIProxyBridge parser was enabled

To update from 2.5, just drag+drop.

2.5 Jun 27, 2023
HuskChat 2.5 - PAPI support, bug fixes & improvements

HuskChat 2.5 adds support for PAPIProxyBridge and fixes a number of bugs. It also has some important under-the-hood stability changes. Notably, HuskChat on Velocity now depends on UnsignedVelocity (and its' dependency, VPacketEvents).

  • Added a hook for PAPIProxyBridge to add PlaceholderAPI support, courtesy of @Heron4gf (#118)
    • To use PlaceholderAPI placeholders, install PAPIProxyBridge on both your Proxy and all Minecraft servers with PlaceholderAPI.
  • Carried out some extensive under-the-hood work to refactor various plugin components for a more stable user experience (#119)
  • HuskChat on Velocity now depends on UnsignedVelocity to ensure users are not kicked for dispatching an unsigned chat message (#72)
  • Added an update checker, and improved the layout of the about menu
  • Fixed an issue where formatting codes at the end of messages wouldn't be applied to the message text (#98)
  • Fixed an issue where messages displayed in the proxy server console would not be properly formatted (#106)
  • Added Español Mexicano locales (es-mx), courtesy of @jumento (#117)

To update, you should regenerate your config and messages files. Enjoy!

2.4.1 Feb 1, 2023
HuskChat 2.4.1 - 1.19.3 Velocity compatibility fix

HuskChat 2.4.1 fixes an issue caused by bad adventure-api shading that prevented the plugin from working on 1.19.3 with Velocity.

As a reminder, to run a chat plugin on a Velocity proxy with 1.19, you must use a special fork of Velocity that removes cancel-prevention checks on signed chat packets. I am now maintaining such a fork for 1.19.3 (as BetterVelocity hasn't been updated), so check the releases page for downloads. This is still just a stopgap until Velocity properly implements a chat API which we are waiting on. Thank you

  • Fixed an AbstractMethodError when sending a chat message on Velocity/1.19.3 caused by bad shaded API relocation

To update from 2.4, just drag+drop. There are no config changes.

2.4 Jan 22, 2023
HuskChat 2.4 - Server name formatting, bug fixes

HuskChat 2.4 adds the ability to tweak the way server names are formatted in the plugin config and fixes a number of bugs.

  • Added the ability to format or replace the displayed server name placeholder in the config, courtesy of @TrueWinter (#85)
  • Fixed an issue that meant text formatting was inconsistent between Bungee and Velocity by switching to MineDown-adventure
  • Fixed an issue that meant the player's channel wouldn't switch correctly when changing server to one that had a default channel set
  • Fixed local/global passthrough only passing through and not dispatching to the correct scope, courtesy of @TrueWinter (#75)
  • Fixed a formatting issue with a placeholder in the local spy message, courtesy of @TrueWinter (#74)
  • Fixed an issue that meant the relevant libraries/drivers for the profanity filter to work weren't detected properly in some circumstances
  • Added Simplified Chinese locales, courtesy of @10935336 (#86)
  • Updated the Bulgarian (bg-bg) locales

To update, just drag+drop.

2.3 Jul 28, 2022
HuskChat 2.3 - Minecraft 1.19(.1) support, Discord via webhooks & more


HuskChat 2.3
 adds support for Minecraft 1.19(.1). HuskChat will continue to make use of system messages for the foreseeable future for dispatching chat messages as proxy server APIs do not support chat reporting. As a result, Minecraft's new Chat Reporting functionality is incompatible with HuskChat.

  • Added support for Minecraft 1.19 and Minecraft 1.19.1
    • It is no longer possible to send a command to a passthrough channel through a command shortcut.
    • For example, if your "local" channel's scope is set to LOCAL_PASSTHROUGH with a shortcut command "/local", it is no longer possible to run /local hello!. You must first switch to the channel (by running /local or /channel local) before sending the message.
    • This only applies to channels with PASSTHROUGH , LOCAL_PASSTHROUGH and GLOBAL_PASSTHROUGH scopes.
    • This is because that functionality relied on API provisions that allowed the proxy to "spoof" the chat in order to pass it back to backend servers, which is no longer possible.
    • An error message has been added to inform players of this.
    • HuskChat will continue to make use of system messages for dispatching chat for the foreseeable future. Thank you for your understanding.
  • Added the ability to send messages from chat channel(s) to Discord by sending them via a webhook
    • One-way from Minecraft to Discord only, since Discord webhooks don't support sending messages from Discord.
    • You can choose between two Discord message display formats, one using an embed and the other not
    • A new section of the config has been added to support this.
  • You can now use chat filters and replacers on Broadcast messages and additional configuration parameters have been added to support this, courtesy of @TrueWinter (#63)
  • Fixed a bug that could occur loading the config file caused by loading chat filters assigned to nonexistant channels, courtesy of @TrueWinter (#59)
  • Added locales for Bulgarian (bg-bg), courtesy of Pukejoy_1
  • API: Added three cancellable API events courtesy of @TrueWinter. Events are supported on both Bungee and Velocity platforms. Example available here. (#60)
    • BroadcastMessageEvent - when a /broadcast message is sent
    • ChatMessageEvent - when a chat message is sent
    • PrivateMessageEvent - when a private message is sent

Please note that since Velocity for Minecraft 1.19.1 has not been released yet, I have not yet tested against Velocity for 1.19.1. It is my expectation that everything should work as anticipated, though.

To update, just drag+drop. You may need to regenerate your config and/or messages file.

2.2 May 22, 2022
HuskChat 2.2 - PMs via console, group PM opt-out, per-channel filter tuning

HuskChat 2.2 adds the ability for admins to send PMs over console, a new /optoutmsg command to let players silently leave group PMs they don't want to be in anymore and the ability to fine tune which filters apply to each channel and PMs. Alongside that, a bunch of small bug fixes and tweaks!

  • Allow console to send private messages courtesy of @TrueWinter in #49
    • Remember, has to be from the proxy server console. Super useful for admins, though!
  • Added per channel and private message filters courtesy of @TrueWinter in #54
    • You can now set which filters (and the emoji replacer) to use for each channel and for PMs
  • Added a new command - /optoutmsg - that lets you silently leave a group message you are in, courtesy of @TrueWinter in #53
    • A simple, useful command to leave a group message if your friends happen to be /r -chaining each other endlessly
    • Run this command and you won't be included in their /r reply chains
  • Properly escape username formatting for socialspy courtesy of @TrueWinter in #52
    • This was to do with a bug where users with double underscores prepended and appended to their name would have their username formatted according to MineDown specifications (their name would appear underlined)
  • Fixed tab complete being buggy for similar names courtesy of @TrueWinter in #46
  • Fixed an issue where HuskSync wasn't reflecting some banning plugins mute functionality on Velocity

To update, just drag+drop. Your config will automatically update with the new options available.

2.1.1 Apr 23, 2022
HuskChat 2.1.1 - German localisation

HuskChat 2.1.1 adds German (de-de) localisation courtesy of @Ceddix and fixes an issue with local and social spying.

  • Added German (de-de) localisation, courtesy of @Ceddix (#44)
  • Fixed an issue preventing /socialspy and /localspy showing the correct courtesy of @ironboundred (#43)

To update, just drag+drop.

2.1 Apr 23, 2022
HuskChat 2.1 - Group PMs, persistent spying, fixes & localisation

HuskChat 2.1 adds group private messages, makes social and local spy persistent across restarts, fixes numerous bugs and adds Hungarian locales.


  • Add support for private messaging a group, new config options (#42)
    • Use /msg User1,User2 <message> to privately message multiple people at once. Useful for coordinating on a group project on busy servers.
    • You can reply with /r as normal and the message will be sent to all group members.
    • Group PMs appear with a (+X) indicating how many people are in the group. Hover over this in chat to view the list. Click it to suggest the correct /msg command.
    • Admins can choose to enable or disable this and configure the maximum number of people one can message
  • Local and social spy persistence courtesy of @TrueWinter in #30
    • Your /socialspy and /localspy toggle state will now persist between restarts.
  • Add Hungarian language courtesy of @MalzSmith in #26
  • Escape player name to prevent text formatting courtesy of @TrueWinter in #32
    • This affected players who had names prepended and appended with a double underscore, where their names would appear underlined.
  • Added case insensitive emoji config option courtesy of @TrueWinter in #33
    • This lets you accept :sMiLe: in addition to :smile: to produce the correct emoji, if you want to do some wacky stuff with that.
  • Fixed a typo on a message courtesy of @notjoshmiles in #18
  • Added permission check before sending social/local spy messages courtesy of @TrueWinter in #38
    • If you lose permission to use socialspy, it will now automatically toggle you out of it.
  • Added socialspy bypass permissions courtesy of @ironboundred in #39
    • If you're an admin and don't want your mods spying on your funny business, you can use the new huskchat.command.socialspy.bypass permission node to prevent them from spying on you.
    • Other users with this node will still be able to spy on you.
  • You can now send messages to channels (e.g. g <message>) and use the /huskchat command via your proxy server's console, courtesy of @TrueWinter in #41
  • Fixed some inconsistencies and double-sending issues occurring with the /msg command.
  • Docs are now available on https://william278.net/docs/ and the link has been updated to reflect this. The docs on the GitHub wiki are synchronized with the docs on the site.

To update, just drag+drop.

2.0 Mar 18, 2022
HuskChat 2.0 - Velocity support, chat filters, AI profanity checking & more

HuskChat 2.0 is a major update that adds support for velocity, channel filters and expands the HuskChat command suite.

New features

  • Support for Velocity proxy servers
  • Added chat filters that lets you filter against:
    • Advertising (IP addresses, websites)
    • Caps (Set a max % of message that is caps)
    • Spam (Prevent users from sending messages too quickly)
    • Repeat (Prevent duplicate messages)
    • ASCII (Prevent weird Unicode characters in chat)
  • Also added: Profanity filter - Uses a Python Machine Learning algorithm via Jep to filter against English profanity. Requires a bit of setup (installing python and some dependencies).
  • Added a chat replacer for emoji that replaces character sequences with an emoji (e.g :-) becomes🙂)
  • Added /socialspy and /localspy commands to let you spy on PMs and local chat channels
    • You can also specify what color spy messages appear as with /localspy or /socialspy
  • Added /broadcast command to let you broadcast messages across your server
  • Added ability to customize command names and their aliases
  • Added support for BungeePerms suffix/prefix rendering
  • Improved config file handling via BoostedYaml
  • Added Italian (it-it) locales courtesy of xF3d3

Dependency changes

  • Bump com.github.johnrengelman.shadow from 7.1.0 to 7.1.2 by @dependabot in #10
  • Bump minedown-adventure from 1.7.1-SNAPSHOT to 1.7.2-SNAPSHOT by @dependabot in #9
  • Bump BungeePerms from 4.0-dev-108 to 4.0-dev-138 by @dependabot in #11
  • Bump org.ajoberstar.grgit from 4.1.1 to 5.0.0 by @dependabot in #13
  • Bump api from 5.3 to 5.4 by @dependabot in #12
  • Bump annotations from 22.0.0 to 23.0.0 by @dependabot in #16
  • Bump BungeePerms from 4.0-dev-138 to 4.0-dev-140 by @dependabot in #14

Update from HuskChat 1.0
You will need to regenerate your config.yml and messages-xx-xx.yml files to update to this release as the channel definition specification has changed. Future releases will update your config automatically.

1.0.2 Jul 21, 2021