GrimAnticheat / Grim

Fully async, multithreaded, predictive, open source, 3.01 reach, 1.005 timer, 0.01% speed, 99.99% antikb, "bypassable" 1.8-1.20 anticheat.
GNU General Public License v3.0
1.06k stars 301 forks source link

BadPackets X (False Positive) #1472

Open overkidding opened 4 months ago

overkidding commented 4 months ago

Describe the false positive and how to replicate it

Try to spam-break a the tallgrass block with a plugin that cancels the event of break and it will start spamming false flags

image

Grim version

Latest

Server version

1.8.8

Plugins

Grim, (Any other plugin that cancels a blockbreak event)

overkidding commented 4 months ago

The player was in 1.18

Anthony01M commented 4 months ago

Did not work for me on 1.20.4 client & server - I'm using spawn protection; will try with a plugin that cancels the event of breaking asap and update this message.

overkidding commented 4 months ago

Did not work for me on 1.20.4 client & server - I'm using spawn protection; will try with a plugin that cancels the event of breaking asap and update this message.

It's 1.8 server with 1.18 client

xEcho1337 commented 4 months ago

On what other versions can this be replicated?

ManInMyVan commented 3 months ago

I think when new versions break multi-block blocks they wait for the server, and legacy versions don't, and I think grim assumes the client does what one on the same server version would do. This would cause grim to think that the second block was also mined, but the client waited for the server, and broke the other one before the server told them it was air.

overkidding commented 3 months ago

I think when new versions break multi-block blocks they wait for the server, and legacy versions don't, and I think grim assumes the client does what one on the same server version would do. This would cause grim to think that the second block was also mined, but the client waited for the server, and broke the other one before the server told them it was air.

it happens also when the servers removes block by Block#setType to air and in the same tick the user tries to break the same block

jonesdevelopment commented 3 months ago

It also seems to happen on 1.20.4 Paper servers when mining kelp underwater.

ManInMyVan commented 1 month ago

I think when new versions break multi-block blocks they wait for the server, and legacy versions don't, and I think grim assumes the client does what one on the same server version would do. This would cause grim to think that the second block was also mined, but the client waited for the server, and broke the other one before the server told them it was air.

Pretty sure this is wrong