Learn · modules
Minecraft 假延迟是什么?数据包延迟详解
虚假延迟会延迟玩家移动数据包,并在短时间内释放这些数据包,导致玩家位置与服务器不同步。以下是其工作原理以及它为什么会被封禁.
Minecraft 中的虚假延迟是什么?
虚假延迟是某些Minecraft作弊客户端中发现的战斗模块,它会保留玩家的移动数据包,而不是在每个时钟周期发送它们,然后一次性释放整个队列。正常的连接会持续报告位置,因此服务器中玩家位置的记录会密切跟踪他们的实际位置。虚假延迟故意破坏这种联系:玩家在自己的屏幕上继续行走和战斗,而服务器却卡住,持有旧的位置,当队列最终刷新时,其他人看到的不是平滑的移动,而是一段停顿或短距离的传送。
它的吸引力在于它所造成的差距。当数据包被保留时,服务器的位置记录会落后于现实,针对那个旧位置发起的攻击会错过真正的你。当爆发发生时,你就会回到你实际所在的位置,并且失同步也会消失。
虚假延迟的工作原理
原版客户端大约每时钟周期发送一个移动数据包,因此服务器中玩家位置的记录很少会落后于现实超过一小段时间。虚假延迟会拦截这些传出的数据包,将它们排队,并在短时间窗口内保持队列关闭,而不是立即释放它们.
在持有时,玩家自身的体验没有任何改变。他们仍然可以在自己的屏幕上正常行走、跳跃和摆荡。被冻结的是其他人的视角:服务器以及任何观看的玩家都卡在持住开始之前实际传出位置的最后位置。当持住结束时,排队的包一起释放,玩家看起来会跳跃或卡顿到他们的真实位置,而不是走到那里。
大多数实现都限制了持住的时长。让真实位置和报告位置之间的差距过大,服务器要么会将玩家弹回一个合理的位置,要么直接标记该移动,因此该模块实际上是在权衡它所购买的失同步的程度与突发情况的明显程度。
为什么人们在战斗中使用它
持住期间的失同步创造了对标的对象的瞄准问题。在持住期间,他们瞄准的是最后已知的位置,而这个位置现在落后于你的实际位置几个周期。攻击会击中空无一物的地方。当突发情况发送排队的包并使你跳到你的真实位置时,这个窗口关闭了,但你在战斗中购买了一帧或两帧的无敌时间.
在更长的延迟中,效果会更加显著。玩家可能会从其他所有观看者的角度来看,向后或向侧面颤抖数个方块,这使得他们更难被需要精确瞄准的投射物或刀具击中。
虚假延迟 vs. 瞬移
虚假延迟经常与瞬移混淆,因为两者都是通过操纵数据包来制造玩家真实位置和服务器已知位置之间差距的模块。其底层机制不同,屏幕上的表现也不同。
| 方面 | 虚假延迟 | 瞬移 |
|---|---|---|
| 数据包行为 | 延迟移动数据包,然后以突发方式释放它们 | 暂停连接,然后恢复连接 |
| 视觉效果 | 颤抖或短距离传送 | 冻结,然后快速移动到新位置 |
| 利用漏洞 | 服务器持有过时的位置,而客户端继续移动 | 服务器在暂停期间未收到更新 |
| 检测标记 | 延迟后突然出现移动数据包爆发 | 连接中断后立即更新 |
同一类问题,不同的杠杆。虚假延迟从未停止与服务器通信,它只是延迟且一次性地通信。瞬移完全停止通信,并在决定时恢复对话。
检测与风险
虚假的延迟存在于将玩家的真实位置与服务器记录的位置拉开的目的,而持停后的突发移动正是服务器端反作弊系统检测的模式。持停后数据包爆发的一致性,多场战斗中卡顿移动的模式,以及不可能的位置转移:所有这些都是优秀的作弊检测系统所寻找的线索。
这是一种可检测的、具有游戏优势的作弊行为,其封禁风险与其他位置同步漏洞相同。不要将其视为修复或隐藏不良连接的手段,而应将其视为一种使用时会产生明显模式的模块。
常见问题解答
当移动数据包发送时,它会改变,而不是玩家在自己的屏幕上移动的方式。数据包会被延迟并一起释放,形成一次爆发,因此服务器记录的位置会落后于实际位置.
高延迟是玩家无法控制的真实网络延迟。虚假的延迟是客户端故意使用的点射模式,正常的网络连接本身无法产生这种模式.
不,它会在真实位置和服务器记录的位置之间产生一个短暂的空隙,这可能会让玩家在持握期间更难被击中,但它并不会完全阻止伤害,而且这个爆发本身就是一个容易被发现的信号.
虚假的延迟会延迟发送数据包,并在之后再将其发送出去。眨眼则直接中断连接,并在之后恢复。两者都会导致位置不同步,只是通过不同的数据包层级机制来实现.