AntiCheatAddition icon indicating copy to clipboard operation
AntiCheatAddition copied to clipboard

🔴 | ESP /command +tab not return player name which was hidden

Open rejomy opened this issue 1 year ago • 10 comments

Esp check hide a player, for example Rejomy, when i try to use /msg re +tab, i can't get Rejomy's name

rejomy avatar Jun 10 '24 03:06 rejomy

This is expected due to how spigot's hidePlayer functions. Not sure if I will try to fix that.

Photon-GitHub avatar Jun 10 '24 16:06 Photon-GitHub

This is expected due to how spigot's hidePlayer functions. Not sure if I will try to fix that.

Have you thought about intercepting Server.PACKET_TAB and adding hidden players nickname to it as needed?

rejomy avatar Jun 10 '24 18:06 rejomy

The tablist is already modified by sending a custom tablist packet. However, the tabcompletion of minecraft is vastly different across different versions, especially 1.8.8. Even if I implemented it, it would likely only be available for newer versions.

Photon-GitHub avatar Jun 10 '24 18:06 Photon-GitHub

This is expected due to how spigot's hidePlayer functions. Not sure if I will try to fix that.

Hello, Same problem here, but this affects all commands requiring a player to be connected. The names of the players are therefore not proposed in commands, UNLESS the player is visible. Even if we write the player's nickname ourselves the command does not work. For example, players can no longer send each other PMs, mods can no longer kick or mute players because they are considered not connected. This did not happen under protocolllib, since ACA uses packetevents, the ESP has become too efficient and breaks all the commands + the tablist so suffice to say that the ESP has become useless and unusable on a server in production :/

Without correction no one will really be able to use ESP anymore, yet it is one of the most interesting functions of ACA (for my server at least).

One of my mods made this video to illustrate the commands + tablist problem: https://github.com/Photon-GitHub/AntiCheatAddition/assets/8831222/7edc93dc-bb8f-4dcf-8c43-664d60a42703

The scale of the problem is also visible here. Client stats shows 0 unique players connected during the day, except there were dozens of players connected): image

Chevels avatar Jun 25 '24 22:06 Chevels

This is expected due to how spigot's hidePlayer functions. Not sure if I will try to fix that.

Hello, Same problem here, but this affects all commands requiring a player to be connected. The names of the players are therefore not proposed in commands, UNLESS the player is visible. Even if we write the player's nickname ourselves the command does not work. For example, players can no longer send each other PMs, mods can no longer kick or mute players because they are considered not connected. This did not happen under protocolllib, since ACA uses packetevents, the ESP has become too efficient and breaks all the commands + the tablist so suffice to say that the ESP has become useless and unusable on a server in production :/

Without correction no one will really be able to use ESP anymore, yet it is one of the most interesting functions of ACA (for my server at least).

One of my mods made this video to illustrate the commands + tablist problem: https://github.com/Photon-GitHub/AntiCheatAddition/assets/8831222/7edc93dc-bb8f-4dcf-8c43-664d60a42703

The scale of the problem is also visible here. Client stats shows 0 unique players connected during the day, except there were dozens of players connected): image

This has nothing to do with PacketEvents / ProtocolLib. ACA now uses the hidePlayer() function of Spigot because this allows for API stability, as in, ESP no longer needs lots of changes when a new Minecraft version is released. I could maybe change the tab events, but that might cause incompatibilities with vanish or rename plugins, as me adding the player name to the tablist might counteract the removal from such plugins.

I have submitted a proposal for a new API in Spigot to cover that, but it has not been added yet, even after 1 year has passed. The issue: https://hub.spigotmc.org/jira/browse/SPIGOT-7272

Photon-GitHub avatar Jun 26 '24 00:06 Photon-GitHub

This is expected due to how spigot's hidePlayer functions. Not sure if I will try to fix that.

Hello, Same problem here, but this affects all commands requiring a player to be connected. The names of the players are therefore not proposed in commands, UNLESS the player is visible. Even if we write the player's nickname ourselves the command does not work. For example, players can no longer send each other PMs, mods can no longer kick or mute players because they are considered not connected. This did not happen under protocolllib, since ACA uses packetevents, the ESP has become too efficient and breaks all the commands + the tablist so suffice to say that the ESP has become useless and unusable on a server in production :/ Without correction no one will really be able to use ESP anymore, yet it is one of the most interesting functions of ACA (for my server at least). One of my mods made this video to illustrate the commands + tablist problem: https://github.com/Photon-GitHub/AntiCheatAddition/assets/8831222/7edc93dc-bb8f-4dcf-8c43-664d60a42703 The scale of the problem is also visible here. Client stats shows 0 unique players connected during the day, except there were dozens of players connected): image

This has nothing to do with PacketEvents / ProtocolLib. ACA now uses the hidePlayer() function of Spigot because this allows for API stability, as in, ESP no longer needs lots of changes when a new Minecraft version is released. I could maybe change the tab events, but that might cause incompatibilities with vanish or rename plugins, as me adding the player name to the tablist might counteract the removal from such plugins.

I have submitted a proposal for a new API in Spigot to cover that, but it has not been added yet, even after 1 year has passed. The issue: https://hub.spigotmc.org/jira/browse/SPIGOT-7272

It's a shame that they don't do anything about it because as it stands, with this method the ESP is useless and breaks too many things to be able to be used :/ I hope a solution will be found.

If you think it might be useful, I can sign up at hub.spigotmc.org and leave a comment (?). if others do it too it could perhaps bring this problem to the fore.

Chevels avatar Jun 26 '24 16:06 Chevels

Hello ! Any news or hope to see ESP feature repaired ? :/

Chevels avatar Aug 16 '24 14:08 Chevels

The issue has seen no updates so far. https://hub.spigotmc.org/jira/browse/SPIGOT-7272?filter=-2 I could replicate the old system again, but only with very high maintenance and adjustments for every new minecraft version. Therefore, I don’t want to implement it without a proper Spigot API.

Photon-GitHub avatar Aug 16 '24 18:08 Photon-GitHub

The issue has seen no updates so far. https://hub.spigotmc.org/jira/browse/SPIGOT-7272?filter=-2 I could replicate the old system again, but only with very high maintenance and adjustments for every new minecraft version. Therefore, I don’t want to implement it without a proper Spigot API.

:/ And Paper didn't get around this problem?

Chevels avatar Aug 16 '24 18:08 Chevels

Not that I know of. However, even if it did, I could not really use it given that my plugin is hosted on spigotmc.org. I don't think you can upload plugins that only work on a fork.

Not to mention the guaranteed support nightmare of telling people that they have to switch to a fork with paper API support.

Photon-GitHub avatar Aug 16 '24 20:08 Photon-GitHub