从程序的角度分析下背刺的相关逻辑
枪神纪吧
全部回复
仅看楼主
level 13
洛君º 楼主
就这背刺的机制从以前拔刀斩优化到后面假背刺优化,再到如今的正面背刺等等一堆问题层出不穷,现在更有一些让人摸不着头脑的新名词诞生[黑线]
我这简要从程序的角度分析下背刺技能的逻辑吧,没有源码我这里也只能从常规的开发角度来推测。
///
一、前后端(客户端与服务器)的交互
接下来的分析需要各位对前后端同步有个基本的知识,这里简化下网络交互的原理,仅从最简单的应用层面来说下这方面的知识。
众所周知,要实现前后端同步,需要通过“发包”(发送数据包)来传输数据,逻辑链为:
客户端触发事件 → 客户端发包 → 服务器收包 →服务器处理事件 → 服务器返包 → 客户端收包 → 客户端执行表现。
在具体的实现层面,为了区分每个数据包的类型和作用,客户端与服务器通过“收发协议”的方式来约束发包的数据结构与处理方式。
通俗一点,就是说客户端有一份“菜单”(协议列表),客户端向服务器“报菜名”(请求对应协议),服务器听到后开始做对应的菜(接受协议并做对应的处理)。
所以一次背刺操作的逻辑链为:
客户端触发背刺 → 客户端请求背刺协议 → 服务器接收背刺协议 → 服务器校验是否背刺成功 → 服务器返回带有结果数据的背刺协议 → 客户端接收返回数据 → 客户端做出表现(对方是否死亡)
这里需要注意的是,平砍对应攻击协议,背刺对应背刺协议,两者从请求上就不一致。
///
二、客户端如何触发背刺
这一点早就在大批讨论背刺机制的贴子里得出了一个大伙较为认可的结论,即:
敌人背后会有一片扇形的背刺区域(并非红光特效区域),背刺角度决定了背刺区域扇形角度;
而刀锋自己则会有一个扇形的攻击范围,攻击角度决定了攻击区域扇形角度;
当敌人处于攻击角度内,刀锋处于背刺角度内时,若刀锋与敌人距离小于等于背刺距离,那么此时满足背刺条件,客户端会表现为出现背刺框。
当玩家在出现背刺框时点击左键,客户端就会向服务器请求背刺协议。
值得注意的是,在枪神纪中,背刺动作的动画是在请求协议的同时播放的,所以哪怕服务器返回背刺失败,客户端也仍然会播放背刺动作,搞笑的是角色动作属于实时同步的数据,所以别人能看到你假背刺的动作[滑稽]
///
三、服务器如何校验背刺
这一点本来是个很简单的问题,只需要前后端的检查逻辑一致即可,但这样会增加服务器的消耗,且严格的同步逻辑需要高频率的同步才能确保玩家的体验(即需要高tick),所以枪神纪在这里选择了一些“偷鸡”的方法来进行检查,以保证在低频同步下也能正常游玩。
而在多次优化后服务器检查逻辑也有所不同,这里只讨论现在有可能的校验逻辑。
从官方解释假背刺的原理中可以看出,服务器肯定有检查玩家之间的距离。那么角度呢?
从转圈火事件后,我曾认为服务器校验背刺应该也是同样的逻辑,即:服务器以玩家和敌人的朝向向量作为判断依据,且不考虑前后位置关系。那么就会导致刀锋玩家即使已经出现在敌人的前方,只要双方朝向符合背刺&攻击角度,那么服务器就会判定为背刺成功。
直到有人发了正面背刺挂的视角视频,我有了个新的猜测。
正面背刺外挂的视角目前已知的有两种:
① 敌人模型在自己视角中不断旋转,所以可以触发背刺框。
②当自己接近敌人时,敌人模型会自动转向并背对自己。
而外挂修改的是本地文件,或者直接向服务器发送错误的数据包,换句话说,外挂无法干涉服务器的检查判断逻辑。
由此我得出一个暴论:服务器根本没判断角度[阴险]
也就是说,只要客户端能够触发背刺框或者请求背刺协议,服务器在接收后检查玩家之间的距离满足要求则背刺成功。
///
四、背刺相关问题以及解释
基于上述推导结论,我针对现有背刺相关问题做出一些可能的原因的解释。
4.1 背刺变平砍
由于平砍和背刺的协议不同,所以让你触发平砍时一定是客户端判断为平砍,也就是在客户端获取敌人角度和位置时,并不满足背刺条件,建议你换个性能好点帧率高的电脑[阴险]
4.2 假背刺
即客户端播放了背刺动作(请求背刺协议),但服务器返回了背刺失败或者根本没返回(网络卡顿导致丢包),而由于上述结论推断服务器不判断角度,得出结论为当服务器进入检查逻辑时,玩家之间的距离超出背刺距离。
4.3 正面背刺
这里先假设个场景,存在某一瞬间,对于刀锋玩家的客户端来说满足背刺条件,并请求服务器,此时敌人旋转视角导致角度条件不满足时,仍然会被背刺。
这里有两种说法:
① 根据上述推导结论,只要距离满足并请求背刺协议,那么背刺一定成功,对于敌人玩家来说无解。
② 延迟背刺,即敌人玩家网络卡顿,导致在背刺完成的时候没有接收到服务器的发包,所以“假存活”了一段时间,对于敌人玩家来说,网络够快能解决该问题(及时死,没有正面背刺的假象[阴险])
上述两者表现一致,但区别在于②是敌方网络差才会出现,而①则是只要刀锋玩家自己网络不好也会频繁出现,这类刀锋会经常被说正面背刺,也会经常假背刺[阴险]
2026年04月06日 07点04分 1
level 13
洛君º 楼主
至于“背刺灵敏度”是啥,个人猜测原帖楼主指代的应该是4.1中背刺与平砍状态切换的速度,但考虑到程序员和策划不会设计一个那么没有实际意义的属性,我认为这个东西更有可能是在拥有“背刺角度”加成的情况下,客户端获取属性参数都时间复杂度增加,导致状态切换时本地执行速度下降,也就是说,你该换个好点的电脑了[阴险]
2026年04月06日 07点04分 2
level 11
有理有据的[真棒]
2026年04月06日 08点04分 3
level 13
洛君º 楼主
挺难绷的 这哥们把我一月份逆战未来吧发的贴挖出来了[黑线] 这边转一下吧
2026年04月06日 11点04分 4
level 13
洛君º 楼主
看别的贴子里有把之前官方的优化说明给截图出来了,我这边纠正一下暴论,从这里看服务器应该是有检查刀锋玩家攻击角度的,并在假背刺的优化更新中加大了服务器判定的攻击角度,但并没有修改背刺角度。
但客户端显示是没有变化的,也就是说目前服务器存在背刺角度+攻击角度+距离的判定,但前后端的攻击角度是不一致的[狂汗]
2026年04月06日 11点04分 5
@我王小桃在网上就是叠 是的,所以如果外挂可以干涉服务器的背刺判定的话,那就说明可以通过发包来改变服务器里的数据,这可比正面背刺要恐怖得多了[狂汗]
2026年04月06日 12点04分
@我王小桃在网上就是叠 你知道的 我们枪神纪代码一直很逆天[呵呵]
2026年04月06日 12点04分
但这样仍然难以解释360外挂的原理,对此我仍然保持怀疑态度🤔
2026年04月06日 11点04分
@洛君º 我有个猜想: 也许是外挂单纯的利用发包来直接发送背刺的数据包给服务器?[疑问]或者类似于某csgo的陀螺让对面的角色模型在你靠近的一瞬间全部转起来达到背刺判定
2026年04月06日 12点04分
level 8
我有个问题,有一次我玩机枪,蹲着没转视角,有个刀冲刺完往我面前走,大概距离我一个半身位突然触发背刺动作把我正面刀了,算什么。
之后几回合遇到这个刀又没正面背刺了。
2026年04月06日 12点04分 6
level 11
关于4.1还有个更离谱的是出现了背刺动作和特效但是结算的伤害是平砍伤害的[喷]
2026年04月06日 15点04分 7
level 11
这种闹馋你跟他讲一万遍他也不会觉得是服务器问题 他就认死了假背刺是bug和服务器无关 正面背纯外桂 所以怪不到绿玩头上
2026年04月06日 16点04分 9
这唐人就是没想过这些绿玩刀锋有没有碰到过“正面背”和“假背刺” 只承认自己吃到服务器黑利不愿意承认自己吃到服务器红利 急头白脸说了一堆招笑的话来洗 我是真没绷住[笑眼]
2026年04月06日 16点04分
自己手速跟不上 出背刺框的时候手速不够点左键 等点左键的时候别人都出你框的判定范围了 这个时候当然是平砍了 这都能归假背刺真是神入 自己开个一秒几十下左键的宏或者上物理的 筋膜机把左键按住看看还会不会出现所谓的“平砍变背刺”
2026年04月06日 16点04分
level 7
我有过一次正面背 对面机枪转过来了 我还能看到框 我就点了(其他大多时候都是侧身)然后一般假背都是高低差 或者是对方使用位移的技能 就会假背(火刀冲刺 猴狙翻滚)
2026年04月06日 19点04分 10
level 13
还有背刺是看对面的视角来判定的,最简单的就是头的角度,不是背的位置,英雄奶是侧着站的,有些角度背是刀不到的
2026年04月07日 09点04分 11
level 7
?那楼梯阶梯处,因为高度差而频繁发生的假背刺怎么说?搁那刀人甚至能连续两下假背刺
2026年04月08日 06点04分 12
1