Learn · modules

什么是船蝇? Minecraft 车辆飞行漏洞

船蝇劫持船只的车辆包裹使其攀升和悬浮,从而实现无限制的飞行。服务器如何捕捉它,请看下文.

TRtrolPublished 1 min read

Minecraft 中的“船飞”是什么?

“船飞”是一个围绕着一个狭窄目标构建的移动模块:原版Minecraft中的船。船的设计是漂浮在水面上,并在海岸线附近轻微地在陆地上移动,仅此而已。 “船飞”通过重写玩家骑乘时船发送的载具移动数据包,从而打破了这种设计,使船可以攀登、保持高度并前往任何飞行实体可以到达的地方。 玩家始终留在座位上。 从外部看,它就像一艘忘记自己不是飞机的船。

它的吸引力很简单。“船飞”赋予了玩家不受限制的移动,而无需离开座位,这比明显的飞行更安静。 服务器看到的是一艘实体在不可能的地方,而不是一个违反物理规律的玩家实体。

船的数据包是如何被劫持的

原版船不是独立的行动者。 船的位置更新来自与水浮力和重力相关的载具移动数据包,这与移动站在地面上的玩家的数据包是分开的通道。 单独使用,该通道无法产生升力:船体下没有水,没有向上的力,没有船离开水面的理由.

船飞直接瞄准那个通道。它重写或注入船只报告的车辆移动值,导致服务器看到船只以真实的水和重力物理定律不可能的方式上升、保持高度或横向漂移。服务器信任客户端发送的内容并据此更新位置.

  1. 侦测船只

    檢查玩家是否坐在船隻實體中.

  2. 拦截车辆数据包

    取走船隻平時會送來的行動包.

  3. 注入提升

    重新调整 Y 轴速度,使船只攀升或悬停.

  4. 撒謊吧

    让服务器认为船以你想要的方式移动.

为什么会被标记,在那些会检查的服务器上

Boat Fly 并非外观调整或便利快捷方式。它提供其他合法玩家无法企及的移动能力:攀爬地形、跳过移动规则,或通过前往无法到达的地方逃离战斗。这使其与其它飞行和穿透墙壁的作弊行为处于同一类别。

对船只行为进行建模的服务器端反作弊系统,例如船只应达到的速度、是否应停留在水面上、重力如何将其拉回,一旦检查就会迅速发现 Boat Fly。船只攀爬或悬浮会在发生的那一刻就打破这种模型。差距在于,许多服务器仅验证玩家实体移动,而从未为载具建立单独的检查。Boat Fly 正好是在这其中的生存之道.

车辆数据包篡改

直接重写船只的移动数值.

保持升力及高度

违背物理定律,让船只攀升和悬浮.

无约束遍历

无论飞行生物能去往何处.

欺骗坐陷

玩家保持坐姿,因此呈现出船的问题,而非玩家飞行.

常见问题