isXander / isXander/Debugify

[Bug] Bugfix for MC-199467 causes issues with anticheats

Open
#545 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
215
Forks
50
Avg merge
9d 6h
Merged PRs (30d)
1

Description

Bug Description

while working on Grim anticheat, I discovered that this bugfix in Debugify causes a significant loss in prediction precision down to E-4 (while vanilla maintains E-15). this may be noticeable in gameplay, as Grim may detect players and teleport them back.

Modifications to the cos/sin lookup table affect almost every aspect of the game, such as movement, combat, block placement, and even world generation (iirc)

This issue only exists in versions 1.21.10 and lower, and the root cause is:
https://github.com/isXander/Debugify/blob/archive/1.21.10/src/main/java/dev/isxander/debugify/mixins/basic/mc199467/MthMixin.java

historically, we've already had a similar case with OptiFine's FastMath option, which caused many issues, as shown below:
https://youtu.be/bPEIorUz-TA
https://youtu.be/npjE57HBtVg
https://youtu.be/Juz9bDZa5rc
https://youtu.be/eMDajBi_QW0

How to Reproduce?

debugify: https://youtu.be/JpX_0hlefak
vanilla: https://youtu.be/dRl7kCeRs7M

Expected Behavior

not alter vanilla behaviour

Version

1.21.10+1.0

Fabric/Quilt Loader Version

0.18.4

Logs or additional context

I think the correct way of solving this problem in older versions is to find places where entity's age calculations happen and inject into these methods.

due to the popularity of older versions of this mod and the modpacks that include it, simply ignoring the issue is not a viable option, as thousands of players could be falsely flagged for game modifications they were not even aware they had installed.

I don't know what your policy is regarding issues like this, but updating older versions of the mod would be really helpful in mitigating the issues this causes.

Has not been reported.
  • I made sure this bug hasn't already been reported.
Is on most update to date version.
  • I made sure I am using the most up to date fabric/quilt loader and mod version.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with archive/1.21.10/src/main/java/dev/isxander/debugify/mixins/basic/mc199467/MthMixin.java and compare the Debugify and vanilla reproduction videos. Trace the entity age calculations mentioned in the report and determine where the lookup-table change affects behavior. Done means older versions retain vanilla behavior and prediction precision without causing anticheat false positives.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.