EssentialsX

EssentialsX

2M Downloads

Vanished Players Talking Kicks All Players

BrandonT80 opened this issue ยท 17 comments

commented

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

  1. Use /vanish
  2. Type anything into chat and hit enter
  3. 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"

Video: https://www.youtube.com/watch?v=7hqMcBQx90A&t=81s

commented

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

commented

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?

commented

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();
	}
commented

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.

commented

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.

commented

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.

commented

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

commented

This has been fixed in the latest Paper builds.

commented

Just checked up on this issue and it seems only essentials has this issue, im regarding to the issues in PaperMC/Paper#8777

commented

Reopening this to re-confirm and look deeper into it instead of making a new issue

commented

image
Confirming still broken as of essentialsx dev build 39, and paper build 376.

commented

Hey, just curious upon the progress on this.

commented

Hey, just curious upon the progress on this.

Safely assume pending unless we post an update or close the issue.

commented

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.

commented

Fixed in the latest Paper builds.

commented

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

commented

This bug is happening again i think as i am having issues