▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Lightning Grim Anticheat
Lightning Grim Anticheat

Lightning Grim Anticheat

Форк GrimAC с улучшенной производительностью, проверками reach и interact, а также множеством исправлений багов. Античит для Minecraft 1.8-1.21.5.

5/5(1)
127.8K
223
Все версииLightningGrim Anticheat (Bukkit) 2.3.74-00dbb86-b99

LightningGrim Anticheat (Bukkit) 2.3.74-00dbb86-b99

Alpha27.06.2026

Список изменений

Changes in this Build (since previous push)

Miscellaneous

  • Fix teleportAsync detection for old paper and MC versions where method did not exist - by Axionize (7885555)
  • 26.1 support (#2553)

only bukkit platform for now - by Cyramek (a9b91e7)

  • 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)

  • 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)
  • 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)
  • Pass fluid count in our custom chunk reader - by cyramek (66b3334)
  • Update DynamicConnecting.java (#2617)

Fixes issues on 1.8.9 / Older versions thinking that daylight detectors connect to fences / iron bars

Related: https://github.com/GrimAnticheat/Grim/issues/1856 - by KotlinList (d81d03f)

  • Bump packetevents to 22c9961 (relocateHandlers respects compress/decompress)

fixes #2552 - by Axionize WS1 (257bffe)

  • Fix issues with DynamicConnecting.java with client versions (#2618)

tested with 1.8.9, 1.20.4 and ViaVersion on 1.20.4 Server and 1.8.9 Client

related issue: https://github.com/GrimAnticheat/Grim/issues/2148 - by InetAddress (5c46b0a)

  • History rewrite: five backends, session-based, ring-buffer write path + universal config autoupdater (#2622) - by Axionize (578c784)
  • Minor Post code cleanup - by ManInMyVan (053b090)
  • Don't cancel CLOSE_WINDOW in PacketOrderK - by ManInMyVan (fbabbf2)
  • Rename grim.legacy.* @CheckData stable_keys to descriptive names - by Axionize WS1 (c233a60)
  • Escape backslashes when emitting double-quoted scalars (#2623) - by Axionize WS1 (84bd90d)
  • Fix StackOverflow on isChunkLoaded by routing through ChunkSource (#2568) - by Axionize WS2 (c88b494)
  • Kick anyone who sends vv:proxy_details - by ManInMyVan (3021287)
  • Revert "kick anyone who sends vv:proxy_details"

This reverts commit 3021287391de4aee964abe5bcf6c452f72f68a7b. - by AoElite (73f63c1)

  • Fixed Typo in shulker uncertainty logic (#2630) - by aquip (2508a34)
  • Kick anyone who sends vv:proxy_details - by ManInMyVan (e9c918d)
  • Add support for URL timeout customization and reimplement via proxy kicking - by AoElite (fd9e0f8)
  • Add --name / --match / --grep regex filters to /grim history - by Axionize WS1 (d591f10)
  • Bump grim-api pin to 1.3.2.0 - by Axionize WS1 (2c60aae)
  • Redstone wall torch should use isLit instead of isPowered - by cyramek (21f0c3d)
  • Bump grim-api to 1.3.2.1 - by Axionize WS2 (17d4d2f)
  • Check cameraEntity.isSelf() in isTickingReliablyFor - by ManInMyVan (3e5afef)
  • Simplify shulker opening/closing - by ManInMyVan (fc899a3)
  • Min, not max - by ManInMyVan (83a6d98)
  • Happy ghast scale is also clamped - by ManInMyVan (5254190)
  • Remove unused import - by ManInMyVan (145f71c)
  • Fall back to modrinth for changelog range when push payload missing - by Axionize WS1 (4c866d0)
  • Small cleanup - by ManInMyVan (5a40a06)
  • Remove unused import - by ManInMyVan (215a1e6)
  • Tweak "UrlTimeout" constant for consistency - by AoElite (addabec)
  • Update DiscordManager webhook regex to support canary and make timeout configurable - by AoElite (99e309f)
  • Check rotations in teleports (#2268) - by ManInMyVan (717829a)
  • Make name and stableKey in CheckData not optional - by ManInMyVan (65d1050)
  • Only check isSprinting when rewarding in sprint checks - by ManInMyVan (c549b19)
  • Use violation setback in SprintA - by ManInMyVan (6953235)
  • Bump grim-api to 1.4.0.0 - by Axionize (cdd490b)
  • Apply block effects for swim-hop vector (#2648)
  • apply block effects for swim-hop vector

  • adjust swim hop constants - by Cyramek (73c60d0)

  • VersionUtil uses providers.exec for git (config-cache compat) - by Axionize (62b2268)
  • Anchor N:M intervals at N (#2661) - by Axionize (5fa803e)
  • Fire N:M on boundary crossings, not on every flag at the boundary - by Axionize (36675eb)
  • Per-command incident cursor (nextBoundary + executedOnce) - by Axionize (fb4ad7a)
  • Preserve legacy one-shot command semantics - by Axionize (20d68c1)
  • Bump grim-api to 1.5.0.0 - by Axionize (25d10f4)
  • Use routed backend check catalog - by Axionize (29316a7)
  • Repair legacy history check ids - by Axionize (70223cd)
  • Use MySQL reconnecting API build - by Axionize (ff214a4)
  • Run check-id repair asynchronously - by Axionize (e32d091)
  • Small cleanup - by ManInMyVan (fdaf096)
  • Skip onUserLogin when PacketUser is null - by Axionize (2af658c)
  • Backport V3-side parity adds (against 2.0) (#2678) - by Axionize (9b1aa1a)
  • Bump PE: fix Issue #2670 - by Axionize (6252fe6)
  • Allow not having client-brand.ignored-clients in config - by ManInMyVan (60d3ecf)
  • Mark utility classes as @UtilityClass - by ManInMyVan (fd9e91d)
  • Make WriteLog$Entry a record - by ManInMyVan (d501dfe)
  • Bump PE: fix #2681 - by ManInMyVan (43db51d)
  • Make player.stuckSpeedMultiplier a Vector3d

also reduce object allocations - by ManInMyVan (8083f42)

  • More object alloc reduction - by ManInMyVan (d939109)
  • Mark ChatD as stable - by ManInMyVan (5869433)
  • More code cleanup - by ManInMyVan (935668a)
  • Mark some listeners as pre-via - by ManInMyVan (ce89791)
  • Reduce memory allocation and exclude annotation processors (#2669)
  • ComplexCollisionBox#downCast: Reduce alloc

  • ReachInterpolationData#getPossibleLocationCombined: Reduce alloc

  • SimpleCollisionBox: Only alloc boxes when needed SimpleCollisionBox#betweenCornersInDirection: Skip Vector3d alloc

  • Materials: Use IdentityHashMap backed Sets to reduce alloc (StateType#hashCode)

  • build.gradle.kts: Exclude annotation processor service from shadowJar

  • Update common/src/main/java/ac/grim/grimac/utils/collisions/datatypes/ComplexCollisionBox.java

Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

  • Remove leftover comments from testing

Co-authored-by: Dieu info@l4b.org Co-authored-by: Techirion 126729304+Techirion@users.noreply.github.com Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by NO-UUID (6152908)

  • Use lombok getter for CompensatedInventory.startOfTickStack - by ManInMyVan (199b673)
  • Don't box if we don't need to - by ManInMyVan (bebccfa)
  • Make chat checks and BadPacketsM pre-via - by ManInMyVan (21f1534)
  • Update startOfTickStack on slot change (#2683) - by ManInMyVan (8c95b21)
  • Bump packetevents to 2.12.2+6dca3cc00 (fabric pre-Via listener fix) - by Axionize (09194f3)
  • Fix PE hash length — CI publishes with 7-char hash - by Axionize (0b7001b)
  • Use getInstance(Class) instead of get(Class) in CheckManager - by ManInMyVan (b62722b)
  • Migrate more checks to pre-via - by ManInMyVan (36931a8)
  • Send a transaction before adding the task to set serverOpenedInventoryThisTick - by ManInMyVan (e62d451)
  • Move CheckManagerListener onPacketSend to pre-via - by ManInMyVan (17b86aa)
  • Default KICK_ON_TRANSACTION_ERRORS to true - by ManInMyVan (490a02b)
  • Pre-load block mappings for server version - by ManInMyVan (cd61780)
  • Make PacketPlayerRespawn pre-via - by ManInMyVan (6ce529c)
  • Support relative PLAYER_ROTATION packets - by ManInMyVan (6ff7f44)
  • Revert "make PacketPlayerRespawn pre-via"

This reverts commit 6ce529c83de82eee53425a5b081c03115c181e04. - by ManInMyVan (48b778e)

  • Load local Gradle user properties - by Axionize (9888990)
  • Support Minecraft 26.X on official mappings (#2695) - by Axionize (4642c3d)
  • Update PacketEvents pin - by Axionize (6b710c0)
  • Backport public V2 datastore wiring - by Axionize (4de186b)
  • Compensate attack range swaps for movement (#7)
  • Compensate attack range swaps for movement

  • Restrict attack range movement compensation to swaps

  • Keep attack range item values as floats

  • Fix attack_range swap reach compensation

  • Add Reach verbose for attack range movement - by Axionize (f61d522)

  • Rewrite how input is handled between versions (#2700)

we're E-15 on average across all supported versions - by Cyramek (86785db)

  • Change default server-name from "Prison" to "ChangeMe"

Replaces the leftover "Prison" placeholder used for the /grim history header and database config with a neutral "ChangeMe" default that prompts operators to set their own server name. - by Axionize (41b0fff)

  • Handle missing datastore routes - by Axionize (3404e9b)
  • Use GrimAPI 1.6.0.2 - by Axionize (6b28271)
  • Fix Fabric 1.21.11 cloud command bridge - by Axionize (19dde8b)
  • Use GrimAPI 1.6.0.3 - by Axionize (e7fedff)
  • Adopt binary verbose for BadPacketsR

Wire the public verbose registry/manifest foundation and add a binary flag path that writes ViolationEvent.verboseData. Convert BadPacketsR because its verbose payload is three simple numeric fields: elapsed player-clock ms, last transaction delta ms, and position packet count. - by Axionize WS2 (e19cb38)

  • Fix verbose binary metadata nits - by Axionize WS2 (417a212)
  • Convert flight checks to binary verbose - by Axionize WS2 (deed028)
  • Make verboseVersion unsigned on consumer side - by Axionize WS2 (e684ec7)
  • Convert reach verbose to binary f32

Store Simulation offset as f32 without flagId. Store Reach min distance through the binary verbose path while preserving the existing alert text; Hitboxes remains on text verbose for now. - by Axionize WS2 (f63a216)

  • Update binary verbose precision and formatters

Use f64 for Reach and Simulation numeric payloads, add Reach entity type IDs encoded for the player's client version, and register old-string custom formatters for Reach, Simulation, and GroundSpoof.

BadPacketsR had no pre-conversion verbose string in the converted check, so it remains on the generic name=value reader. - by Axionize WS2 (01d19bd)

  • Convert badpackets verbose to binary

Converted: BadPacketsA, BadPacketsD, BadPacketsE, BadPacketsF, BadPacketsG, BadPacketsH, BadPacketsL, BadPacketsO, BadPacketsP, BadPacketsQ, BadPacketsT, BadPacketsU, BadPacketsV, BadPacketsY.

Already binary, moved into package registration: BadPacketsR.

Skipped empty/no verbose: BadPacketsB, BadPacketsC, BadPacketsI, BadPacketsJ, BadPacketsK, BadPacketsM, BadPacketsN, BadPacketsS, BadPacketsW, BadPacketsX, BadPacketsZ.

badpackets2: package absent in this checkout.

Verification: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava --console=plain - by Axionize WS2 (e422749)

  • Convert breaking and crash verbose to binary

Converted breaking: AirLiquidBreak, FarBreak, FastBreak, InvalidBreak, MultiBreak, PositionBreakA, PositionBreakB, RotationBreak, WrongBreak.

Skipped breaking: NoSwingBreak (no/empty verbose).

Converted crash: CrashC, CrashD, CrashE, CrashF, CrashH, CrashI.

Skipped crash: CrashA, CrashB, CrashG (no/empty verbose). - by Axionize WS2 (751011f)

  • Preserve exact flag/alert/setback semantics for binary verbose checks - by Axionize WS2 (7ba8470)
  • Convert wave B verbose checks to binary

Converted:\n- scaffolding: DuplicateRotPlace, FabricatedPlace, InvalidPlaceB, MultiPlace, RotationPlace\n- multiactions: MultiActionsC, MultiActionsD, MultiActionsF, MultiActionsG\n- chat: ChatB, ChatC\n- combat: MultiInteractA, MultiInteractB\n\nSkipped:\n- scaffolding: AirLiquidPlace, FarPlace, InvalidPlaceA, PositionPlace (empty verbose)\n- multiactions: MultiActionsA, MultiActionsB, MultiActionsE (empty verbose)\n- chat: ChatA, ChatD (empty or blank verbose)\n- combat: Hitboxes, SelfInteract (empty verbose), Reach (already converted/registered) - by Axionize WS2 (01ef829)

  • Convert wave C verbose to binary

Converted:

  • vehicle: VehicleA, VehicleD, VehicleE, VehicleF
  • velocity: KnockbackHandler/AntiKB, ExplosionHandler/AntiExplosion
  • timer: NegativeTimer, TickTimer
  • exploit: ExploitA, ExploitB
  • sprint: SprintA
  • misc: Post
  • elytra: ElytraB

Skipped unchanged:

  • vehicle: VehicleB, VehicleC
  • velocity: VectorPrecisionConverter
  • timer: Timer, TimerLimit, VehicleTimer
  • sprint: SprintB, SprintC, SprintD, SprintE, SprintF, SprintG
  • misc: ClientBrand, GhostBlockMitigation, TransactionOrder
  • elytra: ElytraA, ElytraC, ElytraD, ElytraE, ElytraF, ElytraG, ElytraH, ElytraI - by Axionize WS2 (5f4b923)
  • Convert missed verbose packages to binary

Converted: baritone/Baritone; packetorder/PacketOrderB, PacketOrderC, PacketOrderD, PacketOrderE, PacketOrderF, PacketOrderG, PacketOrderI, PacketOrderK, PacketOrderL, PacketOrderO, PacketOrderP.

Skipped: packetorder/PacketOrderA, PacketOrderH, PacketOrderJ, PacketOrderM, PacketOrderN, and PacketOrderProcessor because they only use empty/no verbose.

Build: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava -PmavenLocalOverride=true --console=plain - by Axionize WS2 (e7f2ed2)

  • Render binary verbose lazily on alerts - by Axionize WS2 (05c6eda)
  • Use compact verbose encodings for object values - by Axionize (2a5685a)
  • Restore BadPacketsR verbose formatter parity - by Axionize WS2 (5eb67c3)
  • Merge verbose binary consumer - by Axionize WS2 (182c82e)
  • Integrate structured verbose templates - by Axionize WS2 (8e39093)
  • Add stdnum render tag - by Axionize WS2 (67aa3a9)
  • Move SprintA to post-prediction checks - by cyramek (e37b7e3)
  • Implement 26.2 - by cyramek (1d52bda)
  • Merge branch '2.0' into ver/26.2 - by Cyramek (c96667c)
  • Viaversion replacements and cloud commands - by cyramek (ae11730)
  • Update versions in various places - by cyramek (735550d)
  • Support entities boundingbox changes

this class needs to be registry'fied if they gonna change boundingboxes in every version - by cyramek (4bce83e)

  • Minor fixes - by cyramek (1250a40)
  • Merge 26.2 support - by Axionize WS2 (d9bade6)
  • Merge 26.2 support and update PacketEvents - by Axionize WS2 (52f8721)
  • Use published PacketEvents snapshot - by Axionize WS2 (c40dfad)
  • Skip Fabric publish when artifact is absent - by Axionize WS2 (12449c4)
  • Support for 26.2 (#2729) - by Cyramek (732b9e0)
  • Support Fabric 26.2 - by Axionize WS2 (784c46d)
  • Add optional client version section to bug issue template - by ManInMyVan (4d28b14)
  • Add client & server version placeholders to issue templates - by ManInMyVan (cd0986b)
  • Small cleanup - by ManInMyVan (f65930b)
  • Backport storage ownership leases - by Axionize WS2 (79d54e3)
  • Merge pull request #2760 from GrimAnticheat/codex/server-ownership-leases-2.0

Backport storage ownership leases - by Axionize (573a1d2)

  • Merge upstream/2.0 into lightning - by Axionize WS2 (0c3ed12)
  • Backfill Lightning combat punishments - by Axionize WS2 (00dbb86)

♻️ Refactoring

  • Nest variants as :fabric:{shared,intermediary,official} - by Axionize (dde41ad)

🐛 Fixes

  • Fix bouncy blocks (#2473) - by Cyramek (19c12b7)
  • Fix typo in MultiActionsC - by ManInMyVan (8861589)
  • Fix page length check (#2637) - by Captain-S0L0 (f81e183)
  • Fix shulker & dragon scale attrubute - by ManInMyVan (3d95fea)
  • Fix 1.9 client noslow on 1.8 servers (#2607)
  • fix 1.9 client noslow on 1.8 servers

  • fix metadata ids - by ManInMyVan (5c6de64)

  • Fix 1.21.11 spigot support - by ManInMyVan (7d823f5)
  • Fix swim hops while riding an entity that can float on water - by cyramek (ce86075)
  • Fix 1.21.11 trigonometry (#2644)

new trig lookup table just dropped - by Cyramek (494e9c5)

  • Fix 26.1 spigot support - by ManInMyVan (7ccff01)
  • Fix BadPacketsM falses - by ManInMyVan (3cd17cc)
  • Fix golden dandelion in a flower pot collision - by cyramek (02f1dc3)
  • Fix entity boundingbox replication regression (#2642)
  • fix entity boundingbox replication regression

  • check if tick end event exists - by Cyramek (8a3767b)

  • Fix compensatedCamera with respawn packets - by ManInMyVan (7a7e07f)
  • Fix recent vialegacy update causing falses - by ManInMyVan (c156c00)
  • Fix precision loss while swimming in a flowing fluid (#2668)

we're in E-15 now on average - by Cyramek (f3ed3b2)

  • Fix 1.8 wither skeleton hitbox - by ManInMyVan (fdd734a)
  • Fix #2677 - by ManInMyVan (34c41db)
  • Fix precision loss in <=1.19.3 - by cyramek (635708a)
  • Fix 1.21.11 clients flagging reach on 1.8 servers - by ManInMyVan (edc3987)
  • Fix NPE while getting preViaPacketChecks

fix: https://github.com/GrimAnticheat/Grim/issues/2685 - by cyramek (ec08cbe)

  • Fix head hitting while slow falling

gravity is calculated based on deltaMovement, not actualMovement fix: https://github.com/GrimAnticheat/Grim/issues/2687 - by cyramek (7e1607d)

  • Fix precision loss for <=1.18.1 - by cyramek (4a632c1)
  • Fix input precision loss in <=1.16.5 - by cyramek (10cc198)
  • Check if the block position is valid before getting it, fixes #2689 - by ManInMyVan (d34f5c1)
  • Fix NPE on world change - by ManInMyVan (406d6e7)
  • Fix #2693 - by ManInMyVan (d2e47fd)
  • Fix packetevents commit - by ManInMyVan (5e60273)
  • Exclude adventure-text-serializer-gson from minimize() - by Axionize (ac892c5)
  • False in MultiActionsD while opening your inventory in a nether portal frame (#2702) - by Bram (b2b2503)
  • Handle missing PacketEvents channel in UUID lookup (#9) - by Axionize (2ea1d99)
  • Bind PacketContext around item encoding for Polymer 0.16+ (#2701) (#2705) - by Axionize (5f19722)
  • Fix NPE when player is riding entity that he is not in control of

idk how to reproduce it because it shouldn't happen, but I guess transaction splits between entity equipment updates happen - by cyramek (4f747c3)

  • Fix precision loss while gliding

E-8 -> E-15 - by cyramek (c83870b)

  • Fix fastbreak using outdated onGround status (#2657)
  • make sure that we're using latest onGround in FastBreak

  • things pointed out in a review - by Cyramek (ba1a930)

  • Fix swim hops with geysers - by cyramek (eba3cb8)
  • Fix client velocity being affected by collisions

this was the cause why slime collisions were off by E-8 this can also be the cause of many false positives that are seemingly random - by cyramek (d2727a4)

  • Fix formatting issues - by cyramek (02654ce)

🚀 Features

  • Add Fabric piston event support (#2619) - by aquip (75cc402)
  • Refresh permissions from LuckPerms updates - by Axionize (b3a7496)
  • Add hover tooltips to check alerts & descriptions to every check (#2712) - by Mater (1f1b03c)
  • Make render hovers configurable - by Axionize (0aa2e2b)

Файлы

grimac-bukkit-2.3.74-00dbb86.jar(11.91 MiB)
Основной
Скачать

Метаданные

Канал релиза

Alpha

Номер версии

2.3.74-00dbb86-b99

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.7.2–26.2

Загрузок

3.6K

Дата публикации

27.06.2026

Загрузил

ID версии

Главная