Vanished Players Talking Kicks All Players
BrandonT80 opened this issue ยท 17 comments
Type of bug
Other unexpected behaviour
/ess dump all
output
https://essentialsx.net/dump.html?id=2ba1753e3f994e93ba34ee4765ab74c7
Error log (if applicable)
No response
Bug description
If a player in vanish types anything into chat, all players get kicked for "chat message validation failure."
Steps to reproduce
- Use /vanish
- Type anything into chat and hit enter
- All players besides you get kicked
Expected behaviour
Be able to type in chat like normal.
Actual behaviour
All players get kicked with the error: "chat message validation failure"
This bug is related to that is an Online Mode server in one of the latest Minecraft version with the chat report system and when you enable the vanish you don't appear in the players client, making clients not know where the message comes from causing that error.
The solution will be disabling enforce-secure-profile in the server.properties or using a plugin like NoEncryptation
This bug is related to that is an Online Mode server in one of the latest Minecraft version with the chat report system and when you enable the vanish you don't appear in the players client, making clients not know where the message comes from causing that error. The solution will be disabling enforce-secure-profile in the server.properties or using a plugin like NoEncryptation
We do have enforce-secure-profile disabled but it still occurs. Would it be better to redirect messages while in vanish to the server?
In my own plugin for the server I made this to handle the event to avoid this from happening.
final IEssentials ess = (IEssentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials");
@EventHandler
public void vanishChatMessageEvent(AsyncPlayerChatEvent event)
{
if(ess.getUser(event.getPlayer()).isVanished())
{
event.setCancelled(true);
try
{
sendConsoleMessage(event.getMessage());
}
catch(Exception e)
{
logger.log(Level.WARNING, e.toString());
}
}
}
private void sendConsoleMessage(String message) throws InterruptedException, ExecutionException
{
boolean success = Bukkit.getScheduler().callSyncMethod( Bukkit.getPluginManager().getPlugin("WingSMP"), new Callable<Boolean>() {
@Override
public Boolean call() {
return Bukkit.dispatchCommand( Bukkit.getConsoleSender(), "say " + message );
}
} ).get();
}
https://essentialsx.net/dump.html?id=b62825d30d5048bca6b62f6fdb93ae77
Following on with this bug, I opened a new server and looked for similar plugins that both me and Brandon had, after some testing it turns out theres no plugin collisions.
I've also tried changing the startup flags, originally it was the Aikar's Flags then I switched back to the default version flags and the issue still occurred.
Some extra information, this issue occurs ONLY (we've only tested Vanillia, Optifine and Lunar) on Vanilla minecraft, i've linked the server dump in case theres some more information there. All the plugin data is new and nothing has been changed inside the config.
This is an issue that can occur on 1.19.3 servers since the player may not exist in the tab list when they chat (which is not allowed as part of chat validation). Until there is a fix upstream or in a further MC release the workaround is to not chat while vanished.
Preventing players from chatting while vanished from within Essentials is a possibility as Brandon mentioned -- however I think we would want to avoid this and ideally wait for a better solution.
Thanks for the insight. Again not sure if we'll end up doing anything of the sort, for now just want to point out that this doesn't appear to be an Essentials-specific issue.
This is an issue that can occur on 1.19.3 servers since the player may not exist in the tab list when they chat (which is not allowed as part of chat validation). Until there is a fix upstream or in a further MC release the workaround is to not chat while vanished.
Preventing players from chatting while vanished from within Essentials is a possibility as Brandon mentioned -- however I think we would want to avoid this and ideally wait for a better solution.
Other plugins redirect all chat to the server, could possibly go down that route too. Mine does that but uses /say rather than message sending to all online players
Just checked up on this issue and it seems only essentials has this issue, im regarding to the issues in PaperMC/Paper#8777
Reopening this to re-confirm and look deeper into it instead of making a new issue
Hey, just curious upon the progress on this.
Safely assume pending unless we post an update or close the issue.
I feel like I experience a similar problem, but I cannot really reproduce it consistently, so I might as well be wrong. There are just sometimes random kicks of all players when a certain message is sent since 1.19.3
This error is not exclusive to Essentials vanish; it can be produced for a variety of reasons. This issue is for tracking as it relates to vanish specifically, so please open a separate issue if you can confirm that it happens using a different Essentials feature.
I feel like I experience a similar problem, but I cannot really reproduce it consistently, so I might as well be wrong.
There are just sometimes random kicks of all players when a certain message is sent since 1.19.3