Learn · modules

Minecraft PvP 中什么是回溯??

回溯是一个战斗模块,它会将对手先前站立的位置倒退,使击中发生在其移动之后。以下是其机制以及反作弊系统为何会检测到它的原因.

TRtrolPublished 1 min read

Minecraft PvP 中什么是回溯 (Backtrack)?

回溯是一种战斗模块,它会记录下对手在过去几刻 (ticks) 中的移动轨迹。当你挥击时,它不会使用服务器确认的对手当前位置,而是会从这个记录中查找,并将之前的某个位置视为仍然有效。命中计算基于他们过去的位置,而不是他们现在的位置。它的基础建立在一个简单的事实:每款在线游戏都会容忍客户端显示与服务器当前认为真实状态之间存在一定的差距。回溯有目的地扩大了这个容忍度。

这个差距的存在,是因为实际的网络延迟意味着你的客户端始终与服务器存在轻微的同步偏差。如果服务器不原谅这种偏差,那么对于任何有实际网络延迟的玩家来说,战斗都将无法进行。回溯利用了这种内置的容错机制,将其转化为一种优势。

回溯的工作原理

该模块会记录每个玩家在过去几个时间刻度内的位置信息。攻击时,你并非锁定在他们当前的位置。你可以回溯到之前的记录,并以此作为实际位置来计算你的命中点,即使他们已经移动到其他位置。服务器会验证挥击动作,如果符合服务器端的延迟容忍度,则命中发生。对于被击中的玩家而言,看起来就像你击中他们移动后的位置。从服务器的角度来看,数据匹配是因为它们与之前但仍然有效的位置信息进行比较.

为什么反作弊系统会发现它

回溯会生成一个明显的模式:攻击者击中目标的历史位置,而不是当前位置。能够记录移动数据的服务器端反作弊系统,可以将攻击者声称的内容与实际发生的情况进行比较。如果击中位置是目标已经明显放弃的位置,那就是一个标记。

这种权衡是真实存在的。 更宽的回溯窗口允许你击中正在闪避的人,这确实很有用。 但同样的宽泛窗口会回溯得太远,产生看起来不可能的击中,而这正是检测所寻找的东西。 缩小窗口以避免被发现,你会失去模块值得使用的绝大部分优势。 这是一个永恒的移动和修复循环:作弊带来的好处越大,就越容易被发现.

难以击中的位置

攻击集中在目标已经离开的地点.

运动的悖论

偏离目标轨迹的命中.

始终一致的回绕深度

重复使用相同的历史位置会产生可察觉的模式.

延迟不一致

真正的延迟会导致位置更新不均匀;回溯会产生一致的回退.

回溯与延伸

这两者是针对击中判定不同部分的独立漏洞利用。

回溯 (Backtrack)延伸 (Reach)
改变的内容目标位置的时间你仍然可以击中的距离
提出的问题我可以使用更早的位置吗?我可以击中更远的目标吗?
检测模式不可能击中的位置超出近战距离的击中
是否可以同时使用?是的。它们利用不同的系统。是的。它们利用不同的系统。

延伸扩大了目标可以被击中的最大距离。回溯改变了击中时的时间点,使用历史位置而不是当前状态。它们是服务器需要解决的独立问题,客户端可以同时利用两者。

常见问题解答