BadPackets

BadPacketsA

BadPacketsB

BadPacketsC

BadPacketsD

BadPacketsE

BadPacketsF

BadPacketsG

BadPacketsH

BadPacketsI

BadPacketsJ

BadPacketsK

BadPacketsL

BadPacketsM

BadPacketsN

BadPacketsO

BadPacketsP

BadPacketsQ

BadPacketsR

BadPacketsS

BadPacketsT

BadPacketsU

BadPacketsV

BadPacketsW

BadPacketsX

BadPacketsY

BadPacketsZ


PacketOrder

PacketOrderA

PacketOrderB

PacketOrderC

  • 描述: 缺少 InteractAt 包 (Skipped Interact-At)。
  • 检测内容: 1.8+ 客户端在某些交互(如与盔甲架交互或特定操作)时,应该发送 INTERACT_AT(带向量)随后发送 INTERACT。此检测确保这两个包成对出现且参数(如手、实体ID、潜行状态)一致。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/packetorder/PacketOrderC.java

PacketOrderD

PacketOrderE

  • 描述: 切换物品时存在其他动作 (Action during slot switch)。
  • 检测内容: 玩家在发送 HELD_ITEM_CHANGE(切换快捷栏)时,不应同时处于某些特定动作状态(如攻击、使用物品、疾跑、潜行等),防止通过快速切包隐藏动作或绕过检测。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/packetorder/PacketOrderE.java

PacketOrderF

  • 描述: 疾跑/潜行时发送特定动作包 (Action while sprinting/sneaking)。
  • 检测内容: 检查在玩家处于疾跑或潜行状态时,是否发送了某些可能在物理上或逻辑上不兼容的包(如特定的物品使用、方块放置或交互),防止利用状态同步延迟作弊。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/packetorder/PacketOrderF.java

PacketOrderG

PacketOrderH

PacketOrderI

  • 描述: 交互、放置与挖掘的顺序冲突 (Order conflict: Interact/Place/Dig)。
  • 检测内容: 极其严格地检查 INTERACT_ENTITYPLAYER_BLOCK_PLACEMENTUSE_ITEMPLAYER_DIGGING 之间的状态互斥。例如,不能在挖掘时放置,不能在释放物品使用时攻击等。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/packetorder/PacketOrderI.java

PacketOrderJ

PacketOrderK

PacketOrderL

PacketOrderM

PacketOrderN

PacketOrderO

PacketOrderP


Timer

NegativeTimer

  • 描述: 负向计时器检测 (Negative timer balance)。
  • 检测内容: 检测玩家的发包速度是否显著慢于正常时间流逝(即“负”计时器,有时用于积攒“时间余额”以便后续瞬间爆发加速)。通过对比玩家的移动时钟 (PlayerClock) 与实时时间 (RealTime) 的差值,如果差值过大(落后过多),则触发检测。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/timer/NegativeTimer.java

TickTimer

  • 描述: Tick 结束包检测 (Tick end packet check)。
  • 检测内容: 针对支持 CLIENT_TICK_END 包的新版本客户端,检查在每个 Tick 周期内是否发送了正确数量的移动/飞行包。如果在一个 Tick 内发送了多个飞行包,或者发送了飞行包却没有对应的 Tick 结束包,则视为异常。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/timer/TickTimer.java

Timer (Base Check / TimerA)

  • 描述: 标准计时器检测 (Standard timer check)。
  • 检测内容: 核心计时器检测逻辑。它不依赖于简单的实时时间对比,而是利用事务(Transaction/Ping)机制来构建一个与玩家网络延迟挂钩的“玩家时钟”。

    • 原理: 每次收到移动包增加 50ms 余额,随时间流逝消耗余额。如果余额超过阈值(即发包过快),则判定为 Timer 作弊。
    • 特点: 能够极好地抵抗网络波动和 Ping 值变化引起误报,因为它基于服务器-客户端-服务器的往返确认机制。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/timer/Timer.java

TimerLimit

  • 描述: 计时器滥用限制 (Timer abuse limit)。
  • 检测内容: 继承自 Timer 检测,用于限制玩家在极高 Ping 值下的时间余额滥用。

    • 目的: 防止玩家故意利用极高的延迟(如 1000ms+)来获得巨大的时间缓冲区,从而在短时间内进行不被检测的加速。
    • 逻辑: 当计算落后时间(Fall behind)时,强制设置一个最大允许的 Ping 值(如 1000ms),超过此值的延迟将不再增加允许的时间余额。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/timer/TimerLimit.java

VehicleTimer

  • 描述: 载具计时器检测 (Vehicle timer check)。
  • 检测内容: 专门针对乘坐载具(如船、矿车、马)时的计时器检测。

    • 逻辑: 继承自标准 Timer 逻辑,但针对 VEHICLE_MOVESTEER_VEHICLE 包进行了适配。区分了客户端控制载具(主动发包)和服务器控制载具(被动发包)的情况,确保只在玩家主动控制载具移动时进行计时器检查。
  • 代码位置: common/src/main/java/ac/grim/grimac/checks/impl/timer/VehicleTimer.java

4399mc官网公告

很明显,新的一年:

  • 可以注册4399账号
  • 2026年前没有登陆网易mc的4399账号将无法登入mc
  • 老帐号依然可以游玩

Freecookie 未来规划

  • 我们并没有计划停止运营
  • 我们近期不会停止提供新账号获取
  • 我们将长期维护Cookie转换
  • 未来可能会逐步停止新账号获取(并无明确计划)
  • 我们会在寒假(二月份)前推出自动修复老4399账号丢失诗敏信息
  • 会推出需要注册/申请的对可用老帐号的获取权限(仅限制名额,不收取任何费用)
  • 在现有广告赞助商时长结束后,不再接受新的广告申请——恢复完全公益状态

至此,Freecookie团队祝您新年快乐 :)

在本次非例行更新中,我们优化了 Cookie 转换部分的重试逻辑和内存占用等问题。

如果后续出现无法获取等问题,请及时反馈。

值得注意的是,本次更新为非例行更新。

下一次大更新预计在寒假开始前。

预计更新内容:

  1. 统一 API 路由格式
  2. 优化性能
  3. 重构部分后端逻辑
  4. 重写前端