Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.8–1.8.9
Platforms
Bukkit
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Changelog
Warning! Grim NOW REQUIRES Java 17+. See https://github.com/GrimAnticheat/Grim/wiki/Updating-to-Java-17 for more information.
Notably with this update comes with support for 1.21.2+ clients, where Mojang has thankfully added a new END_TICK packet. This means Grim can now be as accurate with 1.21.2+ clients as it is with 1.8 clients, particularly for reach checks. Mojang also added a PLAYER_INPUT packet, which tells us the inputs of the player. This will allow a significant performance boost.
Known issues:
- If you are using an older server version then we currently cannot listen to these to these new packets from 1.21.2+ clients due to ViaVersion blocking them.
- If you use ViaBackwards on a 1.21.2+ server, this will cause issues for older clients in vehicles. A fix for both of these issues, by bypassing ViaVersion with a PacketEvents fork, is being worked on.
Changes:
- Added support for camel simulation (SamB440)
- Added MiniMessage and PlaceHolderAPI Support (ManInMyVan)
- Use an identity hash set for synced tags (SamB440)
- Improved punishment manager performance (AoElite)
- Don't let setbacks bypass stuck speed (SamB440)
- Fixed timer
ping-abuse-limit-threshold
, patching some timer balance abuse hacks (SamB440) - Readded and fixed BadPacketsG (SamB440)
- Fixed riptide falses when colliding with teamed entities (Axionize)
- Fixed offground precision loss to make us consistent 1E-15 offset (SamB440)
- Added support for 1.21.3+ clients and servers (SamB440)
- Patched a Paper dupe for outdated servers (ManInMyVan)
- Fixed wrongly ported Reach changes (Cyramek)
- Use movementThreshold() instead of 0.03 where appropiate (Axionize)
- Warn servers that want extra reach accuracy that they need to add
-Dpaper.explicit-flush=true
(Axionize) - Fixed reading world asynchronously on Folia (Rothes)
- Optimised MenuType#getMenuType (MachineBreaker)
- Use FastUtil collections where possible (MachineBreaker)
- Updated to Java 17 (SamB440)
- Fixed shields breaking causing NoSlow falses (ManInMyVan)
- Limited when 1.9+ players can increase attack slow (SamB440)
- Lava and water are now filtered out of FINISHED_DIGGING (SamB440)
- Color codes are now stripped from client brand (jonesdevelopment)
- Allowed exempting elytras in a hidden config option (ManInMyVan)
- Packets are no longer re-encoded by default (AoElite)
- Reduced Optional allocations with attribute methods (SamB440)
- Readded and fixed AimModulo360 (SamB440)
- Having
fix-1_21-placement-rotation
enabled in the ViaVersion will now print an error on startup due to incompatibility (Cyramek) - Fix incorrect casting to float before clamping attribute values (Axionize)
max-transaction-time
option is now clamped between 1 and 180 to prevent issues (SamB440)- Optimised getPossibleEyeHeights (Axionize)
- Added MultiInteract checks (ManInMyVan)
- NegativeTimer can now be configured to setback (ManInMyVan)
- Added MultiPlace check (ManInMyVan)
- Reworked all collision boxes and hitboxes to improve performance and fix falses (Axionize)
- Added Japanese translation (K-Lqrs)
- Fixed a FastBreak false when mining vines with a sword (ManInMyVan)
- Fixed some falses with BadPacketsX & Z (ManInMyVan)