您的位置 首页 > 数码极客

【ping是什么意思】解读多人游戏中网络问题的ping值和延迟分析!

多人的网络游戏相信很多玩家都玩过,很多玩家喜欢玩多游戏。因为很多人认为在游戏中战斗是快乐的。但是多人游戏必须有网络连接,这是一个重要的前提。在玩多人游戏的时候,我知道网络连接的情况往往是关于玩家在多人战争中能否玩好。那么,影响互联网接入情况的因素到底是什么呢?我们经常看到的Ping值、服务器刷新率、数据包丢失(或Choke)等衡量游戏网络状态的变量究竟意味着什么?

这里,小编想做一篇名为《解读多游戏网络连接状态》的专题文章,了解在多玩家游戏中,玩家的体验会受到哪些网络因素的影响。在题主的第一期,我先围绕Ping价值这个玩家在多人游戏中最常看到的变量做几个说明。

Ping值是玩家在体验多人游戏之前首先关注的变量。因为很多玩家都知道玩家和游戏互动的速度。但是Ping值的真正含义是什么?像是延迟吗?

Ping值的具体含义

Ping的简要记录:

在根据汤姆克兰西《猎杀红色十月》这部著名军事小说改编的同名电影中,康纳利的舰长马克雷明斯命令水手以CIA (CIA)分析师杰克的身份发送单个" ping "。瑞安

潜艇相关术语中,“ping”用于描述潜艇声纳系统发出的脉冲声音。这个脉冲碰到任何物体都会反射到潜艇上。在这个过程中,脉冲经历的时间被用来测量潜艇和探测到的物体之间的距离。类似于Ping在网络游戏中的工作方式。

Ping和latency是一样的吗?

Ping实际上是检测在线服务器连接状态的工具。

在特定运行中,响应时间由通过控制消息协议(Control Message Protocol,ICMP)向服务器发送响应请求(echo request)的Ping来衡量。测量结果是大家常说的“延迟”。延迟经常以毫秒(千分之一秒)表示(毫秒:毫秒,简称为毫秒)。

Ping代表这个测试过程,Latency(延迟)代表测试结果,但在游戏圈,很多玩家或开发者经常使用Ping作为延迟的代表,两者并不相同。当然,游戏玩家和开发者之间有“协议陆续”

影响Ping或延迟的因素:

影响延迟的因素有很多,例如玩家使用的网络连接设备、网络协议、软件或硬件防火墙。(网速也是影响因素,但目前大多数多游戏单纯对网速的要求与现在玩家的平均网速相比非常低。例如《战地1》这样的64人大战场游戏,根据相关测试,游戏中平均下载速度只有140Kb,上传速度只有22Kb。)。

但是,对延迟影响最大的因素是玩家所在的位置和服务器(作为主机服务器(主机)的玩家或两个玩家之间的距离)的位置。

例如,如果国内玩家拿美服或欧洲衣服玩游戏,那么不使用加速器,延迟会很高。位置上的距离会延迟玩家客户端和服务器之间交互中的信息。

延迟是网络游戏中重要的关注点。在普通多人游戏中,Ping也经常以多种方式向玩家显示反馈。有的用数字,有的用手机信号之类的图标表示,当然也附上颜色说明(绿色通常是短延迟,红色通常是高延迟)

“男朋友4”的地区服务造成的延迟。

延迟对多人网络游戏的影响:

这一点相信很多玩家在多人游戏中遇到过。由于高延迟,可能无法迎合其他玩家,也可能做不到。(威廉莎士比亚,哈姆雷特,游戏名言)或瞬间移动等现象可能会出现。但是我们打算在这里向大家深入解释。

一下,不同多人联机模式下的延迟对玩家的影响,以及“延迟补偿(Lag Compensation)”这一技术对玩家的影响。

专用服务器(Dedicate Server)和P2P(Peer-to-Peer局域网)模式:

专用服务器(Dedicate Server):

这种模式下,游戏厂商(或有资质的玩家)在某地搭建一台服务器,专门执行为某个游戏主持比赛的任务。此模式下,所有玩家在多人游戏中的信息交互都是通过一台专用服务器实现的,如下图:

专用服务器模式解析图

目前像《战地1》、《CS:GO》、《守望先锋》以及《绝地求生大逃杀》等FPS游戏都是使用专用服务器来主持游戏。这种模式下,玩家延迟的大小一般取决于玩家客户端与服务器的距离、服务器的刷新率(关于刷新率,我们将在下一期做详细介绍)以及服务器的带宽等网络环境。

专用服务器模式的优势在于:它可以保证相对稳定的对战环境;为一定区域内玩家提供相对公平的网络环境(相近的Ping值)。(对于游戏厂商而言劣势就是价格高昂的服务器购置或需要持续投入的服务器租赁费。)至于这种模式下高延迟的影响,我们会在下面的“延迟补偿”中另作专门讲解。

P2P(Peer to Peer)模式:

这种模式分为两种,一种是有主机(这里的主机指的是Host,不是Console那个意义的主机,下同)的P2P模式,也就是线上玩家中,有一名玩家的游戏设备作为服务器,其他玩家之间的互动交流信息通过这位玩家游戏设备的网络传输(有的分类也并不把这种模式归为P2P模式,这里仅供理解方便,把其归类为P2P模式);另一种是没有主机的P2P模式,线上玩家直接互相传输数据。一般多人合作类多人游戏或是格斗游戏会采用这两种P2P模式:

有主机P2P模式就相当于游戏利用玩家客户端作为服务器主持游戏。这种模式在处理延迟方面存在明显的劣势(优势是游戏厂商不用花钱购置或租赁服务器),因为主机玩家享受了零延迟的优势,而其他玩家与主机玩家连接的时候,就要因为地理位置上的距离而存在延迟。而专用服务器模式下,主机服务器只负责传输处数据,并不进行游戏,所以能保证玩家之间的相对公平(注意这里也仅是相对,因为毕竟无法保证主机服务器离每位玩家的地理距离是相同的。)

另外,在P2P模式下,其他玩家的网络连接状况受主机玩家网络状况的限制。特别是主机玩家的上传网速。也就是说,只有主机玩家上传速度顺畅(连贯且高速),才能保证其能向线上的其他玩家实时传输交互数据。另外如果作为服务器的主机玩家(就是很多自定义多人游戏中的房主)退出游戏,那么其他玩家也将被迫退出游戏比赛。

另一种P2P模式是没有主服务器玩家的,玩家之间的游戏数据的交流直接通过之间的网络联通,这种模式的优势消除了主机服务器玩家的优势,能给线上的玩家以相对公平的对战环境,但是存在的问题是,任意两位或多位玩家之间一旦稍有连接不当,就让是整个比赛陷入停顿,或是中断,特别是玩家之间地理距离过远。

例如,现在育碧的备受玩家指责的《荣耀战魂》目前就是使用的这种连接方式,而在近期育碧终于对游戏糟糕的网络链接做出改进,宣布将在未来上线游戏的专用服务器。

《荣耀战魂》即将在接下来的两个赛季内引进专用服务器

延迟补偿技术以及带来的相关后果

一般情况下,游戏中高延迟的表现,可能都是大家在多人游戏中经历过的,或是可以简单理解的。如:高延迟的玩家在游戏中表现的不是正常的运动而是两点之间的瞬移;高延迟玩家可能对低延迟玩家的位置出现误判。

但以上的现象显然已近无法解释目前现在大多数游戏的高延迟现象了,因为现在很多使用专用服务器的多人PVP游戏,会在游戏服务器中增加延迟补偿作为补偿高延迟玩家的机制。而正是这种机制,往往会让游戏呈现另外一种景象。下面我们带大家简单地了解一下延迟补偿的具体运行原理。

很多使用专用服务器游戏,首先会在游戏服务器中设置一个进行延迟补偿的阈值,比如说,如果服务器检测到玩家传来的数据延迟在100ms以上,那就开始对其信息处理进行“补偿”。

补偿机制简单的工作流程是,服务器在接收到高延迟玩家的数据之后,在做出判定之前,会把相应游戏的游戏世界环境“倒回”之前一段时间再做判定。

具体可以射击游戏为例,假如玩家1的延迟是50ms,玩家2的延迟是100ms,玩家2在自己的游戏中射击并准确地击中了垂直于自己视角的跑动中的玩家1,玩家2射击的信息传输经过50ms到了游戏服务器,这时服务器则要根据目前玩家1的情况对玩家2的射击是否击中做出判定,但在这50ms期间,玩家1的位置数据恰巧已经在服务器中更新了两次,这时就极有可能玩家1在服务器中的位置信息已经脱离了玩家2子弹打中的位置。

在没有延迟补偿的情况下,玩家2也很可能最终从服务器那里得不到击中玩家1的最终反馈。而在有延迟补偿的情况下,服务器会在判定玩家2射击是否击中玩家1时,会自动将玩家1在游戏服务器中的“位置(实际上是Hitbox,具体这里可以简单地理解为玩家在服务器中的位置)”退回到之前一段时间,如果在这个例子中服务器的延迟补偿恰好是50ms,那么这里服务器会判定玩家2恰巧是已经击中了玩家1。

也正是由于延迟补偿这一机制只在服务器中“拉回”低延迟玩家的“位置(Hitbox)”并不改变低延迟玩家在游戏中的实际模型位置,所以,其在这种情况下,会很容易让低延迟玩家在躲到掩体后依然受到伤害。如下图:

其实,这一奇怪的现象也让很多玩家误以为对面玩家是在开挂。至于游戏开发商为什么要在游戏中设置延迟补偿这一折衷机制,大家可以在这里看V社关于这一机制的解释(9.游戏涉及中延迟补偿的使用)。

另外,现在也出现了一种EA旗下开发商DICE在《战地1》的多人服务器中使用的新机制,简单地说就是服务器会在一定延迟内做少量补偿,超过这个延迟则不进行延迟补偿,玩家需要根据游戏服务器的提示在射击中“打提前量”,如下图:

正因为现在网络条件以及服务器条件依然无法达到让所有玩家享受较为相近的延迟,也由于现在也没有绝对合理的机制保证高延迟玩家和低延迟玩家公平合理对战。因此现在很多多人游戏选择:服务器分区设定,这一方面可以减缓服务器的带宽压力,一方面也可以让服务器内的玩家在相近的延迟下进行对战。

当然关于服务器分区,也有软硬两种措施:软性措施是一般游戏会在一开始让玩家选择在哪一个区的游戏服务器中进行游戏,或是提供不同区域的服务器筛选工具,类似的如《战地1》:

《战地1》中的服务器区域筛选界面

硬性措施则是有的游戏服务器通过直接限制某些区域的IP或设置玩家进入服务器的Ping值门槛这样的强制性措施把高延迟玩家排除在服务器之外,保证游戏服务器内部的玩家延迟保持在相近的水平,但这样势必会分裂线上玩家,影响游戏的销量。如之前备受争议的《H1Z1》以及Steam上的《黑色沙漠》等游戏。

steam上玩家对《H1Z1》锁区的抱怨

而在玩家方面,为了应对高延迟,我们往往需要使用市面上的网游加速器来减小游戏的延迟。而加速器也并不能直接减小玩家与服务器的地理距离,只是优化了玩家与服务器之间的网络连接通道。其原理则简单来讲就是,在玩家与游戏服务器中间搭建专用的双线或多线网络服务器,玩家的信息先传到这个相当于中继站的服务器,然后再由其最终传到游戏服务器。也就相当于把玩家与游戏服务器之间的连接网路变成一个专用通道。当然这个通道也有带宽大小,因此,我们往往会在高峰期使用加速器时不能取得最佳加速效果。

目前市面上众多的网游加速器

最后需要指出的是,Ping虽然是检验多人游戏体验效果的重要变量,但并不是唯一变量,多人游戏低ping并不一定会给玩家带来很好的游戏体验。比如,现在据科学测算,人类的反应速度的极限在100ms左右,一般人的反映速度大约在200ms到300ms左右,也就是说如果服务器的Ping值在200ms以内大体就是可以接受的,但现实情况往往并非如此,在200ms左右Ping的服务器中我们的游戏体验往往并不顺畅。而其中的影响因素还要涉及到多人游戏的丢包、Chock以及服务器的属性等问题,这些我们将在下一期中做详细讲解。

参考资料(以上相关解释,由于篇幅有限(也是小编能力有限)并没有完整和非常准确的呈现,感兴趣的玩家可以在下面的资料中看到完整解释):

· Valve Developer Community:

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐