关于FIFA网络的那点事

2017.11.28 分类:FIFA 18 作者:Vincent Cheng

非凡网原创,禁止任何形式的转载

这几年随着FIFA的大热,国内有越来越多的朋友开始接触这个游戏,随之而来的就是遇到各种网络问题,微博贴吧里各种抱怨咒骂的帖子随处可见。但截止到今日也没有看到有人发过相对较为全面的扫盲或普及教程,那现在我跟大家就分享一下我在这方面的经验和总结。

此篇文章仅针对刚接触FIFA游戏和已经被掉线折腾的死去活来的玩家朋友们。

FIFA的网络服务到底是怎样的?

现如今的FIFA已不能用单机游戏或者网络游戏来对它进行概括,因为众多的游戏模式使得这个游戏服务架构异常的复杂。大家目前日常能够接触的手游和网游都是按照区域进行区分。比如亚服,国服,欧服。各区域服务器之间的玩家不能够跨区一起进行游戏,玩家的数据也是分开的。而FIFA是不区分区域的,为全球FIFA玩家提供服务的服务器只有一组,只不过会根据游戏模式的不同由若干组服务器分别承担其服务,这些服务器所处的地理位置也是不同的。

与国内玩家关系较为密切的FIFA各模式服务器主要这些:FIFA主力服务器(美国),EASFC、UT模式服务器(英国),周赛、职业球会服务器(日本、香港、新加坡等)

为什么会掉线?

FIFA掉线是因为游戏客户端与服务器通讯出现故障时才会出现,造成的主要原因是在于国内网络运营商国际网络出口的不稳定。不稳定的因素有很多,比如丢包、繁忙阻塞、海底光缆断裂、合作运营商线路优化较差以及不可描述的原因等等。从过往对各种问题的追踪统计结果来看,基本上90%以上的掉线问题都是由于国内网络运营商不给力导致,剩下的10%可能产生于玩家自己的网络设备故障或者FIFA某一单独模式的服务器过于繁忙导致。

这里顺带提一下网络运营商的选择,目前国内的民用网络运营商大大小小有很多。但归根结底其实就是三家:联通、电信和移动,其他二级或三级运营商都是租用三大运营商的线路提供服务。所以要想玩FIFA,北方玩家请选择联通,南方玩家请选择电信。至于移动为什么不选,因为在某些地区不给公网IP地址,这对联机会造成一定影响。

在线赛季(普通、UT)模式是如何进行匹配的?

首先要说明一下很多人普遍存在的误区,在线赛季模式在联机时是P2P机制,也就是我们常说的点对点。对战的双方不会连接到某一服务器上进行比赛。所以也就不存在服务器测速这一说法。

匹配方面是根据玩家IP地址的属地进行区域就近匹配,匹配的原则是根据玩家所处的级别Divsion优先同级随机匹配,如匹配不成功则上下浮动两个级别进行匹配。举例来说,如果你在Div5,会优先匹配Div5级别的对手,如果搜不到则有可能匹配到Div7或者Div3的对手。但是不会连续匹配到同一对手。

可能会有朋友问为什么我总能搜到1格或2格的对手?这其实是由于咱们国家版图很庞大,所处区域网络环境也很复杂。目前联通和电信的网间优化一直做的不好,个别地区间的网络延时很高,匹配到这个地区的对手自然不会是4格信号。另外前文提到过得国际出口优化问题,让我们在匹配到周边国家的玩家时也只能有2-3格的网络质量。

此处顺带提一下断线的判定标准,详见下表:

普通在线赛季的断线判定标准:

  • 本方领先,对方掉线:判定本方胜。
  • 双方平局,对方掉线:判定本方胜。
  • 本方落后,对方掉线:不计成绩。
  • 本方领先,本方掉线:不计成绩。
  • 双方平局,本方掉线:判定本方负。
  • 本方落后,本方掉线:判定本方负。

UT在线赛季的断线判定标准:

  • 本方领先,对方掉线:判定本方胜。
  • 双方平局,对方掉线:不计成绩。
  • 本方落后,对方掉线:不计成绩。
  • 本方领先,本方掉线:判定本方负DNF。
  • 双方平局,本方掉线:判定本方负DNF。
  • 本方落后,本方掉线:判定本方负DNF。

FUT Champions周赛是如何进行匹配的?

EA SPORTS在FIFA 17的中后期开始陆续在新加坡和日本架设了周赛服务器节点,原本我很担忧这样会将原本不多的周赛玩家分流,但在18周赛进行测试后确定了这种全新的匹配机制。

FIFA 18的周赛匹配机制为全区域本地优先匹配机制。EA SPORTS将周赛分为了三大区域:欧洲、美洲和世界其他地区(ROW)。ROW中目前已知架设服务器节点的地区有:香港、新加坡、日本、澳大利亚、中东和南非。玩家登陆FIFA 18服务器后会根据EA的设置连接就近的周赛服务器(目前大陆地区默认的连接区域是日本),在进行周赛搜索对手过程中,会优先从玩家所连接服务器和所处的段位中进行选手的匹配,如果未匹配到则开始跨服务器进行匹配。假定我默认连接的是香港服务器,在10连胜后我的SP分值已达到2000+,但是香港服务器目前没有2000+左右的对手,这时就会在日本和新加坡的服务器上匹配此分段的对手。但需要注意的是EA在各地区虽然架设服务器,但并不代表玩家到达这些服务器的延时是一致的。跨服务器匹配的双方肯定有一方是”客场”作战,这时客场的一方所看到的延迟条就会是2格或者3格,这也是周赛我们有时候会搜到2格或3格对手的原因。

Pro Club职业球会的匹配机制与此类似,就不再单独进行说明了。

关于周赛详细的匹配机制,请看此前我写的另一篇文章:进入

为什么会有延迟?单边延迟是什么?周赛为什么每场手感都不一样?

FIFA中的网络延迟基本上分为两类,一类是之前说过的P2P也就是在线赛季时产生的延迟,另一类则是周赛模式产生的延迟。

首先要向大家说明的是,FIFA在线联机质量的关键因素并不取决于你家的网络带宽,你用10Mb的线路和100Mb的线路玩FIFA基本上是没什么太大区别的。之前实测FIFA在联机时所传送的数据量仅为每秒15KB,也就是用一条128Kb的线路传送FIFA的联机数据完全足以。

想要流畅的玩FIFA最核心的则是网络连接的质量,这里面包括了两点:1.你与对手或周赛服务器间网络延时,2.你与对手或周赛服务器间是否存在丢包。

网络延时很好理解,你与对手或周赛服务器的延时越低,比赛就会越流畅,延时越高操作就会有很明显的延迟感。一般常用测试网络延时的方法就是使用ping命令。下图就是通过ping命令测试与周赛服务器间的网络质量。时间后的40ms代表网络延时,底部的已发送接受数据包则统计你的丢包率。

网络丢包则代表你与对手或周赛服务器之间的网络质量较差,一般表现为比赛卡顿、与对手断开连接。周赛则会有卡住后快进的现象,严重时甚至可能会掉线。

在FIFA中还存在着一个很特殊的延迟现象,单边延迟。也有人叫单向延迟。主要表现是双方球员在场上的跑动节奏、速度,运动能力等都有明显的差距。造成这种现象的主要原因还并不是特别清楚,不过根据我的实测来推断可能是因为双方路由不对等导致。比如我和上海精品网的用户进行测试,从北京发往上海的数据包会通过北京骨干网到上海骨干网再到朋友那里。而从上海发往北京的数据包到了上海骨干网后却传送到了广东,再从广东发往北京。这可能就是造成延迟不对等的原因。

周赛的延迟是个比较复杂的问题,从理论上来说玩家与服务器间的网络延时越低,感受到的延迟就越小。但因为比赛双方的玩家与周赛服务器的延时并不一致,会造成各踢各的这种情况,延迟小的一方会有非常大的优势导致比赛呈一边倒的局势,所以服务器会对延迟较低的一方进行网络平衡。这就能够解释为什么我们到服务器的ping值很稳定的前提下,为什么每场比赛的手感都有不同,可能遇到香港地区的玩家会相对流畅一些,而遇到新加坡韩国日本地区的对手比赛就会很延迟,最痛苦的则是遇到印度和越南地区的对手。

加速器是什么?到底有没有用?

加速器的存在其实已经有些年头了,早在10年前魔兽盛行的时候很多人就开着加速器连到大洋彼岸的美服开荒打副本。从特定角度来说它确实能够给一些游戏或特定群体的用户带来更好的游戏体验,比如最近流行的吃鸡和之前战地1等等。

那么加速器对FIFA来说到底是否有用?能否加速呢?严格意义来说,目前市面上的加速器在国内针对大部分人并不能够实现”加速”这个功能(因地而异)。它现在仅仅能够实现的两个主要功能是防掉线和周赛连接香港服务器。

目前市面上的加速器主要通过两种技术实现,由于他们的名字过于辣眼,不可描述。以下用小V和小S代替。

小V存在的时间较久远,应用广泛成熟稳定。小S是近两年的后起之秀,应用灵活使用便捷。上文我们说过FIFA的游戏模式较多,各模式采用的联机方式也有所不同,小V和小S在FIFA这些模式上的表现各有千秋,各有所长。

FIFA这个游戏在进行网络通讯时主要采用两种通讯协议TCP和UDP。登录服务器,日常操作等和服务器进行数据交互时都是通过TCP协议通讯,而在进行比赛时则是通过UDP进行通讯。

小S由于设置较为灵活,白名单模式可以很好的实现TCP/UDP分流,可以达到与服务器通讯走加速器,与其他玩家联机走本地这样的效果,所以小S更适合在在线赛季模式下使用。而小V由于无法有效将TCP/UDP分流,所有的流量都将通过加速服务器进行转发,在线赛季模式下随机匹配4格以上信号的几率要低于小S。因为你并不能保证所匹配到的对手与你的加速服务器都有较低的网络延时。

周赛模式(包括Pro Club),由于大陆地区直连的默认区域是日本,我们需要通过加速器才能够连接到香港的服务器,而且周赛对战对加速服务器稳定性以及与周赛服务器通讯延时有着更高的要求。经过实测,我更推荐在周赛模式使用小V,因为它在数据包转发方面效率更高。小S虽然可以通过切换游戏模式达到同样的作用,但是先天的技术限制会在实际比赛过程中感受到更多的延迟。在这里不推荐使用。

关于节点的选择方面,不论是在线赛季模式还是周赛模式我都推荐首选国内中转香港线路,因为即便是加速器还是会有掉线的可能。中转线路则有着更高的可靠性。

针对所谓加速这个说辞在最后也要解释一下为什么我说并不存在加速效果。在线赛季模式是随机匹配,固定的加速节点想实现对随机对手的联机加速是不可能实现的事情。而周赛模式以我北京联通的线路为例,我到周赛服务器的网络延时是40,到加速节点的延时也是40,再算上加速服务器数据转发的损耗,反而使用加速器会比我直连更加延迟。但国内有少部分地区的朋友与周赛服务器的延时接近100,但与加速服务器的延时为45,这时就存在加速效果。所以加速器只针对特定用户有效,因人而异因地制宜。

为什么无法和好友进行友谊赛?

主要原因是因为双方主机无法建立有效连接造成的。想要解决请参照如下:

  • 请确认你的路由器拥有一个公网IP地址。
  • 开启你路由器上的UPnP功能
  • 如果使用加速器,需使用小S并设置成白名单模式。
  • 请确认游戏主机的NAT状态,Xbox为NAT Open,PlayStation为NAT 2
    • 更改NAT状态需要调整路由器设置,有两种方法可以选择。
      • 设置路由器端口映射,将EA要求开启的端口在路由器段配置好即可。端口要求:点我
      • 设置路由器的DMZ,将游戏主机的IP地址填入保存后,重启主机即可。(推荐)
        • 主机的IP地址建议在路由器通过MAC地址捆绑固定,不建议在主机上手动设置。

根据EA提供的资料,NAT Open(type 1)可以与任意NAT状态的玩家进行联机。NAT Moderate(type 2)可以与NAT Open和moderate状态的玩家进行联机。NAT Strict(type 3)仅可以与NAT Open的玩家进行联机。

如果你和朋友无法正常进行友谊赛,请根据以上信息对自己的网络设置和主机状态进行排查。

最后附上我的网络结构图