LiveOverflowMod
一个针对LiveOverflow服务器的Minecraft黑客客户端。包含服务器上各种挑战的黑客功能,以及一些实用工具。
黑客功能
WorldGuard绕过 ;
WorldGuard被用来拒绝玩家进入受保护区域,玩家需要在熔岩中死亡才能完成挑战。
WorldGuard通过PlayerMoveEvent事件工作,此绕过方法通过不触发该事件来实现移动。
只有当移动距离足够大时,才会发送事件。因此我们可以小幅度移动,然后通过"移动过快!“来保存位置。
这意味着每tick只能移动0.06个方块,然后必须发送一个远距离位置数据包来触发警告并为下一次重复重置位置。
但是,这可以改进,因为WorldGuard只在你跨越方块边界时检查区域。
所以当我们可以在不跨越边界的情况下移动几乎整个方块,然后只移动一小段距离来跨越边界。
当使用默认的;(分号)快捷键激活此黑客功能时,它将允许你使用WASD键以这种方式移动。
激活时,它会执行上述绕过方法,直到再次停用
重定向isImmobile()方法,在黑客功能启用时返回true,从而禁用正常的玩家移动
Reach ]
在阅读移动代码时,我发现可以发送距离当前位置最多10个方块的位置数据包。 而且每tick可以发送5个数据包,因此可以在单个tick内移动50个方块。这给了我制作 Reach黑客的想法,通过发送多个朝向玩家的位置数据包,攻击他们,然后返回。 这正是当你切换默认的](右括号)快捷键时此黑客功能所做的,然后点击远处的实体 就像在攻击他们一样。
警告: 此黑客功能并不完美。只有在有清晰的视线到玩家时才有效,有时在移动过程中 会卡住,意味着你最终会停留在移动路径的某个位置。但作为概念验证已经足够好了!
启用时,你会传送到你从远处点击的每个实体,然后传送回原始位置 检测对实体的点击并将其转发到传送函数 启用时,客户端会认为它可以远距离攻击实体,以使Minecraft UI正常工作并检测攻击尝试
Clip Reach [
有一个技巧可以通过在单个tick内发送许多移动数据包,然后进行一次大跳跃来穿越巨大距离。 这被实现在Clip Reach黑客功能中,当使用默认的[(左括号)快捷键启用时,将 使用此方法向上传送,然后到目标上方,最后下降到目标。之后它会返回上方,到你的 原始位置,再下降。所有这些都在屏幕上没有任何传送效果的情况下发生,提供干净的Reach感觉。
警告: 由于需要在单个tick内发送大量数据包,有时可能会失败并使你卡在 中间某个位置,通常是在空中。因此建议在使用此黑客功能时使用NoFall黑客,这样你 就不会死亡 :)
启用时,你会传送到你从远处点击的每个实体,穿过墙壁,然后传送回原始位置 检测对实体的点击并将其转发到传送函数 启用时,客户端会认为它可以远距离攻击实体,以使Minecraft UI正常工作并检测攻击尝试
恐慌模式 ,
当你想挂机时,可以使用,(逗号)快捷键启用此模式,确保不会发生任何事情。它检测玩家进入你的渲染 距离,以及受到任何形式的伤害。当检测到这些情况时,它每tick发送5个数据包,每个将你向上移动10个方块。 这样做持续整整1秒,意味着你最终会精确向上移动1000个方块。之后立即将你与服务器断开连接。
处理检测玩家进入渲染距离,以及传送和断开连接 当你受到任何伤害时,也会触发
被动模组 -
被动模组默认启用,并预期始终使用。它们是实用模组,几乎没有缺点。
你可以使用默认的-(减号)快捷键一次性切换所有被动模组。
反人类绕过
所有移动数据包需要四舍五入到百分位。这是使用简单的Math.round()函数完成的,
并且为了修复浮点错误,使用了Math.nextAfter()函数。
进行四舍五入计算
拦截PlayerMoveC2SPacket.Full并在发送到服务器时对位置进行四舍五入
与上面相同,但针对PlayerMoveC2SPacket.PositionAndOnGround数据包
与上面相同,但针对乘坐车辆如船时
禁用异常数据包
服务器尝试发送给你的某些数据包实际上是伪造的,即世界边界、创造模式、演示模式和终末 credits。 这些数据包实际上并未被服务器强制执行,只是为了干扰你的客户端。此模组忽略它们。
警告: 该模组不区分服务器发送的虚假游戏模式更改和你实际更改游戏模式。因此, 如果你想更改游戏模式,需要先禁用此模组。
在数据包到达时忽略或更改它们
瞬间挖掘
此黑客功能在某些情况下很有用。当你尝试破坏方块时,它会向服务器发送START_DESTROY_BLOCK动作。
当你作为客户端完成破坏方块时,它会向服务器发送STOP_DESTROY_BLOCK,并且会验证
你是否已经破坏了足够长的时间。事实证明,服务器只检查你是否破坏了方块
70%的进度,因此你可以比正常情况稍快发送STOP_DESTROY_BLOCK。(参见Paper-Server源代码中的ServerPlayerGameMode.java)
|
|
资源
- 一个简单的fabric模组与Mixin的示例:https:///FabricMC/fabric-example-mod
- 获取Paper-Server源代码:https:///PaperMC/Paper/blob/master/CONTRIBUTING.md