请教一个关于 Ping 的问题

2022-05-16 10:57:02 +08:00
 Stendan

问题背景:这次 MSI 季中冠军赛(比赛场地:韩国),因为 RNG 是线上参赛(比赛场地:本土)的原因,所以拳头一开始就表示为了公平起见,会将选手们的 ping 值都锁定在 35ping 。

问题:

  1. 游戏右上角中的 ping 值真的是实际延迟吗?
  2. 面对线下和线上,我们该如何客观的维持游戏延迟接近 35ping 呢?
  3. 标准的增加延迟的方法有哪些?好的工具?比如?

P.S. 对这个关于 ping 的问题很好奇,也请大家尽可能客观分析这个技术问题,不要上升到选手及其他问题.

1460 次点击
所在节点    程序员
6 条回复
codefever
2022-05-16 11:03:05 +08:00
1 、可能是硬件老化导致电脑运行加载变得非常慢;
2 、系统缓存垃圾太多
3 、中电脑病毒
4 、内存或者 CPU 占用过高
5 、电脑安装程序太多占用空间
6 、网络波动
whitehack
2022-05-16 11:15:13 +08:00
盲猜一波

1. 一般都是真实的延迟,与服务器之间的连接延迟

2.可以通过服务器控也可以通过客户端控.
不考虑作弊的情况下,通过客户端控应该会最准确 影响也最小. 只需要程序逻辑上加上延迟就行了.比如服务器 10ms 就给了响应.那么客户端在连接层再多加上 25ms 的延迟.
发送请求也一样. 当前与服务器连接的真实延迟是 15ms,连接层就延迟 20ms 再把请求发送出去,消息到服务器以后基本可以保证是 35ms 左右的延迟

3. 这个要具体问题具体分析. 没有啥通用工具吧. 按照 op 的问题来看 就是通过程序逻辑来控延迟,可能服务端控也可能客户端控.
seeyisee
2022-05-16 11:20:38 +08:00
拳头说是看比赛日志发现 ping 有问题的。
seeyisee
2022-05-16 11:21:16 +08:00
在基地比赛本身就比去现场有优势。
markgor
2022-05-16 11:27:50 +08:00
以下内容纯属猜测;
1 、游戏右上角的 ping 我觉得是 TCP ping ,而不是 ICMP ping ,如果是 TCP PING 则在端口处增加延迟即可“锁 ping”低延迟时增加延迟返回。
2 、如果一开始就高于 35PING ,锁不锁没有任何意义,如果一开始低于 35PING ,锁了的话也很难百分百维持 35ping 。
3 、上面假设都是基于 TCP PING 的,如果 TCP PING 自己加个定时器再返回结果就行了。


但是题外话,
假设:A 到 B 的延迟是 35 毫秒;而 B 到 C 的延迟是 25 毫秒。
即:A 放个技能后,C 收到的时间是 60 毫秒。
请问:如果把 A~Z 打乱随机抽出 10 个,每 60 毫秒展示一次,有多少人能答对字母出现的顺序 50%以上的?
另:大家都慢 60 毫秒,再另一个角度而言是否也属于公平?(你放个技能,我等 60 毫秒才展示;我放个技能,你也等 60 毫秒才展示)
就这次韩国棒子的做法,真的刷新了我的认知。
可能下次他们会以场地供电不是核能源而是煤炭发电,导致电波不稳影响为由要求重赛。
UIXX
2022-05-16 12:30:44 +08:00
0X 年的时候写过游戏逻辑,技术可能过时了,就简单说说吧。

1. 不知道,这得问 LOL 的开发人员,不同游戏的 ping 代表的含义可能会不一样。
游戏内显示的 ping 值不一定是 TCP/UDP 的时延,也可能是专门为游戏设计的心跳机制中的网络参数。

2. 网络状况迥异的环境下,没有任何技术手段能确保双方都在某个 ping 范围内。
比起锁定延迟,我们更常的做法是在帧同步上下功夫,比如优先让网快的正常游戏,网慢的客户端对短时间内过来的更新指令作类似于快进的处理。

3. 不同架构、不同类别的游戏控制同步的方法不一样。
比如一款中心化的 RTS 游戏,采用的是服务器广播-客户端收发的方式交互,想要增加延迟可以设置广播队列的发送时间。对一款允许局域网内的 RPG ,纯粹的 P2P 通信,只需要交互前约定共同参数即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853105

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX