emotes icon indicating copy to clipboard operation
emotes copied to clipboard

Emote Moderation System For Servers

Open Carter4242 opened this issue 5 months ago • 2 comments

Allows you to turn a server-side version of Emotecraft into "whitelist mode", which makes it so only emotes that the server admin uploads to the server-side whitelist directory can be used. Emotes that aren't whitelisted will be canceled and won't be displayed to other users.

This is accomplished efficiently by checking the hash of the emote, which is generated by checking all of the emote's unique properties, namely all boneAnimations frames, any sounds, and any particles.

How these properties are structured could easily change from version to version of Emotecraft, so it's only guaranteed that this will work if the client and server are on the same version of Emotecraft. However, from my testing, all 3.0 versions including the latest self-compiled version from build 106 onward have worked fine with this.

Server-side hashes are only taken once, unless an emote is modified, or the emotecraft jar is updated. Hashes are refreshed when the server is started, or via /emotes whitelist reload. You can also force a new hash to be taken of every emote via /emotes whitelist force-reload.

This module does nothing unless you set the new config option enableServerEmoteWhitelist to true. It doesn't do anything for clients.

Carter4242 avatar Jul 23 '25 14:07 Carter4242