使命召唤 现代战争

Call of Duty: Modern Warfare

怪物猎人 世界

Monster Hunter World

荒野大镖客 救赎2

Red Dead Redemption 2

打个联机游戏,为什么你的网络老出岔子?

作者 箱子   编辑 箱子   2019-12-11 10:27:49

也许每名玩家都饱受过延迟和掉线之苦。

难缠的联机方式

  上述这些棘手的情况,基本都来自外部环境,但其实在很多情况下,联机不畅源于用户本身的网络设置。换句话说,某种程度上是可以自行解决的。

  比如《怪物猎人 世界》的联机方式主要基于 P2P,依靠参与游戏的玩家电脑自行解决网络同步。这里面牵扯到一个 Lockstep 的概念,可以想象成走军步,网络快的玩家要等网络慢的,所以有时候房主卡大家都要遭殃。而在这类方法中,“NAT 类型不开放”往往是弹出"5038f-MW1"等掉线代码的诱因。

P2P 的一个形象比喻

  主机游戏玩家肯定对 NAT 不陌生,Xbox One 的 NAT 类型被分为开放、中等、严格和不可用四等,PS4 有 1、2、3 等,而 Switch 上也有 A、B、C、D 等,总之等级越靠后疑难杂症就越多。

  NAT 的本意是“网络地址转换”,由于公网的 IP 数量不够用,运营商可以启用 NAT,将你的 IP 地址“转一下”,变成和很多人共享一个公网 IP。

  光说概念可能不好理解,举个不算恰当的例子:

  • NAT 类型开放(1 和 A):相当于有个送餐小哥给你送外卖,最后能顺着 IP 地址找到本人。
  • NAT 类型不开放:送餐小哥只能找到你公司的前台,外卖(数据包)得转发一道才能到你手中。

  更细致的来看,假设你的 NAT 类型是“中等”,那证明前台小姐姐还愿意提着外卖来找你。如果是“不可用”,你的外卖可能就没人管了。总之在 P2P 的联机环境下,“不开放”会造成很大的影响。

NAT 服务器就像是夹在中间的一把锁

  提高 NAT 类型等级的方法大同小异,要么找运营商协商(花钱)搞个公网 IP,要么用主机直接拔号上网,一定要用路由器的话,也要设置 DMZ,把端口开放给外部网络,核心思想是“少一面墙是一面墙”。

  当然,游戏联机的方式并不全都基于 P2P,也有不少厂商用到了 C/S,即服务端与客户端直接通信,不涉及到 NAT 类型的问题,具体的案例有《守望先锋》《泰坦天降》和《光环》等等。

左边的连接方式是 P2P,右边为 C/S

  但在这种较为传统的模式下,也会有一些特殊的问题。联机宝的工程师认为,同样是 C/S,有些游戏的服务器设置适合中国玩家,有些就不太适合了。通常表现为游戏中部分域名或者 IP 不通,导致登录问题,或者路由不是最优,导致丢包太多:

  “比如《使命召唤 现代战争》,登录服务器在欧洲,游戏服务器在日本、韩国、新加坡、美国等各洲,试想一下,从你家到这些地方的网络都要延时稳定,不丢包才能够有比较好游戏体验。但是实际上国内到这些地区的网络延时基本上都 100ms 以上,到欧洲和美国都 200ms 以上,而且还大量丢包,所以根本没办法玩。”

  值得一提的是,还有一些开发商会对联机方式进行优化。以《荒野大镖客2》为例,如果玩家可以用 P2P 直接打通,那就使用 P2P 进行通信。如果不行,会转到 R 星的中继服务器。但国内用户通常是两头都不占,不仅 NAT 类型不开放,连接服务器又受到物理极限的重重阻碍,往往只能望洋兴叹。


下一页:加速器干了什么

| (249) 赞(362)
箱子 点赞狂魔

原来小丑就是我。

关注
点赞是美意,打赏是鼓励

评论(249

跟帖规范
您还未,不能参与发言哦~
按热度 按时间

总贡献榜