Перейти к содержимому
Mineforgian

BetterGrim

A fork of Grim AntiCheat, adding new checks, optimizing and making better existing checks

Загрузки
7K
Подписчики
24
Обновлён
24 апреля 2026 г.
Лицензия
GPL-3.0-or-later

Опубликован 19 ноября 2025 г.

BetterGrim

Workflow    Modrinth    Downloads    Discord

BetterGrim is an open source GrimAC fork designed to have fixes of false positivies and bypasses of upstream. It currently supports minecraft versions from 1.8 to 1.21.11. Geyser players are fully exempt from the anticheat to prevent false positives. This project is considered feature-complete for the 2.0 (open-source) branch. If you would like a bug fix or enhancement and cannot sponsor the work, pull requests are welcome. It is recommended to use latest alpha(dev) build to have latest fixes, changes and checks (note: Changelogs on Modrinth may not show the full changelog, for full changelog go to GitHub Commits)

What changes do BetterGrim currently have that upstream does not

  • NoWeb check - fixes NoWeb bypasses
  • AutoClicker checks (reworking)
  • Invalid checks
  • Inventory checks
  • Fix tick-based NoSlow bypasses
  • Change NoSlow mitigation to resetItemUsage instead of setbacks (safer)

Downloads

Requirements & Installation

If you use a proxy such as Velocity or Bungeecord:

  • If you use Geyser, Floodgate must be installed on the backend server (where Grim is) so Grim can access the Floodgate API.
  • If you use ViaVersion, it must be installed on the backend server (where Grim is) ONLY. Grim does not support having ViaVersion installed on the proxy, even if it is also installed on the backend.

Resources

  • For documentation and examples visit the Wiki.
  • For answers to commonly asked questions visit the FAQ.
  • For community support and project discussion join our Discord.

Pull Requests

See Contributing for more information about contributing and what our guidelines are.

Developer Plugin API

Grim's plugin API allows you to integrate Grim into your own plugins. Visit the plugin API repository for the source code and more information.

Compiling From Source

  1. git clone https://github.com/DieInCalamity/BetterGrim
  2. cd Grim
  3. ./gradlew build
  4. The final jars will compile into the <platform>/build/libs folders

Grim Supremacy

What makes Grim stand out against other anticheats?

Movement Simulation Engine

  • We have a 1:1 replication of the player's possible movements
    • This covers everything from basic walking, swimming, knockback, cobwebs, to bubble columns
    • It even covers riding entities from boats to pigs and striders
  • Built upon covering edge cases to confirm accuracy
  • 1.13+ clients on 1.13+ servers, 1.12- clients on 1.13+ servers, 1.13+ clients on 1.12- servers, and 1.12- clients on 1.12- servers are all supported regardless of the large technical changes between these versions.
  • The order of collisions depends on the client version and is correct
  • Accounts for minor bounding box differences between versions, for example:
    • Single glass panes will be a + shape for 1.7-1.8 players and * for 1.9+ players
    • 1.13+ clients on 1.8 servers see the + glass pane hitbox due to ViaVersion
    • Many other blocks have this extreme attention to detail.
    • Waterlogged blocks do not exist for 1.12 or below players
    • Blocks that do not exist in the client's version use ViaVersion's replacement block
    • Block data that cannot be translated to previous versions is replaced correctly
    • All vanilla collision boxes have been implemented

Fully asynchronous and multithreaded design

  • All movement checks and the overwhelming majority of listeners run on the netty thread
  • The anticheat can scale to many hundreds of players, if not more
  • Thread safety is carefully thought out
  • The next core allows for this design

Full world replication

  • The anticheat keeps a replica of the world for each player
  • The replica is created by listening to chunk data packets, block places, and block changes
  • On all versions, chunks are compressed to 16-64 kb per chunk using palettes
  • Using this cache, the anticheat can safely access the world state
  • Per player, the cache allows for multithreaded design
  • Sending players fake blocks with packets is safe and does not lead to falses
  • The world is recreated for each player to allow lag compensation
  • Client sided blocks cause no issues with packet based blocks. Block glitching does not false the anticheat.

Latency compensation

  • World changes are queued until they reach the player
  • This means breaking blocks under a player does not false the anticheat
  • Everything from flying status to movement speed will be latency compensated

Inventory compensation

  • The player's inventory is tracked to prevent ghost blocks at high latency, and other errors

Secure by design, not obscurity

  • All systems are designed to be highly secure and mathematically impossible to bypass
  • For example, the prediction engine knows all possible movements and cannot be bypassed

Ченджлог

2.3.74-a3a95ccАльфа26.1, 26.1.1, 26.1.2 · 24 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Migrate internal firings to GrimAPI 1.3 channel API (#2612) - by Axionize (3664f4d)
  • FastBreak false positive on Vault block (#2610) - by Tyler (794e120)
  • Fire GrimPlayerSetbackEvent alongside GrimTeleportEvent - by Axionize WS2 (a86dedf)
  • Bump packetevents to 6953c38 (upstream 2.12.2 merge + obfuscation-safe nbt scan) - by Axionize WS1 (7499d10)
  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (a3a95cc)
2.3.74-a3a95ccАльфа26.1, 26.1.1, 26.1.2 · 24 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Migrate internal firings to GrimAPI 1.3 channel API (#2612) - by Axionize (3664f4d)
  • FastBreak false positive on Vault block (#2610) - by Tyler (794e120)
  • Fire GrimPlayerSetbackEvent alongside GrimTeleportEvent - by Axionize WS2 (a86dedf)
  • Bump packetevents to 6953c38 (upstream 2.12.2 merge + obfuscation-safe nbt scan) - by Axionize WS1 (7499d10)
  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (a3a95cc)
2.3.74-aad5c59Альфа26.1, 26.1.1, 26.1.2 · 23 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Fix some falses regarding camel sprinting (#2462)
  • Fix camel sprinting falses

  • Forgot about camel husks

  • Obey code style

  • Fix respawns

  • Obey code style (for real this time)

  • Fix SprintG false with camels

  • Move camel sprinting state to VehicleData - by LaserSlime (d55f1b7)

  • Load optional workspace.gradle.kts if present - by Axionize WS1 (6c3ccb4)
  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (aad5c59)
2.3.74-aad5c59Альфа26.1, 26.1.1, 26.1.2 · 23 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Fix some falses regarding camel sprinting (#2462)
  • Fix camel sprinting falses

  • Forgot about camel husks

  • Obey code style

  • Fix respawns

  • Obey code style (for real this time)

  • Fix SprintG false with camels

  • Move camel sprinting state to VehicleData - by LaserSlime (d55f1b7)

  • Load optional workspace.gradle.kts if present - by Axionize WS1 (6c3ccb4)
  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (aad5c59)
2.3.74-675fba3Альфа26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Bump PE for 26.1.2 support - by Axionize (f36f870)
  • Implement fluid count tracker - by cyramek (f9fdfa7)
  • Always use main hand for attack packets - by cyramek (61e9e69)
  • Don't pass null clientVersion so chunk will use server version for mapping's lookup

broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)

  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (675fba3)
2.3.74-675fba3Альфа26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Bump PE for 26.1.2 support - by Axionize (f36f870)
  • Implement fluid count tracker - by cyramek (f9fdfa7)
  • Always use main hand for attack packets - by cyramek (61e9e69)
  • Don't pass null clientVersion so chunk will use server version for mapping's lookup

broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)

  • Merge branch 'GrimAnticheat:2.0' into 2.0 - by DieInCalamity (675fba3)
2.3.74-54ffd42Альфа1.21.9, 1.21.10, 1.21.11 · 16 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Fix - by DieInCalamity (54ffd42)
2.3.74-54ffd42Альфа26.1, 26.1.1, 26.1.2 · 16 апреля 2026 г.

Changes in this Build (since previous push)

Miscellaneous

  • Fix - by DieInCalamity (54ffd42)

Комментарии

Загружаем…