跳转到内容
我的世界XyeBBS论坛3群 进群吹水聊天!众多整合包作者、插件作者、玩家在内哦!不定时发福利,公布重要通知!
...

闪电格里姆反作弊

(Lightning Grim Anticheat)
反作弊 perfected | 3.0005 攻击距离 | 99.999% 抗击退。GrimAC 的分支版本,速度更快,拥有更优的攻击距离检测、交互检测以及大量错误修复。
仅客户端娱乐管理其它
闪电格里姆反作弊 - 2.3.74-00dbb86-b992026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 修复旧版 Paper 和 MC 版本中 teleportAsync 方法的检测问题(该方法不存在) - 作者:Axionize (7885555)
  • 支持 26.1 版本 (#2553)

目前仅支持 Bukkit 平台 - 作者:Cyramek (a9b91e7)

  • 提升 PE 版本以支持 26.1.2 - 作者:Axionize (f36f870)
  • 实现流体计数追踪器 - 作者:cyramek (f9fdfa7)
  • 攻击数据包始终使用主手 - 作者:cyramek (61e9e69)
  • 不再传递 null clientVersion,以便区块使用服务器版本进行映射查找

最近的 packetevents 更新破坏了此功能,该更新覆盖了 Chunk_v1_18 中的 #set 方法 - 作者:cyramek (8dc657a)

  • 修复一些关于骆驼冲刺的误报 (#2462)
  • 修复骆驼冲刺误报

  • 忘记了骆驼尸壳

  • 遵守代码风格

  • 修复重生

  • 遵守代码风格(这次是真的)

  • 修复与骆驼相关的 SprintG 误报

  • 将骆驼冲刺状态移至 VehicleData - 作者:LaserSlime (d55f1b7)

  • 如果存在则加载可选的 workspace.gradle.kts - 作者:Axionize WS1 (6c3ccb4)
  • 将内部触发迁移到 GrimAPI 1.3 通道 API (#2612) - 作者:Axionize (3664f4d)
  • 在金库方块上出现 FastBreak 误报 (#2610) - 作者:Tyler (794e120)
  • 与 GrimTeleportEvent 一同触发 GrimPlayerSetbackEvent - 作者:Axionize WS2 (a86dedf)
  • 升级 packetevents 至 6953c38(上游 2.12.2 合并 + 混淆安全的 NBT 扫描) - 作者:Axionize WS1 (7499d10)
  • 在我们的自定义区块读取器中传递流体计数 - 作者:cyramek (66b3334)
  • 更新 DynamicConnecting.java (#2617)

修复了 1.8.9 / 旧版本中认为日光探测器连接到栅栏/铁栏杆的问题

相关 issue: https://github.com/GrimAnticheat/Grim/issues/1856 - 作者:KotlinList (d81d03f)

  • 升级 packetevents 至 22c9961(relocateHandlers 尊重压缩/解压缩)

修复 #2552 - 作者:Axionize WS1 (257bffe)

  • 修复 DynamicConnecting.java 中与客户端版本相关的问题 (#2618)

已在 1.8.9、1.20.4 以及 ViaVersion(1.20.4 服务器和 1.8.9 客户端)上进行测试

相关 issue: https://github.com/GrimAnticheat/Grim/issues/2148 - 作者:InetAddress (5c46b0a)

  • 历史记录重写:五个后端、基于会话、环形缓冲区写入路径 + 通用配置自动更新器 (#2622) - 作者:Axionize (578c784)
  • 次要 Post 代码清理 - 作者:ManInMyVan (053b090)
  • 不要在 PacketOrderK 中取消 CLOSE_WINDOW - 作者:ManInMyVan (fbabbf2)
  • 将 grim.legacy.* @CheckData stable_keys 重命名为描述性名称 - 作者:Axionize WS1 (c233a60)
  • 在输出双引号标量时转义反斜杠 (#2623) - 作者:Axionize WS1 (84bd90d)
  • 通过路由到 ChunkSource 修复 isChunkLoaded 中的 StackOverflow (#2568) - 作者:Axionize WS2 (c88b494)
  • 踢出任何发送 vv:proxy_details 的玩家 - 作者:ManInMyVan (3021287)
  • 还原“踢出任何发送 vv:proxy_details 的玩家”

此操作还原了提交 3021287391de4aee964abe5bcf6c452f72f68a7b。 - 作者:AoElite (73f63c1)

  • 修复潜影贝不确定性逻辑中的拼写错误 (#2630) - 作者:aquip (2508a34)
  • 踢出任何发送 vv:proxy_details 的玩家 - 作者:ManInMyVan (e9c918d)
  • 添加对 URL 超时自定义的支持并重新实现通过代理踢出功能 - 作者:AoElite (fd9e0f8)
  • 为 /grim history 添加 --name / --match / --grep 正则过滤器 - 作者:Axionize WS1 (d591f10)
  • 提升 grim-api 锁定版本至 1.3.2.0 - 作者:Axionize WS1 (2c60aae)
  • 红石墙火炬应使用 isLit 而非 isPowered - 作者:cyramek (21f0c3d)
  • 提升 grim-api 至 1.3.2.1 - 作者:Axionize WS2 (17d4d2f)
  • 在 isTickingReliablyFor 中检查 cameraEntity.isSelf() - 作者:ManInMyVan (3e5afef)
  • 简化潜影贝的打开/关闭逻辑 - 作者:ManInMyVan (fc899a3)
  • 应为 Min 而非 Max - 作者:ManInMyVan (83a6d98)
  • 快乐恶魂的缩放比例也被限制 - 作者:ManInMyVan (5254190)
  • 移除未使用的导入 - 作者:ManInMyVan (145f71c)
  • 当推送负载缺失时,回退到 Modrinth 获取变更日志范围 - 作者:Axionize WS1 (4c866d0)
  • 小型清理 - 作者:ManInMyVan (5a40a06)
  • 移除未使用的导入 - 作者:ManInMyVan (215a1e6)
  • 调整 "UrlTimeout" 常量以保持一致性 - 作者:AoElite (addabec)
  • 更新 DiscordManager webhook 正则表达式以支持 canary 并使超时可配置 - 作者:AoElite (99e309f)
  • 在传送中检查旋转角度 (#2268) - 作者:ManInMyVan (717829a)
  • 使 CheckData 中的 name 和 stableKey 不再是可选的 - 作者:ManInMyVan (65d1050)
  • 在冲刺检查奖励时仅检查 isSprinting - 作者:ManInMyVan (c549b19)
  • 在 SprintA 中使用违规回退 - 作者:ManInMyVan (6953235)
  • 提升 grim-api 至 1.4.0.0 - 作者:Axionize (cdd490b)
  • 为 swim-hop 向量应用方块效果 (#2648)
  • 为 swim-hop 向量应用方块效果

  • 调整 swim hop 常量 - 作者:Cyramek (73c60d0)

  • VersionUtil 使用 providers.exec 执行 git 命令(兼容 config-cache) - 作者:Axionize (62b2268)
  • 在 N 处锚定 N:M 间隔 (#2661) - 作者:Axionize (5fa803e)
  • 在边界穿越时触发 N:M,而不是在边界的每个标记时触发 - 作者:Axionize (36675eb)
  • 每命令事件光标(nextBoundary + executedOnce) - 作者:Axionize (fb4ad7a)
  • 保留传统的一次性命令语义 - 作者:Axionize (20d68c1)
  • 提升 grim-api 至 1.5.0.0 - 作者:Axionize (25d10f4)
  • 使用路由后端检查目录 - 作者:Axionize (29316a7)
  • 修复传统历史记录检查 ID - 作者:Axionize (70223cd)
  • 使用 MySQL 重连 API 构建 - 作者:Axionize (ff214a4)
  • 异步运行检查 ID 修复 - 作者:Axionize (e32d091)
  • 小型清理 - 作者:ManInMyVan (fdaf096)
  • 当 PacketUser 为 null 时跳过 onUserLogin - 作者:Axionize (2af658c)
  • 回溯 V3 端对等添加内容(针对 2.0)(#2678) - 作者:Axionize (9b1aa1a)
  • 提升 PE:修复 Issue #2670 - 作者:Axionize (6252fe6)
  • 允许配置中不包含 client-brand.ignored-clients - 作者:ManInMyVan (60d3ecf)
  • 将工具类标记为 @UtilityClass - 作者:ManInMyVan (fd9e91d)
  • 将 WriteLog$Entry 改为 record - 作者:ManInMyVan (d501dfe)
  • 提升 PE:修复 #2681 - 作者:ManInMyVan (43db51d)
  • 将 player.stuckSpeedMultiplier 设为 Vector3d

同时减少对象分配 - 作者:ManInMyVan (8083f42)

  • 进一步减少对象分配 - 作者:ManInMyVan (d939109)
  • 将 ChatD 标记为稳定 - 作者:ManInMyVan (5869433)
  • 更多代码清理 - 作者:ManInMyVan (935668a)
  • 将某些监听器标记为 pre-via - 作者:ManInMyVan (ce89791)
  • 减少内存分配并排除注解处理器 (#2669)
  • ComplexCollisionBox#downCast: 减少分配

  • ReachInterpolationData#getPossibleLocationCombined: 减少分配

  • SimpleCollisionBox: 仅在需要时分配盒子 SimpleCollisionBox#betweenCornersInDirection: 跳过 Vector3d 分配

  • Materials: 使用基于 IdentityHashMap 的 Sets 以减少分配 (StateType#hashCode)

  • build.gradle.kts: 从 shadowJar 中排除注解处理器服务

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

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

  • 移除测试遗留的注释

共同作者:Dieu info@l4b.org 共同作者:Techirion 126729304+Techirion@users.noreply.github.com 共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 作者:NO-UUID (6152908)

  • 对 CompensatedInventory.startOfTickStack 使用 lombok getter - 作者:ManInMyVan (199b673)
  • 不需要时不要装箱 - 作者:ManInMyVan (bebccfa)
  • 将聊天检查和 BadPacketsM 设为 pre-via - 作者:ManInMyVan (21f1534)
  • 在槽位更改时更新 startOfTickStack (#2683) - 作者:ManInMyVan (8c95b21)
  • 升级 packetevents 至 2.12.2+6dca3cc00(修复 Fabric pre-Via 监听器) - 作者:Axionize (09194f3)
  • 修复 PE 哈希长度 — CI 发布时使用 7 字符哈希 - 作者:Axionize (0b7001b)
  • 在 CheckManager 中使用 getInstance(Class) 替代 get(Class) - 作者:ManInMyVan (b62722b)
  • 将更多检查迁移到 pre-via - 作者:ManInMyVan (36931a8)
  • 在将任务添加到 set serverOpenedInventoryThisTick 之前发送一个事务 - 作者:ManInMyVan (e62d451)
  • 将 CheckManagerListener onPacketSend 移至 pre-via - 作者:ManInMyVan (17b86aa)
  • 默认将 KICK_ON_TRANSACTION_ERRORS 设为 true - 作者:ManInMyVan (490a02b)
  • 预加载服务器版本的方块映射 - 作者:ManInMyVan (cd61780)
  • 将 PacketPlayerRespawn 设为 pre-via - 作者:ManInMyVan (6ce529c)
  • 支持相对的 PLAYER_ROTATION 数据包 - 作者:ManInMyVan (6ff7f44)
  • 还原“将 PacketPlayerRespawn 设为 pre-via"

此操作还原了提交 6ce529c83de82eee53425a5b081c03115c181e04。 - 作者:ManInMyVan (48b778e)

  • 加载本地 Gradle 用户属性 - 作者:Axionize (9888990)
  • 在官方映射中支持 Minecraft 26.X (#2695) - 作者:Axionize (4642c3d)
  • 更新 PacketEvents 锁定版本 - 作者:Axionize (6b710c0)
  • 回溯公共 V2 数据存储连接 - 作者:Axionize (4de186b)
  • 补偿移动时的攻击范围交换 (#7)
  • 补偿移动时的攻击范围交换

  • 将攻击范围移动补偿限制为交换情况

  • 保持攻击范围物品值为浮点数

  • 修复 attack_range 交换的 reach 补偿

  • 为攻击范围移动添加 Reach 详细日志 - 作者:Axionize (f61d522)

  • 重写跨版本输入处理方式 (#2700)

我们在所有支持版本中平均达到 E-15 精度 - 作者:Cyramek (86785db)

  • 将默认 server-name 从 "Prison" 改为 "ChangeMe"

将 /grim history 头部和数据库配置中遗留的 "Prison" 占位符替换为中性的 "ChangeMe" 默认值,提示操作员设置自己的服务器名称。 - 作者:Axionize (41b0fff)

  • 处理缺失的数据存储路由 - 作者:Axionize (3404e9b)
  • 使用 GrimAPI 1.6.0.2 - 作者:Axionize (6b28271)
  • 修复 Fabric 1.21.11 cloud 命令桥接 - 作者:Axionize (19dde8b)
  • 使用 GrimAPI 1.6.0.3 - 作者:Axionize (e7fedff)
  • 为 BadPacketsR 采用二进制详细日志

连接公共详细日志注册表/清单基础,并添加写入 ViolationEvent.verboseData 的二进制标志路径。转换 BadPacketsR,因为其详细负载包含三个简单的数值字段:经过的玩家时钟毫秒数、最后事务差值毫秒数和位置数据包计数。 - 作者:Axionize WS2 (e19cb38)

  • 修复二进制详细日志元数据的小问题 - 作者:Axionize WS2 (417a212)
  • 将飞行检查转换为二进制详细日志 - 作者:Axionize WS2 (deed028)
  • 在消费者端将 verboseVersion 设为无符号 - 作者:Axionize WS2 (e684ec7)
  • 将 reach 详细日志转换为二进制 f32

将 Simulation 偏移量存储为不带 flagId 的 f32。通过二进制详细日志路径存储 Reach 最小距离,同时保留现有警报文本;Hitboxes 暂时保留在文本详细日志中。 - 作者:Axionize WS2 (f63a216)

  • 更新二进制详细日志精度和格式化器

对 Reach 和 Simulation 数值负载使用 f64,添加为玩家客户端版本编码的 Reach 实体类型 ID,并为 Reach、Simulation 和 GroundSpoof 注册旧字符串自定义格式化器。

BadPacketsR 在转换后的检查中没有预转换的详细字符串,因此它仍使用通用的 name=value 读取器。 - 作者:Axionize WS2 (01d19bd)

  • 将 badpackets 详细日志转换为二进制

已转换:BadPacketsA, BadPacketsD, BadPacketsE, BadPacketsF, BadPacketsG, BadPacketsH, BadPacketsL, BadPacketsO, BadPacketsP, BadPacketsQ, BadPacketsT, BadPacketsU, BadPacketsV, BadPacketsY。

已是二进制,移入包注册:BadPacketsR。

跳过空/无详细日志:BadPacketsB, BadPacketsC, BadPacketsI, BadPacketsJ, BadPacketsK, BadPacketsM, BadPacketsN, BadPacketsS, BadPacketsW, BadPacketsX, BadPacketsZ。

badpackets2:此检出中缺少该包。

验证:./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava --console=plain - 作者:Axionize WS2 (e422749)

  • 将破坏和崩溃详细日志转换为二进制

已转换破坏类:AirLiquidBreak, FarBreak, FastBreak, InvalidBreak, MultiBreak, PositionBreakA, PositionBreakB, RotationBreak, WrongBreak。

跳过破坏类:NoSwingBreak(无/空详细日志)。

已转换崩溃类:CrashC, CrashD, CrashE, CrashF, CrashH, CrashI。

跳过崩溃类:CrashA, CrashB, CrashG(无/空详细日志)。 - 作者:Axionize WS2 (751011f)

  • 为二进制详细日志检查保留精确的标志/警报/回退语义 - 作者:Axionize WS2 (7ba8470)
  • 将 B 波详细日志检查转换为二进制

已转换:\n- 脚手架:DuplicateRotPlace, FabricatedPlace, InvalidPlaceB, MultiPlace, RotationPlace\n- 多动作:MultiActionsC, MultiActionsD, MultiActionsF, MultiActionsG\n- 聊天:ChatB, ChatC\n- 战斗:MultiInteractA, MultiInteractB\n\n跳过:\n- 脚手架:AirLiquidPlace, FarPlace, InvalidPlaceA, PositionPlace(空详细日志)\n- 多动作:MultiActionsA, MultiActionsB, MultiActionsE(空详细日志)\n- 聊天:ChatA, ChatD(空或空白详细日志)\n- 战斗:Hitboxes, SelfInteract(空详细日志),Reach(已转换/注册) - 作者:Axionize WS2 (01ef829)

  • 将 C 波详细日志转换为二进制

已转换:

  • 载具:VehicleA, VehicleD, VehicleE, VehicleF
  • 速度:KnockbackHandler/AntiKB, ExplosionHandler/AntiExplosion
  • 计时器:NegativeTimer, TickTimer
  • 漏洞利用:ExploitA, ExploitB
  • 冲刺:SprintA
  • 杂项:Post
  • 鞘翅:ElytraB

跳过未更改:

  • 载具:VehicleB, VehicleC
  • 速度:VectorPrecisionConverter
  • 计时器:Timer, TimerLimit, VehicleTimer
  • 冲刺:SprintB, SprintC, SprintD, SprintE, SprintF, SprintG
  • 杂项:ClientBrand, GhostBlockMitigation, TransactionOrder
  • 鞘翅:ElytraA, ElytraC, ElytraD, ElytraE, ElytraF, ElytraG, ElytraH, ElytraI - 作者:Axionize WS2 (5f4b923)
  • 将遗漏的详细日志包转换为二进制

已转换:baritone/Baritone; packetorder/PacketOrderB, PacketOrderC, PacketOrderD, PacketOrderE, PacketOrderF, PacketOrderG, PacketOrderI, PacketOrderK, PacketOrderL, PacketOrderO, PacketOrderP。

跳过:packetorder/PacketOrderA, PacketOrderH, PacketOrderJ, PacketOrderM, PacketOrderN 和 PacketOrderProcessor,因为它们仅使用空/无详细日志。

构建:./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava -PmavenLocalOverride=true --console=plain - 作者:Axionize WS2 (e7f2ed2)

  • 在警报上延迟渲染二进制详细日志 - 作者:Axionize WS2 (05c6eda)
  • 对对象值使用紧凑的详细日志编码 - 作者:Axionize (2a5685a)
  • 恢复 BadPacketsR 详细日志格式化器对等性 - 作者:Axionize WS2 (5eb67c3)
  • 合并二进制详细日志消费者 - 作者:Axionize WS2 (182c82e)
  • 集成结构化详细日志模板 - 作者:Axionize WS2 (8e39093)
  • 添加 stdnum 渲染标签 - 作者:Axionize WS2 (67aa3a9)
  • 将 SprintA 移至后预测检查 - 作者:cyramek (e37b7e3)
  • 实现 26.2 - 作者:cyramek (1d52bda)
  • 将 '2.0' 分支合并到 ver/26.2 - 作者:Cyramek (c96667c)
  • Viaversion 替换和 cloud 命令 - 作者:cyramek (ae11730)
  • 更新各处的版本号 - 作者:cyramek (735550d)
  • 支持实体包围盒变更

如果它们要在每个版本中更改包围盒,此类需要进行注册化处理 - 作者:cyramek (4bce83e)

  • 次要修复 - 作者:cyramek (1250a40)
  • 合并 26.2 支持 - 作者:Axionize WS2 (d9bade6)
  • 合并 26.2 支持并更新 PacketEvents - 作者:Axionize WS2 (52f8721)
  • 使用已发布的 PacketEvents 快照 - 作者:Axionize WS2 (c40dfad)
  • 当工件缺失时跳过 Fabric 发布 - 作者:Axionize WS2 (12449c4)
  • 支持 26.2 (#2729) - 作者:Cyramek (732b9e0)
  • 支持 Fabric 26.2 - 作者:Axionize WS2 (784c46d)
  • 在 bug 报告模板中添加可选的客户端版本部分 - 作者:ManInMyVan (4d28b14)
  • 在问题模板中添加客户端和服务器版本占位符 - 作者:ManInMyVan (cd0986b)
  • 小型清理 - 作者:ManInMyVan (f65930b)
  • 回溯存储所有权租约 - 作者:Axionize WS2 (79d54e3)
  • 合并拉取请求 #2760 from GrimAnticheat/codex/server-ownership-leases-2.0

回溯存储所有权租约 - 作者:Axionize (573a1d2)

  • 将 upstream/2.0 合并到 lightning - 作者:Axionize WS2 (0c3ed12)
  • 回填 Lightning 战斗惩罚 - 作者:Axionize WS2 (00dbb86)

♻️ 重构

  • 将变体嵌套为 :fabric:{shared,intermediary,official} - 作者:Axionize (dde41ad)

🐛 修复

  • 修复弹性方块 (#2473) - 作者:Cyramek (19c12b7)
  • 修复 MultiActionsC 中的拼写错误 - 作者:ManInMyVan (8861589)
  • 修复页面长度检查 (#2637) - 作者:Captain-S0L0 (f81e183)
  • 修复潜影贝和龙鳞属性 - 作者:ManInMyVan (3d95fea)
  • 修复 1.8 服务器上 1.9 客户端的 noslow 问题 (#2607)
  • 修复 1.8 服务器上 1.9 客户端的 noslow 问题

  • 修复元数据 ID - 作者:ManInMyVan (5c6de64)

  • 修复 1.21.11 Spigot 支持 - 作者:ManInMyVan (7d823f5)
  • 修复骑乘可漂浮实体时的 swim hops - 作者:cyramek (ce86075)
  • 修复 1.21.11 三角函数问题 (#2644)

新的三角查找表已发布 - 作者:Cyramek (494e9c5)

  • 修复 26.1 Spigot 支持 - 作者:ManInMyVan (7ccff01)
  • 修复 BadPacketsM 误报 - 作者:ManInMyVan (3cd17cc)
  • 修复花盆中金盏花的碰撞问题 - 作者:cyramek (02f1dc3)
  • 修复实体包围盒复制回归问题 (#2642)
  • 修复实体包围盒复制回归问题

  • 检查 tick end 事件是否存在 - 作者:Cyramek (8a3767b)

  • 修复 compensatedCamera 与重生数据包的问题 - 作者:ManInMyVan (7a7e07f)
  • 修复最近的 vialegacy 更新导致的误报 - 作者:ManInMyVan (c156c00)
  • 修复在流动流体中游泳时的精度损失 (#2668)

我们现在平均达到 E-15 精度 - 作者:Cyramek (f3ed3b2)

  • 修复 1.8 凋灵骷髅命中箱 - 作者:ManInMyVan (fdd734a)
  • 修复 #2677 - 作者:ManInMyVan (34c41db)
  • 修复 <=1.19.3 版本的精度损失 - 作者:cyramek (635708a)
  • 修复 1.21.11 客户端在 1.8 服务器上标记 reach 的问题 - 作者:ManInMyVan (edc3987)
  • 修复获取 preViaPacketChecks 时的 NPE

修复:https://github.com/GrimAnticheat/Grim/issues/2685 - 作者:cyramek (ec08cbe)

  • 修复缓降时头部撞击问题

重力是基于 deltaMovement 计算的,而非 actualMovement 修复:https://github.com/GrimAnticheat/Grim/issues/2687 - 作者:cyramek (7e1607d)

  • 修复 <=1.18.1 版本的精度损失 - 作者:cyramek (4a632c1)
  • 修复 <=1.16.5 版本的输入精度损失 - 作者:cyramek (10cc198)
  • 在获取方块位置前检查其有效性,修复 #2689 - 作者:ManInMyVan (d34f5c1)
  • 修复世界切换时的 NPE - 作者:ManInMyVan (406d6e7)
  • 修复 #2693 - 作者:ManInMyVan (d2e47fd)
  • 修复 packetevents 提交 - 作者:ManInMyVan (5e60273)
  • 从 minimize() 中排除 adventure-text-serializer-gson - 作者:Axionize (ac892c5)
  • 在下界传送门框架中打开 inventory 时 MultiActionsD 出现误报 (#2702) - 作者:Bram (b2b2503)
  • 处理 UUID 查找中缺失的 PacketEvents 通道 (#9) - 作者:Axionize (2ea1d99)
  • 为 Polymer 0.16+ 的物品编码绑定 PacketContext (#2701) (#2705) - 作者:Axionize (5f19722)
  • 修复玩家骑乘非其控制的实体时的 NPE

不知道如何复现,因为这不应该发生,但我想事务可能在实体装备更新之间分裂了 - 作者:cyramek (4f747c3)

  • 修复滑翔时的精度损失

E-8 -> E-15 - 作者:cyramek (c83870b)

  • 修复 FastBreak 使用过时的 onGround 状态 (#2657)
  • 确保在 FastBreak 中使用最新的 onGround

  • 审查中指出的问题 - 作者:Cyramek (ba1a930)

  • 修复与间歇泉相关的 swim hops - 作者:cyramek (eba3cb8)
  • 修复客户端速度受碰撞影响的问题

这是导致史莱姆碰撞偏差 E-8 的原因 这也可能是许多看似随机误报的原因 - 作者:cyramek (d2727a4)

  • 修复格式问题 - 作者:cyramek (02654ce)

🚀 功能

  • 添加 Fabric 活塞事件支持 (#2619) - 作者:aquip (75cc402)
  • 从 LuckPerms 更新中刷新权限 - 作者:Axionize (b3a7496)
  • 为所有检查的检查警报和描述添加悬停提示 (#2712) - 作者:Mater (1f1b03c)
  • 使渲染悬停可配置 - 作者:Axionize (0aa2e2b)
闪电格里姆反作弊 - 2.3.74-2.0-0c38eaa2026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 回溯存储所有权租约 - 作者:Axionize WS2 (e17023b)
  • 使用已发布的 GrimAPI 所有权构建版本 - 作者:Axionize WS2 (429fc17)
  • 使用已发布的 GrimAPI 所有权版本 - 作者:Axionize WS2 (c71ef0c)
  • 使用 GrimAPI 1.6.0.7 的所有权修复 - 作者:Axionize WS2 (0066487)
  • 回溯存储所有权租约

使用已发布的 GrimAPI 1.6.0.7 合并存储所有权租约的回溯。- 作者:Axionize (0c38eaa)

闪电格里姆反作弊 - 2.3.74-2.0-21f15342026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 确保使用短提交哈希 - 由 AoElite (ce6e1d3)
  • 任何 200 状态码均可接受 - 由 AoElite (163e120)
  • 允许自定义嵌入图片并在页脚显示 Grim 版本 - 由 AoElite (5c46021)
  • Webhook 嵌入略微更具可配置性 - 由 ManInMyVan (6385460)
  • 忽略无法击中的实体以进行方块放置 - 由 AoElite (8d7a4cc)
  • 升级 Gradle 至 9.1.0 - 由 SamB440 (322d256)
  • CancelLerp 在 1.21.9 中已修复, apparently - 由 SamB440 (bb143d7)
  • 修正幼年海龟、快乐恶魂、海豚、犰狳和骆驼的边界框计算 - 由 cyramek (2e1c79b)
  • 不要重复指定幼年比例因子 - 由 ManInMyVan (6a223a3)
  • CHUNK_BATCH_ACK 是异步的 - 由 ManInMyVan (d538c59)
  • 向 .editorconfig 添加 2 条新规则 - 由 ManInMyVan (1317ae0)
  • 修复新的 ChatB Via 重写器钩子导致的 ClassNotFoundException - 由 Axionize (4d6ac75)
  • 对违规使用 FastUtil Map - 由 Axionize (ca6e83d)
  • 更多 fastutil 微优化 - 由 Axionize (5551ef6)
  • 修复 Fabric Auto JiJ 脚本 - 由 Axionize (41c7e41)
  • 要求仅在应该发送时发送 CHUNK_BATCH_ACK - 由 ManInMyVan (bbab7e2)
  • 检查是否已经在发送捆绑包数据包 - 由 ManInMyVan (e222df8)
  • [1.21.10] 重写方块效果,支持 LpVector,部分实现碰撞箱 (#2300) - 由 Cyramek (0237f95)
  • 移除向量格式转换中的一个缓冲区 - 由 cyramek (a2f4dc1)
  • 支持链条的铜变种 - 由 cyramek (44900e5)
  • 为 sender-not-found 消息添加翻译 - 由 AoElite (f381805)
  • 重构 Grim 启动/系统参数处理 - 由 Axionize (faf2fb3)
  • 优化消息 (#2309)
  • 优化 MessageUtil.replacePlaceHolders()

  • 在数据包级别发送用户消息,绕过后端服务器以提升性能

  • 暂存临时更改

  • 默认使 Grim 发送快速聊天消息时绕过平台 - 由 Axionize (90036e2)

  • 微优化 DefaultResyncHandler - 由 Axionize (1eae548)
  • 优化 vector add() 调用时的新对象创建 - 由 Axionize (15e8098)
  • 优化新 Vector3dm() 乘法调用 - 由 Axionize (26492fd)
  • 将 ElytraB 标记为稳定 - 由 ManInMyVan (8a6863b)
  • 将 ElytraC 标记为稳定 - 由 ManInMyVan (3f39abc)
  • 将 ElytraA 标记为稳定 - 由 ManInMyVan (d0aafdd)
  • 将 ElytraF 标记为稳定 - 由 ManInMyVan (79bf7e4)
  • 移除 ChatB 中的双空格 - 由 ManInMyVan (6e5ec33)
  • 将 PositionBreakB 标记为稳定 - 由 ManInMyVan (89cf181)
  • 将 MultiActionsC 标记为稳定 - 由 ManInMyVan (a82f2b8)
  • 将 MultiActionsD 标记为稳定 - 由 ManInMyVan (a86bf57)
  • 可能修复构建 - 由 ManInMyVan (9ba4052)
  • 在旧版上更新库存前清除活跃物品 (#2317)
  • 应用 spotless

  • 在旧版上更新库存前清除活跃物品 - 由 BT (calcastor/mame) (b69906f)

  • 允许每刻最多一个 PLAYER_INPUT (#2306) - 由 ManInMyVan (1b47e31)
  • 添加架子碰撞箱 - 由 ManInMyVan (4f3e715)
  • 添加铜傀儡雕像碰撞箱 - 由 ManInMyVan (a76bf9c)
  • 添加铜傀儡雕像、架子碰撞箱以及其他缺失的 1.21.10 内容 (#2315)
  • 添加铜傀儡雕像

  • 包含 ViaVersion 替换

  • 添加架子

  • 同时添加铜盔甲

  • 添加人体模型箱尺寸

  • 添加铜傀儡尺寸 - 由 AnnotationVisitor (102b584)

  • 如果玩家刻可靠,我们不需要高界限。 - 由 SamB440 (f8a5315)
  • Fabric 切换到 mojmap

参见 https://fabricmc.net/2025/10/31/obfuscation.html - 由 ManInMyVan (b373e5f)

  • 略微清理 Fabric 代码 - 由 ManInMyVan (0df77dd)
  • 重新排序工件发布到 Modrinth 并更新支持的版本 - 由 Axionize (bfd2bd0)
  • 为适用的 reach/hitbox 标志显示尺寸 - 由 ManInMyVan (6280b28)
  • 不要在未加载的区块中模拟移动?

谁知道这还会引起其他什么问题... - 由 SamB440 (0ba3317)

  • 升级 cloud 至 beta.13,修复 #2318 - 由 SamB440 (c323cf0)
  • 禁用 PacketOrderP,修复 #2327 - 由 SamB440 (ea1f161)
  • 新翻译 ro.yml (#2285)

配置 grim ac 的罗马尼亚语翻译。 - 由 ItzBloxxy (918e657)

  • 禁用 ExploitB“无效页面字符”检查 - 由 ManInMyVan (def2163)
  • 小型活塞优化 - 由 AoElite (ba1d1db)
  • 调整 GrimDump 输出并包含一些非默认警报设置 - 由 AoElite (5c71531)
  • 希望使安装说明更清晰

同时将其在页面上移得更高 - 由 ManInMyVan (b14628c)

  • 确保在关闭库存后使用基于数据包的库存状态 - 由 cyramek (a46d296)
  • 更新 CrashC.java (#2350) - 由 Weigurde (6df484b)
  • 升级 PacketEvents 版本 - 由 Axionize (9b500a2)
  • 将工作流迁移到 tenki (#2362) - 由 tenki-cloud[bot] (e1bd2ed)
  • 移除一些不必要的发布路径 - 由 AoElite (3380d7f)
  • 优化边界框计算 - 由 cyramek (3f67272)
  • Setback 变更 - 由 SamB440 (8ddd7f1)
  • 改进绕过模板 - 由 ManInMyVan (ba91251)
  • 更一致的问题模板 - 由 ManInMyVan (499bf7e)
  • 修复观察命令在观察另一维度的玩家时重置游戏模式的问题 (#2365)
  • 修复维度变更时的游戏模式变更

当对另一维度的玩家使用观察命令时发生了此问题。观察者被设置为生存模式。

  • 修复玩家游戏模式重置 bug

当观察另一维度的玩家时,你之前会被设置为生存模式,现在已修复。 - 由 GroupXyz (3fc985c)

  • 修复了 Happy Ghast 和低于 1.21.6 的客户端导致的 Reach 误报 (#2352) - 由 Greened (e386b93)
  • 升级 PacketEvents 版本 - 由 Axionize (2d785fd)
  • 使 Discord webhook 模式更严格并支持不同的 API 版本 - 由 AoElite (3bf3226)
  • 更新所有配置中 lunar 的品牌格式 - 由 AoElite (2d053d0)
  • 更多 setback 变更 - 由 SamB440 (4d28f85)
  • 调整 canGlide 逻辑以尝试提高兼容性 - 由 AoElite (679e869)
  • 调整 isGlider 逻辑以考虑无法耗尽的物品 - 由 AoElite (acf273f)
  • 还原"fix incorrect EquipmentSlot mappings in isGlider logic"

此操作还原了提交 d96d683b14150d6e0f486a63cf1a74c417c6a84b。 - 由 AoElite (0153ce3)

  • 重构仓库逻辑以支持 mavenLocalOverride - 由 Axionize (965008f)
  • 升级 PE - 由 Axionize (12f6af3)
  • 添加对 1.21.11 的初步支持并更新依赖 - 由 Axionize (97b8758)
  • 修复副手槽位中滑翔翼不工作的问题 (#2397) - 由 iLemon (32f607b)
  • 升级 github actions-upload-artifact 版本 - 由 Axionize (9bd12cc)
  • 使 runner 可配置以绕过 Tenki 问题 (#2398) - 由 Axionize (f772b74)
  • 修复启用 Spigot late-bind 选项时的 NPE 并改进注入逻辑

此 PR 修复了在 1.14.4 之前的服务器上启用 Spigot"late-bind"选项时发生的 NullPointerException。

变更:

  • 更改注入优先级:插件现在尝试首先注册 Paper TickEndEvent。仅在 Paper API 不可用时才回退到 NMS 反射。

  • 为服务器连接实例添加了空值检查,以防止反射注入期间的 NPE。

  • 添加了特定的错误日志记录:如果在旧版服务器 (< 1.14.4) 上注入失败,插件现在会通过反射检查 spigot.yml 设置,以明确警告用户是否是 late-bind 导致的问题。

  • 重构反射逻辑以使用 ReflectionUtils,以提高安全性和代码整洁度。 - 由 uRyanxD (5f02ccc)

  • 升级 PE - 由 Axionize (92d06e4)

  • 构建 CI 变更 - 由 Axionize (9626712)

  • 缓存 map 值以提升性能 (#2407) - 由 Rothes (8f0036e)

  • 稍微清理 OptifineFastMath.java - 由 ManInMyVan (2d8def6)

  • 支持 CAMERA 数据包 (#2303) - 由 ManInMyVan (d374c2b)

  • 添加 PlatformPlayerFactory#getOfflinePlayers() - 由 Axionize (ce0dad5)

  • 暂存工作 - 由 Axionize (90193b4)

  • 修复由于仅旋转回归导致未标记 1.15 至 1.20.1 版本客户端的 reach 回归 - 由 Axionize (60b70d1)

  • 合并分支 'fix/reach-infinite-expanding-hitbox' 到 2.0 - 由 Axionize (4292e93)

  • 使用 config history.database.port 作为数据库连接端口。修复 #2415 - 由 SamB440 (42b6630)

  • 防止 Fabric 上因重建 ServerPlayerEntity 而在重生时出现撕裂读取和竞态条件 - 由 Axionize (101473b)

  • 在 netty 线程上重新同步,而不是尝试在区域线程中发送数据包 - 由 Axionize (80f90e6)

  • 添加选项以通过 NoOp resync 处理器禁用没有 API 的重新同步 - 由 Axionize (7c68947)

  • 修复 Sculk Vein 替换阶段/模拟误报 & 优化 canBeReplaced 逻辑

  • 为 SCULK_VEIN 添加了替换逻辑(镜像 GLOW_LICHEN)。

  • 将顺序的'if'语句重构为'else-if'链,以改进分支预测并允许早期退出。

  • 根据频率重新排序方块检查(现在首先检查台阶、雪和藤蔓)。

  • 合并了多面方块的重复逻辑。 - 由 Axionize (b79d5fd)

  • 仅当 PLAYER_INFO_UPDATE 包含 ADD_PLAYER 动作时才更新配置文件 - 由 Axionize (d0b30de)

  • 修补 FabricatedPlace 误报 - 由 Axionize (98fd065)

  • 使 CrashC 详细信息与其它检查更一致 - 由 ManInMyVan (6186abc)

  • 改进 FabricatedPlace 修补 - 由 Axionize (07d2010)

  • 尝试修复 disconnect.timeout 级联问题 - 由 Axionize (639490a)

  • 修复蘑菇和真菌的 Hitboxes - 由 Axionize (14573da)

  • 修复珊瑚 hitboxes - 由 Axionize (a2074d0)

  • 添加遗漏的用于 hitbox 修复的工具类文件 - 由 Axionize (8016586)

  • 修复 hitbox 修补中的合并错误 - 由 Axionize (ca64aab)

  • 更新 .gitignore - 由 Axionize (be35b9b)

  • 最终修复仅旋转在 1.15 - 1.20.1 和 1.21.5 - 1.21.8 中计入 reach/hitbox 的问题 - 由 Axionize (9cb4547)

  • 针对 Folia 破坏 getTPS() 的临时修复 - 由 Axionize (dbd7510)

  • 针对 Folia 破坏 getTPS() 的更快临时修复 - 由 Axionize (02f6a3b)

  • 添加对旧版 API 的回退支持 (#2409)

  • 暂时添加回对旧版 API 的支持

  • 将 API 升级至发布版本 - 由 Axionize (95e2774)

  • 1.21.11 支持 (#2420)
  • 修复马的现代/旧版跳跃机制,骆驼冲刺冷却追踪 (#2199)

  • 实现 UseEffects 组件

修复:https://github.com/GrimAnticheat/Grim/issues/2396

  • 初步支持 hitbox 边距

  • compensableDashableEntities -> dashableEntities

  • 实现在水中漂浮

  • 实现鹦鹉螺移动

待办:修复冲刺,修复台阶

  • 修复 0.03 流体推动

此代码在此处被丢弃: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

  • 修复鹦鹉螺冲刺

  • 提高冲刺时的精度

  • 实际上修复了冲刺

我真的很笨 ngl,原版数据包序列:

  1. 带有 PLAYER 视角角度的 rot 数据包
  2. 带有 ENTITY 视角角度的载具移动数据包

载具移动数据包覆盖了第一个 rot 数据包中玩家的 yaw 和 pitch

  • 为鹦鹉螺实现所有预测引擎

我稍后会重构这个

  • 支持新的滑翔行为

  • 重构鹦鹉螺预测引擎

  • 实现干涸边界框

  • 在流体推动中添加对快速熔岩游戏属性的支持

  • 骆驼现在有了变种

  • WIP 基于刻的世界边界

  • 修复离地骆驼冲刺

感谢 thisisatest8406

  • 为实体添加 onGround 追踪

  • 还原追踪实体 onGround

我决定我不够在乎,骆驼 bug 太多了,一切都不同步

  • 移除不需要的 diff

  • 修复待处理跳跃和骆驼离地冲刺

  • 移除关于鹦鹉螺跳跃逻辑的过时注释

  • 添加对 max_reach AttackRange 组件的支持


共同作者:Axionize 154778082+Axionize@users.noreply.github.com - 由 Cyramek (bf85863)

  • 统一所有 API - 由 Axionize (c5855fd)
  • 修复对弄乱旧版 getGrimUser(Player player) 方法的支持 - 由 Axionize (8001f6c)
  • 升级 PE - 由 Axionize (21f6988)
  • 升级 API 以不再 shade Player shim - 由 Axionize (50a25d9)
  • 命令 API 回退处理 - 由 Axionize (08770f0)
  • 重构 Fabric 以使权限 API 和 cloud 成为可选依赖 - 由 Axionize (b9fa89c)
  • Fabric 1.21.11 支持,用于 fabric-permissions-api-v0 未被包含的情况 - 由 Axionize (075cec8)
  • 更新支持的 fabric 版本 - 由 Axionize (3659060)
  • 升级 PE - 由 Axionize (a54329a)
  • 修复 Bukkit 上 CommandManager 过早初始化导致的启动问题 - 由 Axionize (fefe0d1)
  • 重命名 Fabric mc1211 -> mc12111 模块 - 由 Axionize (9d1682d)
  • 修复通过潜影盒切换工具时的 fast break 误报 (#2454) - 由 Ayou (c043357)
  • 暂时还原此项,直到我们找到更好的修复方法 - 由 cyramek (b7a719d)
  • 不允许玩家重用 setback 速度 (修复 #2445) (#2450) - 由 SamB440 (cd86c14)
  • 重命名 Fabric1211PlatformServer -> Fabric12111PlatformServer - 由 Axionize (88cfffc)
  • 重构 Resolver 生命周期 - 由 Axionize (35174fd)
  • 唤魔者尖牙是不可击中的 - 由 SamB440 (80afaae)
  • 升级 PE:修复数据包排序和映射问题
  • Previa 数据包映射因错误地向上游调用 getPacketVersion() 而非 getClientVersion() 而失败,影响所有版本上的 previa
  • 修复 Krypton + Via + Grim 兼容形式的监听器重定位 - 由 Axionize (6c49a01)
  • 添加从 CompensatedWorld 暴露 int 方块类型的方法 (#2464)
  • 实现功能

  • 更新 common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

  • 添加 @Override 注解

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 由 Cubicake (2b62148)

  • 添加 /grim testwebhook - 由 ManInMyVan (327b947)
  • 改进中文配置文件中的注释 (#2490)

更新了 zh.yml 中的注释以提高清晰度和翻译质量。 - 由 MatrixU5er (b65b7f0)

  • 在 ZNPCsPlus 之后加载 - 由 ManInMyVan (1d0cbb7)
  • 升级 grim-api 版本 - 由 AoElite (7be8f51)
  • 更新 Grim API 至 1.2.4.0 - 由 Axionize (4ca65b1)
  • 修复获取不稳定脚手架 hitbox 的问题 - 由 Axionize (f0fbc9d)
  • 历史重写标记 - 由 Axionize (7d487a4)
  • 添加对具有攻击范围组件的物品之间属性交换的支持 - 由 Axionize (b281a2d)
  • 更新翻译 - 由 tjshtqwq (c2acfae)
  • 合并分支 '2.0' 到 patch-1 - 由 tjshtqwq (75b5405)
  • 更新 zh.yml - 由 tjshtqwq (f54ca0e)
  • 清理拼写错误和译者注释 - 由 Axionize (1f55742)
  • 合并 PR #2267 - 改进的中文翻译 - 由 Axionize (439477e)
  • 为 GrimAC 添加波兰语配置文件 (#2501)

共同作者:DawixTV 92529087+DawixTV@users.noreply.github.com - 由 dxw1d (272a889)

  • 还原"load after ZNPCsPlus"

此操作还原了提交 1d0cbb7078205b0b265a8ae6047bd304811ed130。 - 由 ManInMyVan (c7983b7)

  • 移除 Reach.java 中未使用的导入 - 由 ManInMyVan (d273229)
  • 修复 Discord Webhook PAPI 占位符 (#2518)
  • 修复对几种边缘情况的 Discord markdown 解析支持

  • 修复 PAPI 名称混淆

  • 清理新 Discord Webhook 处理的实现

  • 文档化 exploit 选择不使用 volatile 的技术正确性

  • 解决所有代码审查关切

  • 清理未使用的代码

  • 重构与 discord 相关数据类型的包 - 由 Axionize (c356f5f)

  • 修复 Discord 重构中未重构包引用导致的编译问题 - 由 Axionize (53cf3e8)
  • Discord.yml 翻译修复 - 由 Axionize (d4611f1)
  • 在 discord.yml 中添加支持 disable-webhook-validation 布尔值,用于带有 Discord webhooks 的自定义域名

关闭 https://github.com/GrimAnticheat/Grim/issues/2520 - 由 Axionize (879d566)

  • 考虑 1.21.2+ 客户端在载具中忽略传送数据包的情况 (#2470)

修复:https://github.com/GrimAnticheat/Grim/issues/2463 - 由 Cyramek (8a0d1e2)

  • 升级版本至 2.3.74 - 由 cyramek (546abf0)
  • 为旧版服务器上的 1.21.11+ 客户端添加对 viaversion 攻击范围组件的支持 (#2474)

添加对 https://github.com/ViaVersion/ViaVersion/pull/4733 的支持 - 由 Cyramek (7e8b6b6)

  • 修复 Polymer 方块编码在与世界重新同步时崩溃的问题,优化 Fabric PlatformChunk.getBlockId(x,y,z) 的分配 - 由 Axionize (0a1ce1d)
  • 重生时重置食物等级 (#2528) - 由 SamB440 (5749463)
  • 修复浮动方块放置时的幽灵方块缓解 (#2530) - 由 RareMen (13fb273)
  • 豁免 1.21.11+ 中的观察者免受 PacketOrderB 检查 (修复 #2493) - 由 ManInMyVan (29c0757)
  • 略微更改 BadPacketsP 描述 - 由 ManInMyVan (539e822)
  • 重命名 BadPacketsC 为 SelfInteract - 由 ManInMyVan (177c003)
  • 在 init 时设置 CheckManager#packetEntityReplication - 由 ManInMyVan (3055cd1)
  • 使 TransactionOrder 详细信息与其他检查一致 - 由 ManInMyVan (68f34f2)
  • 要求 PacketOrderB 中的手为 MAIN_HAND - 由 ManInMyVan (598aae0)
  • 在 1.9 服务器上检查 keepsprint (#2070)
  • 在 1.9 服务器上检查 keepsprint

  • 每次槽位更改时更新 AttackCooldownHandler 中的持有物品

  • 修复 #2389

  • 更改 AttackCooldownHandler 包 - 由 ManInMyVan (e954124)

  • 页脚文本不会被解析为 markdown - 由 ManInMyVan (e40ec01)
  • 升级 Kotlin Plugin Serialization 至 2.3.0 - 由 Axionize (5f9b9dd)
  • 将 DefaultResyncHandler 设为 record - 由 Axionize (740f7f4)
  • 长矛刺击是攻击,应如此处理 - 由 ManInMyVan (bf10e23)
  • 在工作流中添加单独的逻辑以发布正式构建 - 由 AoElite (f0e15b0)
  • 升级 PE 以初步支持 26.1 - 由 Axionize (f380fcd)
  • 修复 PE 26.1 更新(延迟的 fabric 文件夹) - 由 Axionize (9b06c86)
  • 在允许回退前检查 isPacketInventoryActive 是否为 false - 由 SamB440 (6a46c35)
  • 将 ElytraA onStartGliding() 移动到 PacketEntityAction 中的客户端版本检查之前 - 由 ManInMyVan (11d572f)
  • 考虑 INTERACT_ENTITY 在 26.1 中被拆分 - 由 ManInMyVan (7d9dc86)
  • 实际上在 MultiInteractA 中检查潜行 - 由 ManInMyVan (89eedbe)
  • Quilt 是一个普通客户端 - 由 ManInMyVan (77c48f4)
  • 修复发光鱿鱼边界框 - 由 SamB440 (10cb176)
  • 添加 BadPacketsC 以检查 LEAVE_BED 数据包是否有效 - 由 ManInMyVan (d1b2135)
  • 修复灵魂火把碰撞数据 - 由 SamB440 (7fd7bc1)
  • 修复历史命令中的 PostgreSQL UUID 检索 (#2575)
  • 修复历史命令中的 PostgreSQL UUID 检索

  • 改进 DatabaseUtils 中 UUID 检索的错误处理

  • 在 DatabaseUtils.getUuid 中使用 if-else if - 由 Fussel (efd796c)

  • 升级 PE 以支持 Bukkit 26.1 服务器 - 由 Axionize (ece9f3c)
  • 对 PacketHidePlayerInfo 进行 minor 更改 - 由 ManInMyVan (b55a12c)
  • RESOURCE_PACK_STATUS 是异步的 - 由 ManInMyVan (e8dc9ae)
  • 降级 PE 以修复 PE 的 netty 监听器中 promise/future 执行崩溃的问题 - 由 Axionize (3e07a0e)
  • 升级 Gradle Wrapper 以修复构建 (#2591) - 由 Tyler (890799d)
  • 修复 MYSQL 8 支持 (#2534)
  • 修复 MYSQL 8 支持

  • 防止双重索引错误每次都发送。 - 由 Milan Ensink (35fe1f0)

  • MultiActionsD 未检查本刻是否打开了库存 (#2596) - 由 Bram (1b60cb8)
  • 不要两次检查相同的值 - 由 ManInMyVan (99dce8c)
  • 修复错误的实体元数据索引 - 由 Axionize (c169d9c)
  • 修复旧版 paper 和 MC 版本中方法不存在时的 teleportAsync 检测 - 由 Axionize (7885555)
  • 26.1 支持 (#2553)

目前仅限 bukkit 平台 - 由 Cyramek (a9b91e7)

  • 升级 PE 以支持 26.1.2 - 由 Axionize (f36f870)
  • 实现流体计数器 - 由 cyramek (f9fdfa7)
  • 始终使用主手进行攻击数据包 - 由 cyramek (61e9e69)
  • 不要传递 null clientVersion,以便 chunk 使用服务器版本进行映射查找

在最近更新 packetevents 后崩溃,该更新覆盖了 Chunk_v1_18 中的 #set 方法 - 由 cyramek (8dc657a)

  • 修复一些关于骆驼冲刺的误报 (#2462)
  • 修复骆驼冲刺误报

  • 忘记了骆驼尸壳

  • 遵守代码风格

  • 修复重生

  • 遵守代码风格(这次是真的)

  • 修复骆驼的 SprintG 误报

  • 将骆驼冲刺状态移至 VehicleData - 由 LaserSlime (d55f1b7)

  • 如果存在则加载可选的 workspace.gradle.kts - 由 Axionize WS1 (6c3ccb4)
  • 将内部触发迁移到 GrimAPI 1.3 通道 API (#2612) - 由 Axionize (3664f4d)
  • Vault 方块上的 FastBreak 误报 (#2610) - 由 Tyler (794e120)
  • 与 GrimTeleportEvent 一起触发 GrimPlayerSetbackEvent - 由 Axionize WS2 (a86dedf)
  • 升级 packetevents 至 6953c38 (上游 2.12.2 合并 + 混淆安全的 nbt 扫描) - 由 Axionize WS1 (7499d10)
  • 在我们的自定义 chunk 读取器中传递流体计数 - 由 cyramek (66b3334)
  • 更新 DynamicConnecting.java (#2617)

修复了 1.8.9 / 旧版本认为日光探测器连接到栅栏/铁栏杆的问题

相关:https://github.com/GrimAnticheat/Grim/issues/1856 - 由 KotlinList (d81d03f)

  • 升级 packetevents 至 22c9961 (relocateHandlers 尊重压缩/解压缩)

修复 #2552 - 由 Axionize WS1 (257bffe)

  • 修复 DynamicConnecting.java 与客户端版本相关的问题 (#2618)

已在 1.8.9, 1.20.4 以及 ViaVersion 在 1.20.4 服务器和 1.8.9 客户端上测试

相关问题:https://github.com/GrimAnticheat/Grim/issues/2148 - 由 InetAddress (5c46b0a)

  • 历史重写:五个后端、基于会话、环形缓冲区写入路径 + 通用配置自动更新器 (#2622) - 由 Axionize (578c784)
  • Minor Post 代码清理 - 由 ManInMyVan (053b090)
  • 不要在 PacketOrderK 中取消 CLOSE_WINDOW - 由 ManInMyVan (fbabbf2)
  • 将 grim.legacy.* @CheckData stable_keys 重命名为描述性名称 - 由 Axionize WS1 (c233a60)
  • 在发出双引号标量时转义反斜杠 (#2623) - 由 Axionize WS1 (84bd90d)
  • 通过路由到 ChunkSource 修复 isChunkLoaded 上的 StackOverflow (#2568) - 由 Axionize WS2 (c88b494)
  • 踢出任何发送 vv:proxy_details 的人 - 由 ManInMyVan (3021287)
  • 还原"kick anyone who sends vv:proxy_details"

此操作还原了提交 3021287391de4aee964abe5bcf6c452f72f68a7b。 - 由 AoElite (73f63c1)

  • 修复了潜影盒不确定性逻辑中的拼写错误 (#2630) - 由 aquip (2508a34)
  • 踢出任何发送 vv:proxy_details 的人 - 由 ManInMyVan (e9c918d)
  • 添加对 URL 超时自定义的支持并重新实现通过代理踢出 - 由 AoElite (fd9e0f8)
  • 为 /grim history 添加 --name / --match / --grep 正则过滤器 - 由 Axionize WS1 (d591f10)
  • 升级 grim-api pin 至 1.3.2.0 - 由 Axionize WS1 (2c60aae)
  • 红石墙火把应使用 isLit 而非 isPowered - 由 cyramek (21f0c3d)
  • 升级 grim-api 至 1.3.2.1 - 由 Axionize WS2 (17d4d2f)
  • 在 isTickingReliablyFor 中检查 cameraEntity.isSelf() - 由 ManInMyVan (3e5afef)
  • 简化潜影盒打开/关闭 - 由 ManInMyVan (fc899a3)
  • Min,而非 max - 由 ManInMyVan (83a6d98)
  • Happy ghast 比例也被限制 - 由 ManInMyVan (5254190)
  • 移除未使用的导入 - 由 ManInMyVan (145f71c)
  • 当推送负载缺失时回退到 modrinth 获取 changelog 范围 - 由 Axionize WS1 (4c866d0)
  • 小清理 - 由 ManInMyVan (5a40a06)
  • 移除未使用的导入 - 由 ManInMyVan (215a1e6)
  • 调整"UrlTimeout"常量以保持一致性 - 由 AoElite (addabec)
  • 更新 DiscordManager webhook 正则表达式以支持 canary 并使超时可配置 - 由 AoElite (99e309f)
  • 在传送中检查旋转 (#2268) - 由 ManInMyVan (717829a)
  • 使 CheckData 中的 name 和 stableKey 不为可选 - 由 ManInMyVan (65d1050)
  • 仅在 sprint 检查中奖励时检查 isSprinting - 由 ManInMyVan (c549b19)
  • 在 SprintA 中使用违规 setback - 由 ManInMyVan (6953235)
  • 升级 grim-api 至 1.4.0.0 - 由 Axionize (cdd490b)
  • 为 swim-hop 向量应用方块效果 (#2648)
  • 为 swim-hop 向量应用方块效果

  • 调整 swim hop 常量 - 由 Cyramek (73c60d0)

  • VersionUtil 使用 providers.exec 进行 git 操作 (config-cache 兼容) - 由 Axionize (62b2268)
  • 在 N 处锚定 N:M 间隔 (#2661) - 由 Axionize (5fa803e)
  • 在边界交叉时触发 N:M,而不是在边界的每个标志时触发 - 由 Axionize (36675eb)
  • 每命令事件光标 (nextBoundary + executedOnce) - 由 Axionize (fb4ad7a)
  • 保留旧版一次性命令语义 - 由 Axionize (20d68c1)
  • 升级 grim-api 至 1.5.0.0 - 由 Axionize (25d10f4)
  • 使用路由后端检查目录 - 由 Axionize (29316a7)
  • 修复旧版历史检查 ID - 由 Axionize (70223cd)
  • 使用 MySQL 重连 API 构建 - 由 Axionize (ff214a4)
  • 异步运行 check-id 修复 - 由 Axionize (e32d091)
  • 小清理 - 由 ManInMyVan (fdaf096)
  • 当 PacketUser 为 null 时跳过 onUserLogin - 由 Axionize (2af658c)
  • 回港 V3-side 奇偶校验添加(针对 2.0)(#2678) - 由 Axionize (9b1aa1a)
  • 升级 PE:修复 Issue #2670 - 由 Axionize (6252fe6)
  • 允许配置中不包含 client-brand.ignored-clients - 由 ManInMyVan (60d3ecf)
  • 将工具类标记为 @UtilityClass - 由 ManInMyVan (fd9e91d)
  • 将 WriteLog$Entry 设为 record - 由 ManInMyVan (d501dfe)
  • 升级 PE:修复 #2681 - 由 ManInMyVan (43db51d)
  • 将 player.stuckSpeedMultiplier 设为 Vector3d

同时减少对象分配 - 由 ManInMyVan (8083f42)

  • 更多对象分配减少 - 由 ManInMyVan (d939109)
  • 将 ChatD 标记为稳定 - 由 ManInMyVan (5869433)
  • 更多代码清理 - 由 ManInMyVan (935668a)
  • 将一些监听器标记为 pre-via - 由 ManInMyVan (ce89791)
  • 减少内存分配并排除注解处理器 (#2669)
  • ComplexCollisionBox#downCast: 减少 alloc

  • ReachInterpolationData#getPossibleLocationCombined: 减少 alloc

  • SimpleCollisionBox: 仅在需要时分配 boxes SimpleCollisionBox#betweenCornersInDirection: 跳过 Vector3d alloc

  • Materials: 使用 IdentityHashMap 支持的 Sets 以减少 alloc (StateType#hashCode)

  • build.gradle.kts: 从 shadowJar 中排除注解处理器服务

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

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

  • 移除测试留下的注释

共同作者:Dieu info@l4b.org 共同作者:Techirion 126729304+Techirion@users.noreply.github.com 共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 由 NO-UUID (6152908)

  • 对 CompensatedInventory.startOfTickStack 使用 lombok getter - 由 ManInMyVan (199b673)
  • 如果不需要则不要装箱 - 由 ManInMyVan (bebccfa)
  • 使 chat 检查和 BadPacketsM 为 pre-via - 由 ManInMyVan (21f1534)

♻️ 重构

  • 重构插件消息包装器 - 由 ManInMyVan (5f8692d)
  • 重构 via 1.11->1.10 chat 钩子 - 由 ManInMyVan (fc47c5b)
  • 重构 BlockBreakSpeed 类以提高可维护性 - 由 AoElite (0d22e34)
  • 重构 BlockEffectsResolver 以接受移动列表 - 由 cyramek (29d28c6)

🐛 修复

  • 修复一些警告 - 由 ManInMyVan (0321e0b)
  • 修复 #2294 - 由 ManInMyVan (832194a)
  • 如果发送者被豁免或未找到,则修复 GrimDebug 命令异常 - 由 AoElite (2fa022e)
  • 修复 offground 精度损失 <= 1.20.4

我们现在平均在 1e-15 - 由 cyramek (7461aca)

  • 无用的玩家获取 (#2329) - 由 Szypkoo (115c329)
  • 修复 #2330 - 由 ManInMyVan (17cf067)
  • World isLoaded 抛出 method not found (#2372) - 由 Nils Gereke (403fd36)
  • 检查面包是否为 setback 时修复空指针 - 由 AoElite (a1b4893)
  • 修复 isGlider 逻辑中错误的 EquipmentSlot 映射 - 由 AoElite (d96d683)
  • 从 Sapling hitbox 定义中排除 Azalea - 由 Axionize (4a104e2)
  • 气泡柱、Azalea、床和天花板墙标牌命中/碰撞箱 - 由 Axionize (c019566)
  • 升级 gradle wrapper 以修复构建 - 由 Axionize (c2afc62)
  • 修复因初始化顺序不正确导致的 NPE - 由 cyramek (9e745fd)
  • 修复 1.8 服务器上的 elytra 数据包滥用 - 由 ManInMyVan (f95d877)
  • 尊重每检查 nomodifypacket (#2477) - 由 runningbird2 (f118b5c)
  • 修复骑乘鹦鹉螺/happyghast 时的许多碰撞问题 (#2460)

感谢 LaserSlime 和 Axionize 的帮助! - 由 Cyramek (302bed1)

  • 修复带有无效掉落物品数据包的 noslow - 由 ManInMyVan (48115eb)
  • 修复 #2563 - 由 ManInMyVan (cd3576b)
  • 修复 #1990 - 由 ManInMyVan (b9da63c)
  • 修复 #2579 - 由 ManInMyVan (13ad8bd)
  • 修复 PacketOrderC viabackwards 误报 - 由 ManInMyVan (fc75e51)
  • 修复弹性方块 (#2473) - 由 Cyramek (19c12b7)
  • 修复 MultiActionsC 中的拼写错误 - 由 ManInMyVan (8861589)
  • 修复页面长度检查 (#2637) - 由 Captain-S0L0 (f81e183)
  • 修复 shulker & dragon 比例属性 - 由 ManInMyVan (3d95fea)
  • 修复 1.8 服务器上的 1.9 客户端 noslow (#2607)
  • 修复 1.8 服务器上的 1.9 客户端 noslow

  • 修复元数据 ID - 由 ManInMyVan (5c6de64)

  • 修复 1.21.11 spigot 支持 - 由 ManInMyVan (7d823f5)
  • 修复骑乘可在水上漂浮的实体时的 swim hops - 由 cyramek (ce86075)
  • 修复 1.21.11 三角函数 (#2644)

新的三角查找表刚刚发布 - 由 Cyramek (494e9c5)

  • 修复 26.1 spigot 支持 - 由 ManInMyVan (7ccff01)
  • 修复 BadPacketsM 误报 - 由 ManInMyVan (3cd17cc)
  • 修复花盆中金蒲公英的碰撞 - 由 cyramek (02f1dc3)
  • 修复实体边界框复制回归 (#2642)
  • 修复实体边界框复制回归

  • 检查 tick end 事件是否存在 - 由 Cyramek (8a3767b)

  • 修复带有重生数据包的 compensatedCamera - 由 ManInMyVan (7a7e07f)
  • 修复最近的 vialegacy 更新导致的误报 - 由 ManInMyVan (c156c00)
  • 修复在流动流体中游泳时的精度损失 (#2668)

我们现在平均在 E-15 - 由 Cyramek (f3ed3b2)

  • 修复 1.8 凋零骷髅 hitbox - 由 ManInMyVan (fdd734a)
  • 修复 #2677 - 由 ManInMyVan (34c41db)
  • 修复 <=1.19.3 中的精度损失 - 由 cyramek (635708a)
  • 修复 1.21.11 客户端在 1.8 服务器上标记 reach - 由 ManInMyVan (edc3987)

🚀 功能

  • 支持 postgresql (#2368) - 由 Nils Gereke (c2c044f)
  • Discord 论坛频道支持 (#2380) - 由 Nils Gereke (bf637f5)
  • 添加 Fabric 活塞事件支持 (#2619) - 由 aquip (75cc402)

🤖 维护与 CI

  • 升级 shadow - 由 Axionize (955b725)
  • 增加默认构建内存分配 - 由 Axionize (55da384)
  • 升级 PE - 由 Axionize (b6f9f86)
闪电格里姆反作弊 - 2.3.74-65815fc-b982026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 修复获取不稳定脚手架的碰撞箱问题 - 作者:Axionize (f0fbc9d)
  • 历史记录重写标记 - 作者:Axionize (7d487a4)
  • 为带有攻击范围组件的物品添加属性交换支持 - 作者:Axionize (b281a2d)
  • 更新翻译 - 作者:tjshtqwq (c2acfae)
  • 将 '2.0' 分支合并到 patch-1 - 作者:tjshtqwq (75b5405)
  • 更新 zh.yml - 作者:tjshtqwq (f54ca0e)
  • 清理拼写错误和译者注释 - 作者:Axionize (1f55742)
  • 合并 PR #2267 - 改进中文翻译 - 作者:Axionize (439477e)
  • 为 GrimAC 添加波兰语配置文件 (#2501)

共同作者:DawixTV 92529087+DawixTV@users.noreply.github.com - 作者:dxw1d (272a889)

  • 回滚 "在 ZNPCsPlus 之后加载"

此操作回滚了提交 1d0cbb7078205b0b265a8ae6047bd304811ed130。 - 作者:ManInMyVan (c7983b7)

  • 移除 Reach.java 中未使用的导入 - 作者:ManInMyVan (d273229)
  • 修复 Discord Webhook PAPI 占位符 (#2518)
  • 修复对多种边缘情况的 Discord Markdown 解析支持

  • 修复 PAPI 名称混淆问题

  • 清理新的 Discord Webhook 处理实现

  • 记录为何在技术上正确时也不使用 volatile 的利用选择

  • 解决所有代码审查关切

  • 清理未使用的代码

  • 重构与 Discord 相关数据类型的包结构 - 作者:Axionize (c356f5f)

  • 修复因 Discord 重构中未重构包引用而导致的编译问题 - 作者:Axionize (53cf3e8)
  • Discord.yml 翻译修复 - 作者:Axionize (d4611f1)
  • 在 discord.yml 中添加对 disable-webhook-validation 布尔值的支持,用于带有 Discord webhooks 的自定义域名

关闭 https://github.com/GrimAnticheat/Grim/issues/2520 - 作者:Axionize (879d566)

  • 处理 1.21.2+ 客户端在载具中忽略传送数据包的情况 (#2470)

修复:https://github.com/GrimAnticheat/Grim/issues/2463 - 作者:Cyramek (8a0d1e2)

  • 版本号提升至 2.3.74 - 作者:cyramek (546abf0)
  • 为旧版服务器上的 1.21.11+ 客户端添加对 viaversion 攻击范围组件的支持 (#2474)

添加对 https://github.com/ViaVersion/ViaVersion/pull/4733 的支持 - 作者:Cyramek (7e8b6b6)

  • 修复 Polymer 方块在与世界重新同步时编码崩溃的问题,优化 Fabric PlatformChunk.getBlockId(x,y,z) 的内存分配 - 作者:Axionize (0a1ce1d)
  • 重生时重置饥饿度 (#2528) - 作者:SamB440 (5749463)
  • 修复悬浮方块放置时的幽灵方块缓解问题 (#2530) - 作者:RareMen (13fb273)
  • 豁免 1.21.11+ 中的旁观者免受 PacketOrderB 检查(修复 #2493) - 作者:ManInMyVan (29c0757)
  • 微调 BadPacketsP 的描述 - 作者:ManInMyVan (539e822)
  • 将 BadPacketsC 重命名为 SelfInteract - 作者:ManInMyVan (177c003)
  • 在初始化时设置 CheckManager#packetEntityReplication - 作者:ManInMyVan (3055cd1)
  • 使 TransactionOrder 的详细输出与其他检查保持一致 - 作者:ManInMyVan (68f34f2)
  • 要求 PacketOrderB 中的手必须为 MAIN_HAND - 作者:ManInMyVan (598aae0)
  • 在 1.9 服务器上检查 keepsprint (#2070)
  • 在 1.9 服务器上检查 keepsprint

  • 每次槽位变更时更新 AttackCooldownHandler 中的手持物品

  • 修复 #2389

  • 更改 AttackCooldownHandler 的包结构 - 作者:ManInMyVan (e954124)

  • 页脚文本不再被解析为 Markdown - 作者:ManInMyVan (e40ec01)
  • 升级 Kotlin 插件序列化至 2.3.0 - 作者:Axionize (5f9b9dd)
  • 将 DefaultResyncHandler 改为 record 类型 - 作者:Axionize (740f7f4)
  • 将 '2.0' 分支合并到 lightning

冲突:

common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

common/src/main/java/ac/grim/grimac/manager/CheckManager.java

common/src/main/java/ac/grim/grimac/player/GrimPlayer.java - 作者:Axionize (162a8d1)

  • 修复编译问题,消除内存分配,并修正 distanceSquared() > 36 而非 6 的逻辑 - 作者:Axionize (5efefe5)
  • 长矛刺击属于攻击行为,需按此处理 - 作者:ManInMyVan (bf10e23)
  • 在工作流中添加发布正式版本的独立逻辑 - 作者:AoElite (f0e15b0)
  • 提升 PE 以初步支持 26.1 版本 - 作者:Axionize (f380fcd)
  • 修复 PE 26.1 更新(延迟 fabric 文件夹) - 作者:Axionize (9b06c86)
  • 在允许回滚前检查 isPacketInventoryActive 是否为 false - 作者:SamB440 (6a46c35)
  • 将 ElytraA 的 onStartGliding() 移至 PacketEntityAction 中的客户端版本检查之前 - 作者:ManInMyVan (11d572f)
  • 处理 INTERACT_ENTITY 在 26.1 版本中被拆分的情况 - 作者:ManInMyVan (7d9dc86)
  • 在 MultiInteractA 中实际检查潜行状态 - 作者:ManInMyVan (89eedbe)
  • Quilt 被视为普通客户端 - 作者:ManInMyVan (77c48f4)
  • 修复发光鱿鱼的边界框 - 作者:SamB440 (10cb176)
  • 在 BadPacketsC 中添加对 LEAVE_BED 数据包有效性的检查 - 作者:ManInMyVan (d1b2135)
  • 修复灵魂火把的碰撞数据 - 作者:SamB440 (7fd7bc1)
  • 修复历史命令中 PostgreSQL UUID 检索问题 (#2575)
  • 修复历史命令中 PostgreSQL UUID 检索问题

  • 改进 DatabaseUtils 中 UUID 检索的错误处理

  • 在 DatabaseUtils.getUuid 中使用 if-else if 结构 - 作者:Fussel (efd796c)

  • 提升 PE 以支持 Bukkit 26.1 服务器 - 作者:Axionize (ece9f3c)
  • 对 PacketHidePlayerInfo 进行小幅修改 - 作者:ManInMyVan (b55a12c)
  • RESOURCE_PACK_STATUS 是异步的 - 作者:ManInMyVan (e8dc9ae)
  • 降级 PE 以修复 PE 的 netty 监听器中 promise/future 执行崩溃的问题 - 作者:Axionize (3e07a0e)
  • 升级 Gradle Wrapper 以修复构建问题 (#2591) - 作者:Tyler (890799d)
  • 修复 MYSQL 8 支持 (#2534)
  • 修复 MYSQL 8 支持

  • 防止重复索引错误频繁发送。 - 作者:Milan Ensink (35fe1f0)

  • MultiActionsD 未检查本 tick 内库存是否已打开 (#2596) - 作者:Bram (1b60cb8)
  • 避免对同一值进行两次检查 - 作者:ManInMyVan (99dce8c)
  • 修复错误的实体元数据索引 - 作者:Axionize (c169d9c)
  • 合并远程跟踪分支 'origin/2.0' 到 lightning

冲突:

common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java - 作者:Axionize (65815fc)

🐛 修复

  • 修复骑乘鹦鹉螺/快乐恶魂时的多种碰撞问题 (#2460)

感谢 LaserSlime 和 Axionize 的帮助! - 作者:Cyramek (302bed1)

  • 修复因无效掉落物品数据包导致的 noslow 问题 - 作者:ManInMyVan (48115eb)
  • 修复 #2563 - 作者:ManInMyVan (cd3576b)
  • 修复 #1990 - 作者:ManInMyVan (b9da63c)
  • 修复 #2579 - 作者:ManInMyVan (13ad8bd)
  • 修复 PacketOrderC 在 viabackwards 下的误报 - 作者:ManInMyVan (fc75e51)
闪电格里姆反作弊 - 2.3.73-0a6ac7a-b972026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 使用配置 history.database.port 作为数据库连接端口。修复 #2415 - 作者:SamB440 (42b6630)

  • 防止在 Fabric 上因重构 ServerPlayerEntity 而导致重生时出现撕裂读取和竞态条件 - 作者:Axionize (101473b)

  • 在 netty 线程上重新同步,而不是尝试在区域线程中发送数据包 - 作者:Axionize (80f90e6)

  • 添加选项以通过 NoOp 重新同步处理程序禁用无 API 的重新同步 - 作者:Axionize (7c68947)

  • 修复 Sculk Vein 替换阶段/模拟的误报 & 优化 canBeReplaced 逻辑

  • 添加了 SCULK_VEIN 的替换逻辑(镜像 GLOW_LICHEN)。

  • 将顺序的 'if' 语句重构为 'else-if' 链,以改进分支预测并允许提前退出。

  • 根据频率重新排序方块检查(现在优先检查半砖、雪和藤蔓)。

  • 合并了多面方块的重复逻辑。 - 作者:Axionize (b79d5fd)

  • 仅当 PLAYER_INFO_UPDATE 包含 ADD_PLAYER 动作时才更新配置文件 - 作者:Axionize (d0b30de)

  • 修补 FabricatedPlace 的误报 - 作者:Axionize (98fd065)

  • 使 CrashC 的详细输出与其他检查更一致 - 作者:ManInMyVan (6186abc)

  • 改进 FabricatedPlace 的修补 - 作者:Axionize (07d2010)

  • 尝试修复 disconnect.timeout 的级联问题 - 作者:Axionize (639490a)

  • 修复蘑菇和真菌的碰撞箱 - 作者:Axionize (14573da)

  • 修复珊瑚的碰撞箱 - 作者:Axionize (a2074d0)

  • 添加遗漏的用于碰撞箱修复的工具类文件 - 作者:Axionize (8016586)

  • 修复碰撞箱修补中的合并错误 - 作者:Axionize (ca64aab)

  • 更新 .gitignore - 作者:Axionize (be35b9b)

  • 彻底修复 rot 仅在 1.15 - 1.20.1 和 1.21.5 - 1.21.8 版本中计算 reach/hitbox 的问题 - 作者:Axionize (9cb4547)

  • 临时修复 Folia 破坏 getTPS() 的问题 - 作者:Axionize (dbd7510)

  • 更快的临时修复 Folia 破坏 getTPS() 的问题 - 作者:Axionize (02f6a3b)

  • 将远程跟踪分支 'origin/2.0' 合并到 lightning - 作者:Axionize (5c17fba)

  • 添加对旧版 API 的回退支持 (#2409)

  • 临时添加对旧版 API 的支持

  • 将 API 提升至发布版本 - 作者:Axionize (95e2774)

  • 支持 1.21.11 (#2420)
  • 修复马的现代/传统跳跃机制,骆驼冲刺冷却追踪 (#2199)

  • 实现 UseEffects 组件

修复:https://github.com/GrimAnticheat/Grim/issues/2396

  • 初步支持碰撞箱边距

  • compensableDashableEntities -> dashableEntities

  • 实现在水中漂浮

  • 实现鹦鹉螺移动

待办:修复冲刺,修复台阶

  • 修复 0.03 流体推动

此代码曾在以下提交中被丢弃: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

  • 修复鹦鹉螺冲刺

  • 提高冲刺时的精度

  • 真正修复冲刺

我真的很笨,原版数据包序列:

  1. 带有玩家视角角度的 rot 数据包
  2. 带有实体视角角度的载具移动数据包

载具移动数据包会覆盖第一个 rot 数据包中玩家的 yaw 和 pitch

  • 为鹦鹉螺实现所有预测引擎

我稍后会重构此部分

  • 支持新的滑翔行为

  • 重构鹦鹉螺预测引擎

  • 实现干旱状态的边界框

  • 在流体推动中添加对快速熔岩游戏属性的支持

  • 骆驼现在有多种变体

  • 进行中的基于 tick 的世界边界

  • 修复离地骆驼冲刺

感谢 thisisatest8406

  • 添加实体的 onGround 追踪

  • 撤销实体 onGround 追踪

我决定我不够关心这个问题,骆驼 bug 太多了,一切都不同步

  • 移除不必要的差异

  • 修复待处理的跳跃和骆驼离地冲刺

  • 移除关于鹦鹉螺跳跃逻辑的过时注释

  • 添加对 max_reach AttackRange 组件的支持


共同作者:Axionize 154778082+Axionize@users.noreply.github.com - 作者:Cyramek (bf85863)

  • 统一所有 API - 作者:Axionize (c5855fd)
  • 修复对混乱的旧版 getGrimUser(Player player) 方法的支持 - 作者:Axionize (8001f6c)
  • 提升 PE 版本 - 作者:Axionize (21f6988)
  • 提升 API 版本以不再阴影化 Player shim - 作者:Axionize (50a25d9)
  • 命令 API 回退处理 - 作者:Axionize (08770f0)
  • 重构 Fabric 以使权限 API 和 cloud 成为可选依赖 - 作者:Axionize (b9fa89c)
  • Fabric 1.21.11 支持,解决未包含 fabric-permissions-api-v0 的问题 - 作者:Axionize (075cec8)
  • 更新支持的 Fabric 版本 - 作者:Axionize (3659060)
  • 提升 PE 版本 - 作者:Axionize (a54329a)
  • 修复 Bukkit 上 CommandManager 早期初始化导致的启动问题 - 作者:Axionize (fefe0d1)
  • 重命名 Fabric mc1211 -> mc12111 模块 - 作者:Axionize (9d1682d)
  • 修复通过潜影盒切换工具时的快速挖掘误报 (#2454) - 作者:Ayou (c043357)
  • 暂时回滚此项,直到找到更好的修复方法 - 作者:cyramek (b7a719d)
  • 不允许玩家重用 setback 速度(修复 #2445)(#2450) - 作者:SamB440 (cd86c14)
  • 重命名 Fabric1211PlatformServer -> Fabric12111PlatformServer - 作者:Axionize (88cfffc)
  • 重构 Resolver 生命周期 - 作者:Axionize (35174fd)
  • 唤魔者尖牙不可被击中 - 作者:SamB440 (80afaae)
  • 提升 PE:修复数据包排序和映射问题
  • Previa 数据包映射失败,原因是错误地调用了 getPacketVersion() 而非 getClientVersion(),影响所有版本上的 previa
  • 修复 Krypton + Via + Grim 兼容性的监听器重定位 - 作者:Axionize (6c49a01)
  • 添加从 CompensatedWorld 暴露 int 方块类型的方法 (#2464)
  • 实现功能

  • 更新 common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

  • 添加 @Override 注解

共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 作者:Cubicake (2b62148)

  • 添加 /grim testwebhook 命令 - 作者:ManInMyVan (327b947)
  • 改进中文配置文件中的注释 (#2490)

更新了 zh.yml 中的注释以提高清晰度和翻译质量。 - 作者:MatrixU5er (b65b7f0)

  • 在 ZNPCsPlus 之后加载 - 作者:ManInMyVan (1d0cbb7)
  • 提升 grim-api 版本 - 作者:AoElite (7be8f51)
  • 更新 Grim API 至 1.2.4.0 - 作者:Axionize (4ca65b1)
  • 将分支 '2.0' 合并到 lightning

冲突:

.github/workflows/build-and-publish.yml

common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - 作者:Axionize (0a6ac7a)

♻️ 重构

  • 重构 BlockEffectsResolver 以接受移动列表 - 作者:cyramek (29d28c6)

🐛 修复

  • 修复 1.8 服务器上的鞘翅数据包滥用 - 作者:ManInMyVan (f95d877)
  • 遵守每检查项的 nomodifypacket (#2477) - 作者:runningbird2 (f118b5c)
闪电格里姆反作弊 - 2.3.73-daa3bfe-b962026-09-17 05:07:46

本次构建的变更(自上次推送以来)

杂项

  • 调整 canGlide 逻辑以尝试提高兼容性 - 作者:AoElite (679e869)
  • 调整 isGlider 逻辑以考虑无法耗尽的物品 - 作者:AoElite (acf273f)
  • 回滚“修复 isGlider 逻辑中错误的 EquipmentSlot 映射”

此操作回滚了提交 d96d683b14150d6e0f486a63cf1a74c417c6a84b。 - 作者:AoElite (0153ce3)

  • 重构仓库逻辑以支持 mavenLocalOverride - 作者:Axionize (965008f)
  • 升级 PE - 作者:Axionize (12f6af3)
  • 添加对 1.21.11 的初步支持并更新依赖项 - 作者:Axionize (97b8758)
  • 修复副手槽位中滑翔翼无法工作的问题 (#2397) - 作者:iLemon (32f607b)
  • 升级 github actions-upload-artifact 版本 - 作者:Axionize (9bd12cc)
  • 使运行器可配置以绕过 Tenki 问题 (#2398) - 作者:Axionize (f772b74)
  • 修复启用 Spigot late-bind 选项时的 NPE 并改进注入逻辑

此 PR 修复了在 1.14.4 之前的服务器上启用 Spigot"late-bind"选项时发生的 NullPointerException。

变更内容:

  • 更改注入优先级:插件现在尝试首先注册 Paper TickEndEvent。仅在 Paper API 不可用时才回退到 NMS 反射。
  • 为服务器连接实例添加了空值检查,以防止在反射注入期间发生 NPE。
  • 添加了特定的错误日志记录:如果在旧版服务器(< 1.14.4)上注入失败,插件现在会通过反射检查 spigot.yml 设置,以明确警告用户是否由 late-bind 引起。
  • 重构反射逻辑以使用 ReflectionUtils,以提高安全性和代码整洁度。 - 作者:uRyanxD (5f02ccc)
  • 升级 PE - 作者:Axionize (92d06e4)
  • 构建 CI 变更 - 作者:Axionize (9626712)
  • 缓存地图值以提升性能 (#2407) - 作者:Rothes (8f0036e)
  • 合并远程跟踪分支 'origin/2.0' 到 lightning

冲突:

.github/workflows/build-and-publish.yml - 作者:Axionize (8379457)

  • 清理 OptifineFastMath.java 代码 - 作者:ManInMyVan (2d8def6)
  • 支持 CAMERA 数据包 (#2303) - 作者:ManInMyVan (d374c2b)
  • 添加 PlatformPlayerFactory#getOfflinePlayers() - 作者:Axionize (ce0dad5)
  • 暂存工作 - 作者:Axionize (90193b4)
  • 修复由于仅旋转回归导致未标记 1.15 至 1.20.1 版本客户端的 reach 回归问题 - 作者:Axionize (60b70d1)
  • 合并分支 'fix/reach-infinite-expanding-hitbox' 到 2.0 - 作者:Axionize (4292e93)
  • 合并分支 '2.0' 到 lightning - 作者:Axionize (daa3bfe)

🐛 修复

  • 修复 isGlider 逻辑中错误的 EquipmentSlot 映射 - 作者:AoElite (d96d683)
  • 从树苗碰撞箱定义中排除杜鹃花丛 (Azalea) - 作者:Axionize (4a104e2)
  • 气泡柱、杜鹃花丛、床和天花板壁挂告示牌的击中/碰撞箱 - 作者:Axionize (c019566)
  • 升级 gradle wrapper 以修复构建 - 作者:Axionize (c2afc62)
  • 修复因初始化顺序不正确导致的 NPE - 作者:cyramek (9e745fd)

🤖 维护与 CI

  • 升级 shadow - 作者:Axionize (955b725)
  • 增加默认构建内存分配 - 作者:Axionize (55da384)
  • 升级 PE - 作者:Axionize (b6f9f86)
闪电格里姆反作弊 - 2.3.73-49742a9-b952026-09-17 05:07:46

本次构建的变更(自上次推送以来)

其他

  • 更新上游
  • 支持 1.21.10
闪电格里姆反作弊 - 2.3.72-0315338-b922026-09-17 05:07:46
  • 更新上游
闪电格里姆反作弊 - 2.3.72-71bd30a-b912026-09-17 05:07:46
  • 修复导致活塞误判的拼写错误 (71bd30a10)
闪电格里姆反作弊 - 2.3.72-293bede-b902026-09-17 05:07:46
  • 更新上游:大量错误修复
  • 新增优化
    • 旧版 GRIM 历史记录格式的支持已被移除,因为该功能已合并至上游。您的旧数据将不会被迁移或显示,但该命令仍可正常工作。