使命召唤吧 关注:1,184,406贴子:26,789,484

论sbmm改伤论真相

只看楼主收藏回复

之前贴吧出现了大量的sbmm改伤阴谋论 正好今天也没什么事情,摸摸鱼。
正好看现在还有人关注这个sbmm改伤问题,那我就索性结合我的知识写一篇sbmm改伤论的解析,文字很多,需要一定的理解能力。
杠之前确保看懂我写的文字。
技术小白 不是专业的,真正懂的请轻喷或者直接关闭网页,我真是小白。
先说结论,不存在sbmm改伤。莫急 看分析
1、技术难度高,如果真的要改伤害,那么涉及到核心的hp伤害计算,和枪械伤害更改,并且这必然是服务器后台核心算法的更改,还是个动态算法,及其难不说还容易出bug。
2、没必要 还记得sbmm的工作原理吗?真要平衡玩家水平只需要平衡你的对手和队友就可以了,改你伤害又有什么意义呢?永远有比你更强的玩家存在,永远有比你更低ping的存在,只需要这2点就可以平衡你的数据,为什么还要去动那个核心算法?脱裤子放屁 一样。
ps!下面大篇幅引用了知乎刘泽昕的一篇文章"现代FPS网络同步架构:为什么CODMW高延迟看见人就死?"
ps!下面大篇幅引用了知乎刘泽昕的一篇文章"现代FPS网络同步架构:为什么CODMW高延迟看见人就死?"
ps!下面大篇幅引用了知乎刘泽昕的一篇文章"现代FPS网络同步架构:为什么CODMW高延迟看见人就死?"
但为什么还会有这么多的sbmm改伤论说法存在呢?难道大家都感觉错了? 不,真正的原因另有其他。
下面才是正文。真正让人感受到sbmm有改伤的错觉原因。
其实是COD的CTO (网络编程技术总监)Mitch在COD19引入了一项新的网络与架构代码!服务端buffer调整技术
而这份代码正是ow1守望先锋在2017的GDC上游戏开发者大会上的一份架构分享,后面会提
慢慢来 慢慢来
先解释下表面,你开枪在到击中再到对面血量归零,是一个什么步骤?我翻译成人话给你听
因素1敌我坐标 2血量 3伤害。
假设:我从A点发射子弹击中B点的敌人手臂,敌人血量减30。这个动作中A-B都是你鼠标来控制,是本地计算。
但是重点来了 血量减30,这个一定是在服务器计算(BF凡尔登战神 PUBG的穿墙子弹 全是因为这个计算放在了本地,那是垃圾游戏、cod16那个对天开枪击杀是某些情况在本地计算)
正常情况下 ,服务器存有敌我双方坐标,服务器看到了我向B点发射了子弹,服务器计算我射向B点的子弹击中了B,B减30血。
但是,不正常呢????
服务器存有敌我双方坐标,服务器等待开枪1、服务器等待开枪2、服务器等待开枪3、服务器等待开枪4、服务器看到了我向B点发射了子弹,服务器计算我射向B点的子弹击中了B,B减30血。。
实际我开枪了吗?我开了5枪,对面角色冒了5个雪花,对面跑了。。。。。
看懂了吗 一般这叫丢包,服务器等待开枪不是无意义的重复,是真实存在的,时间过去了,服务器没有或者延迟收到你的子弹数据。
但是 但是 但是,重点来了!!!
COD19 他不一样!!!
一般情况你开个加速器 基本能小于1%的丢包,这个等待开枪会极低甚至没有,但是COD19 他不一样 不一样 重复N+1
往上翻 还记得我说COD19的CTO引入了什么吗?
服务端buffer调整技术!
如果你看懂了上面那个数据包丢包问题,就能隐隐约约感觉到什么,没错,你击中对面坐标只是你看到的击中,血量计算和击中减血 还需要通过服务器计算,等待他计算完了在吧结果发给你,同时发给你的敌人。
这也是为什么会有sbmm改伤论的原因,但是为什么会这么频繁这么多人都这样?难道都丢包了? 不是。
服务端buffer调整技术翻译人话版
控制玩家的数据包从而使得服务器负载平均永远是100%或者最大化。
什么意思?大概就是
COD19的官方服务器是60Tick、战区更低具体不详,意味着每位玩家每秒最多能发送60组数据包到服务器。
你上班每次都能成功挤上第一趟公交吗? 每个玩家每次都固定发送60组数据包吗?当然不是,有开枪的时候自然也有跑路也有跳跃下爬的时候。服务器处理数据包肯定是有多也有少的时候。
多的时候服务器负载高,少的时候服务器负载低。低的时候服务器是不是浪费了?
buffer调整技术来了。将负载高的时候数据包进行排队,等到负载低的时候在来慢慢处理。那我是不是就可以用更少的人手做更多的事?
没错,你是不丢包了,可你的子弹数据包还在苦哈哈的排队,你还在苦哈哈的看着那个不停冒出来的白叉在疯狂嘲讽你,对面看着你望着他发呆。
随后你开始了怒骂sbmm改伤。
你以为到这就完了吗。?
是的,但还有个番外,有没有细心的同学感觉19的欧服美服比16难打很多?
一部分原因是玩家水平大幅度提升,还有一部分原因是服务端buffer调整技术。
首先buffer给每位玩家调整数据包传输是动态的。其次玩家和服务器的数据包通讯是相互的,就和你上班一样,你要去上班你也要下班回家对吧。
那么通讯延迟越低,是不是意味着服务器能越能优先处理完数据让你回家?
buffer调整技术会让那些低延迟玩家的数据包先处理,这样可以先处理完让他们滚蛋回家,从而更早的来上班。。减少服务器为了等你来上班而在哪发呆的情况。
而你,打欧服美服的家伙,就因为你的通勤时间太长而被服务器拒之门外等待,等待那些老爷先进先走,等待公司有时间了你才能进去办公。
懂了吗,你的网络越差,你的数据包也会因为buffer更差一步,并不是你看到的160ping的欧服,实际情况可能要翻好几倍,实际有几百ping一样。
buffer技术其实最主要是为了解决服务器负载和延迟补偿的问题,所以别问为什么COD没有延迟补偿,有buffer就是。
比如你300延迟,你打他几枪击中了,你没死你跑了,你跑的过程中排队的数据包就会去给对面计算伤害
如果没有buffer, 你的开枪就是无效数据,服务器基于双方坐标判定你没击中。。。
但这东西真的好吗? 见仁见智吧。每个人有不同的见解。
最后
good luck
好了这就是我几个小时的成果。我也干了一滴都不剩了


IP属地:湖北1楼2023-06-29 17:23回复
    咦 帖子过审了 之前说有想看的 这里统一艾特
    @Makise紅莉栖 @小野猪佩佩佩奇 @立‏华奏


    IP属地:湖北2楼2023-06-30 10:29
    收起回复
      2025-07-23 23:06:01
      广告
      不感兴趣
      开通SVIP免广告
      来了带佬


      IP属地:河北来自Android客户端3楼2023-06-30 10:35
      回复
        在精简一点的话就是,你看到的白叉只是你认为的白叉,实际上第一个白叉的伤害计算需要等待半秒或者1秒后才会被服务器开始计算,第二第三依次顺延,而此时等待过程中 你被打死了就死了,因为对面玩家的子弹伤害数据可能不需要排队,也可以比你先处理,也可能和你同时处理,也可能比你更后处理。
        这就是buffer 动态调整。


        IP属地:湖北4楼2023-06-30 10:43
        收起回复
          总结一句话 i w司马


          IP属地:广东来自Android客户端5楼2023-06-30 10:59
          收起回复
            我认为根本不是改伤 而是改血量 自定义房间里面就可以看见血量可以调节的特别细化


            IP属地:上海来自iPhone客户端6楼2023-06-30 10:59
            收起回复
              我一直觉得应该是服务器问题,大部分情况都是吞子弹


              IP属地:广东来自Android客户端7楼2023-06-30 11:22
              收起回复
                很简单的逻辑,高端局每个都是大佬,大家都改伤还不如都不改,妥妥脱裤子放屁


                IP属地:广东来自Android客户端8楼2023-06-30 11:44
                收起回复
                  2025-07-23 23:00:01
                  广告
                  不感兴趣
                  开通SVIP免广告
                  改伤害估计不是sbmm导致的,而是反作弊,
                  可能是很多薯薯疯狂举报触发了反作弊
                  反作弊确实有改伤害这块还有视频介绍的


                  IP属地:广东来自手机贴吧9楼2023-06-30 11:48
                  收起回复
                    我美服出现好几次打对面半天,结果他跑路的时候死了,本体战区都出现了好几次这种情况,原来还是服务器技术的原因😃👌🏻


                    IP属地:浙江来自Android客户端10楼2023-06-30 12:24
                    收起回复
                      要制裁你,丢这样的局就行了,改啥伤,而且19的ticks数好像才20


                      IP属地:广东来自Android客户端11楼2023-06-30 12:24
                      收起回复
                        但就为了这点feature,结果弄出了逆天bug。并不影响对动视的定论


                        IP属地:上海来自iPhone客户端12楼2023-06-30 12:47
                        收起回复
                          牛逼!
                          有理有据,逻辑清晰,建议直接加精


                          IP属地:广东来自手机贴吧13楼2023-06-30 13:12
                          回复
                            1.写这么多必须要鼓励一下。
                            2.动视更愿意做几个皮赚钱,


                            IP属地:上海14楼2023-06-30 13:17
                            收起回复
                              2025-07-23 22:54:01
                              广告
                              不感兴趣
                              开通SVIP免广告
                              如果按你说的伤害计算是在排队这个又怎么解释呢,这是主视角被盾牌撞了7下才死
                              BV13x4y1E7cL
                              还有这个4枪死的basp他主视角打出来2枪死,打腿打了3枪死
                              BV1mh411N7ya
                              同样类型的还有沙鹰打胸口一枪死


                              IP属地:黑龙江来自Android客户端15楼2023-06-30 13:26
                              收起回复