DevLeoko / AdvancedBan

AdvancedBan is a Spigot plugin to manage punishments on single servers and server networks
GNU General Public License v3.0
156 stars 128 forks source link

When somebody changes their username, they get unpunished. #620

Closed ghost closed 9 months ago

ghost commented 1 year ago

What version of AdvancedBan (/AdvancedBan) are you using? 2.3.0

What kind of server do you have (Bungeecord/single server)? single server

What server version (/version) are you using? This server is running Paper version git-Paper-448 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 155aa36) You are running the latest version Previous version: git-Paper-431 (MC: 1.19.3)

Please provide the EXACT steps required to reproduce the problem...

  1. Get any type of punishment.
  2. Change your username.
  3. Your punishment is now gone.

Any error/log post it through pastebin.com and link it here. (Also include /plugins/AdvancedBan/logs/latest.log)

Add any additional information below.

Hopefuls commented 1 year ago

Are you using a server in cracked/offline mode?

If so, that is a limitation in cracked servers entirely. Consider setting online mode on your server to avoid name changes unbanning users, as bans are then associated with their uuid.

ghost commented 1 year ago

I’m using waterfall so I must have offline mode. When I said single server in the question “What kind of server do you have (Bungeecord/single server)?” I meant I wasn’t using the AdvancedBan plugin on the waterfall proxy server.

Hopefuls commented 1 year ago

I’m using waterfall so I must have offline mode. When I said single server in the question “What kind of server do you have (Bungeecord/single server)?” I meant I wasn’t using the AdvancedBan plugin on the waterfall proxy server.

advancedban does not support being installed on the subserver, put the plugin on your proxy, remove it from your subserver and that should do the trick

ghost commented 1 year ago

I can’t do that because I’m using a host called Minefort which is like Minehut where you don’t have access to the proxy server.

Hopefuls commented 1 year ago

Then AdvancedBan is unfortunately not the plugin you're looking for, as it will cause issues like that if not being properly installed

Zhou-Shilin commented 1 year ago

Why don't you try /banip?

ghost commented 1 year ago

The command /ban-ip blocks the IP Address, not the UUID. They could change their IP address by various methods to bypass the punishment.

Zhou-Shilin commented 1 year ago

The command /banip is pretty extreme if you didn’t know so I don’t want to use that and /banip doesn’t block the username directly it blocks the IP so if someone was to get a VPN on, they could still join.

If that's the case, then you'd better turn on the online mode.

ghost commented 1 year ago

I don’t know if you read the previous replies, but I need offline mode for waterfall.

Zhou-Shilin commented 1 year ago

Maybe you can try to implement "fake online mod" through a plugin? Ask players to provide accessToken when they first log in, and then verify that the accessToken is paired with the player's uuid. I'm not sure if there is such a plugin, but I'm sure it can be implemented.

Zhou-Shilin commented 1 year ago

There is actually a simpler solution: whitelist.

ghost commented 1 year ago

My server is public so that wouldn’t be practical.

Onako2 commented 11 months ago

The subserver still gets the real UUID of the player. When the subserver recieves the UUID it links the UUID with a username. The server will notice once someone changes their username. Once the username changes you could ban the new player and unban the old player or just directly edit it in the database.

A248 commented 10 months ago

You have to tell AdvancedBan to use the correct "UUID mode." By default, it will auto-detect if your server is cracked and therefore use player names. There's a config option which lets you set the UUID mode to "intern."

Make sure your backend server has player information forwarding correctly configured, of course.