数据包护盾

数据包护盾

客户端模组,可自动防止因数据包格式错误、负载过大或不可能移动而导致的踢出。过滤数据包、检查旋转并限制交互频率。

游戏机制

修复以下问题:

  • 超过 8,388,608 字节或长度超过 8 字节/宽于 21 位的出站数据包会被拦截

  • 大于 1,048,576 字节或 32,767 字节的有效载荷会被过滤

  • 超过 2,097,152 字节的压缩数据包会被拒绝

  • 尝试读取大于 2,097,152 字节的 NBT 标签会被阻止

  • 尝试在读取时分配过多内存的区块数据包会被丢弃

  • 超过协议限制的 VarInt 和 VarLong 值会被丢弃

  • 防止由格式错误或过大的数据包导致的连接超时

  • 每 tick 超过 10 格的玩家移动会被阻止

  • 高于 5 格的垂直跳跃会被限制

  • 极端旋转(俯仰角超出 ±90° 或偏航角超出安全的每 tick 限制)会被过滤

  • 交互刷屏(每秒超过 10 次挥手或方块操作)会被阻止

PacketShield 在 Netty 层面工作,拦截并验证出站数据包,在数据到达服务器之前自动过滤不安全的数据。全自动运行,无需任何设置。

对于在原版或轻度模组服务器上遇到典型客户端错误的普通玩家,PacketShield 可以将自身原因导致的踢出减少约 80–95%。