Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Breaking Checks #1639

Draft
wants to merge 5 commits into
base: 2.0
Choose a base branch
from
Draft

Conversation

ManInMyVan
Copy link
Contributor

@ManInMyVan ManInMyVan commented Aug 13, 2024

How can I compensate tick skipping in fastbreak?

@Souipi
Copy link

Souipi commented Aug 13, 2024

Why add your own checks that can be bypassed in 10 minutes? It would be better to fix a broken simulation.

Actually the prediction engine is just impossible to fix without breaking other things

@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from ad6c7d9 to 35247bb Compare September 1, 2024 20:30
@Dg32z
Copy link
Contributor

Dg32z commented Sep 30, 2024

QQ截图20240930115617
farbreak false when player tping

@ManInMyVan
Copy link
Contributor Author

QQ截图20240930115617
farbreak false when player tping

What's "d" and "m"?

@Dg32z
Copy link
Contributor

Dg32z commented Sep 30, 2024

QQ截图20240930115617Farbreak False 当玩家传送

什么是“d”和“m”?

I just changed Verbose to its abbreviation, the fact is

[to LiquidAirBreak](/GrimAnticheat/Grim/pull/1639/commits/cc540b6a8272ff92a30f7b68a245b30e8114adf7)
[cc540b6](/GrimAnticheat/Grim/pull/1639/commits/cc540b6a8272ff92a30f7b68a245b30e8114adf7)
@ManInMyVan
[Add breaking checks to punishments.yml](/GrimAnticheat/Grim/pull/1639/commits/e09930d1ef4419a180623ea6de6512fed2f512ec)
[e09930d](/GrimAnticheat/Grim/pull/1639/commits/e09930d1ef4419a180623ea6de6512fed2f512ec)
@ManInMyVan
[Fix PositionBreakA check name](/GrimAnticheat/Grim/pull/1639/commits/35247bba77e3217aeb0d74197cc574f148610aee)
[35247bb](/GrimAnticheat/Grim/pull/1639/commits/35247bba77e3217aeb0d74197cc574f148610aee)
@ManInMyVan ManInMyVan force-pushed the breaking-checks branch from ad6c7d9 to 35247bb Compare September 2, 2024 04:30
ManInMyVan added 9 commits September 1, 2024 17:01
@ManInMyVan
[rewrite fastbreak](/GrimAnticheat/Grim/pull/1639/commits/fc4e868aa40e8a488bc3c081aea23c6a8df9d1d9)
[fc4e868](/GrimAnticheat/Grim/pull/1639/commits/fc4e868aa40e8a488bc3c081aea23c6a8df9d1d9)
@ManInMyVan
[make BlockBreakCheck an interface](/GrimAnticheat/Grim/pull/1639/commits/038496268cc31c881b32ad74a394973caaacc362)
[0384962](/GrimAnticheat/Grim/pull/1639/commits/038496268cc31c881b32ad74a394973caaacc362)
@ManInMyVan
[add FarBreak](/GrimAnticheat/Grim/pull/1639/commits/b174affd9a701348b714776f18a96434462d6599)
[b174aff](/GrimAnticheat/Grim/pull/1639/commits/b174affd9a701348b714776f18a96434462d6599)
@ManInMyVan
[WrongBlock -> WrongBreak](/GrimAnticheat/Grim/pull/1639/commits/ad644f7b1473f2abd2a92888a5eb328e58b8f2d1)
[ad644f7](/GrimAnticheat/Grim/pull/1639/commits/ad644f7b1473f2abd2a92888a5eb328e58b8f2d1)
@ManInMyVan
[don't require implementing onBlockBreak](/GrimAnticheat/Grim/pull/1639/commits/fef3bd5b6e8608a64199950e12850dc422ab3d8e)
[fef3bd5](/GrimAnticheat/Grim/pull/1639/commits/fef3bd5b6e8608a64199950e12850dc422ab3d8e)
@ManInMyVan
[fix some falses in vehicles](/GrimAnticheat/Grim/pull/1639/commits/5c854047c08edb08a6b25c95ddc2e001995bc845)
[5c85404](/GrimAnticheat/Grim/pull/1639/commits/5c854047c08edb08a6b25c95ddc2e001995bc845)
@ManInMyVan
[fix some more falses](/GrimAnticheat/Grim/pull/1639/commits/8de56753fef4fedca433335fc2faf373a495e0e2)
[8de5675](/GrimAnticheat/Grim/pull/1639/commits/8de56753fef4fedca433335fc2faf373a495e0e2)
@ManInMyVan
[Add RotationBreak](/GrimAnticheat/Grim/pull/1639/commits/1f077722d532e1aec3de1db35af5261990fbf2e9)
[1f07772](/GrimAnticheat/Grim/pull/1639/commits/1f077722d532e1aec3de1db35af5261990fbf2e9)
@ManInMyVan
[Add NoSwingBreak](/GrimAnticheat/Grim/pull/1639/commits/009422d0d02ea0c1220025e4c1c4ed1ebd0da3e3)
[009422d](/GrimAnticheat/Grim/pull/1639/commits/009422d0d02ea0c1220025e4c1c4ed1ebd0da3e3)
@ManInMyVan ManInMyVan force-pushed the breaking-checks branch from af717b2 to

I just changed Verbose to its abbreviation, the fact is if (flagAndAlert("d= " + Math.sqrt(min) + "\nm= " + maxReach) && shouldModifyPackets()) {

@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from 0f7a11f to b6df7a3 Compare October 14, 2024 20:55
@ManInMyVan ManInMyVan marked this pull request as ready for review November 8, 2024 04:20
@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from 1ff02e8 to e334fff Compare November 12, 2024 02:44
@Dg32z
Copy link
Contributor

Dg32z commented Nov 26, 2024

In version 1.8 of the server, org.bukkit.block.data.BlockData does not exist, causing players to be kicked when start resyncPosition

@ManInMyVan
Copy link
Contributor Author

ManInMyVan commented Nov 26, 2024

In version 1.8 of the server, org.bukkit.block.data.BlockData does not exist, causing players to be kicked when start resyncPosition

it shouldn't be using BlockData unless the server is 1.13+

I wonder if it's getting UNKNOWN as the server version

@Axionize
Copy link
Contributor

Axionize commented Dec 1, 2024

If you're still struggling to account for tick skipping have you considered calling your method everytime the client ticks reliably, and if your check runs and the client hasn't been ticking reliable, to just give the client the maximum possible uncertainty within the time since the last break and current time as uncertainty?

@DimaSergeew
Copy link

That’s a solid suggestion! Even though I'm not a coder, it sounds like a great approach to handle tick skipping. Adjusting uncertainty based on time difference could really help with more accurate detection. I agree, it's worth testing out!

@Axionize
Copy link
Contributor

Besides your ray trace check (FastBreakB) giving extra uncertainty to 1.8 players when they don't need it, I see nothing wrong? Are there any known issues still plaguing this check?

@ManInMyVan
Copy link
Contributor Author

giving extra uncertainty to 1.8 players when they don't need it

Where

@Axionize
Copy link
Contributor

Axionize commented Dec 21, 2024

In FastBreakB you expand eyePositions by eyePositions.expand(player.getMovementThreshold()); whereas in PositionBreakA you expand by !player.packetStateData.didLastMovementIncludePosition || player.getClientVersion().isNewerThanOrEquals(ClientVersion.V_1_9) ? player.getMovementThreshold() : 0. Is there any particular reason you expand by the later in PositionBreakA but by the former in FastBreakB?

@ManInMyVan
Copy link
Contributor Author

In FastBreakB you expand eyePositions by eyePositions.expand(player.getMovementThreshold()); whereas in PositionBreakA you expand by !player.packetStateData.didLastMovementIncludePosition || player.getClientVersion().isNewerThanOrEquals(ClientVersion.V_1_9) ? player.getMovementThreshold() : 0. Is there any particular reason you expand by the later in PositionBreakA but by the former in FastBreakB?

I just copied it from rotationplace

@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from 54e7925 to 8576be9 Compare December 31, 2024 18:58
@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from 5561b6c to 3120556 Compare December 31, 2024 19:11
@ManInMyVan ManInMyVan force-pushed the breaking-checks branch 2 times, most recently from 1d6deec to ba4cece Compare December 31, 2024 19:49
@ManInMyVan ManInMyVan added the status: rebase required The pull request needs rebasing onto the merge branch label Jan 2, 2025
@ManInMyVan ManInMyVan marked this pull request as draft January 31, 2025 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: rebase required The pull request needs rebasing onto the merge branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants