六号战场问题日志记录 – 2020/02/18

2020/02/18 20:04 问题已解决

最近在调试某个接口时发现了某些SQL数据查询的耗时超乎想象(超过20秒),尝试了各种努力都没有任何改善。

Id、pidID 、 Id,pidID 、 pidID,Id 索引都已建立

select * from r6sg_record where pidID = 3 order by id DESC limit 1;

耗时25.44秒,返回1行/共84万行

select * from r6sg_record where pidID = 3 order by id DESC;

耗时4.47秒,返回1888行/共84万行

select * from r6sg_record where pidID = 3 order by id ;

耗时4.00秒,返回1888行/共84万行

select * from r6sg_record where pidID = 3 order by id limit 1;

耗时0.00秒,返回1行/共84万行

EXPLAIN select * from r6sg_record where pidID = 3 order by Id DESC limit 1;

id1
select_type SIMPLE
tabler6sg_record
partitionsnull
typeindex
possible_keysrecord,pidID,pidID_2
key PRIMARY
key_len4
refnull
rows613
filtered0.16
extraUsing where

EXPLAIN select * from r6sg_record where pidID = 3 order by Id DESC;

id1
select_type SIMPLE
tabler6sg_record
partitionsnull
typeref
possible_keysrecord,pidID,pidID_2
keyrecord
key_len4
refconst
rows1188
filtered100.00
extraUsing index condition; Using filesort

高PING战士 – 彩虹六号的游戏平衡优化

彩虹六号围攻的开发团队非常重视网络延迟对于游戏体验的影响,在这篇文章中我们将向你解释我们对于的游戏平衡优化措施以及它们如何影响游戏玩法。

在深入探讨网络延迟的细节之前,我们要确定彩虹六号围攻的玩家克隆和命中判定的设计理念是有更快更稳定连接的玩家优先。为此,彩虹六号的团队将继续改进所有系统,为低稳定的ping玩家提供最佳体验,同时提高高ping玩家的可玩性。

高PING战士有更大的优势?

克隆是我们在远程计算机(例如游戏服务器)上镜像玩家所进行的一系列动作和动作的过程。您可以将克隆视为跟随玩家的“残影”。此“残影”代表您在服务器上看到的位置。例如,如果您的ping为200毫秒,那么您的“残影”就是您100毫秒前的位置(因为ping表示往返持续时间)。玩家的ping越高,玩家的“残影”就越远。

但是,在进行PEEK(不仅指摇头,是指移出掩体)时,较高的ping并不代表在你在其他玩家的视野中现身前能获得更多的反应时间。这是因为所有快照都需要由服务器验证,因此任何增加的时间量(延迟)也将体现在服务器的快照上。

PEEK的优势是上述“残影”效果的结果。我们无法删除“残影”:这样做将要求服务器对所有移动进行验证,然后才能对您的客户端生效。这样做需要服务器在对您的客户端生效之前验证所有移动。这将导致输入延迟增加(相当于ping),这与使玩家操作的响应性要尽可能高的设计理念背道而驰。与一般的常识不同,PEEK的优势只取决于敌人的网络连接速度,而不是PEEK者的网络连接速度。

一旦被害人看到PEEK者,被害人在开枪并占得上风之前的最长时间就是我们定义的窗口时间。PEEK者的优势是由于这样的窗口时间总是比PEEK者的反应时间短而造成的。

窗口时间=PEEK者的反应时间–敌人的ping(包括服务器处理时间)

在下面的短片中,我们将会展示不同情况的不同结果

玩家网络延迟反应时间
PEEK者100-400毫秒300毫秒
敌人 100毫秒 150毫秒

你将会注意到PEEK者的高网络延迟并没有影响敌人的开火,当PEEK者准备开火时,敌人已经成功的命中了PEEK者的头部(爆头)并且服务器已经认可了这个动作,所以PEEK者最终将被命中并淘汰。

外部因素

我已经尝试过不同的连接错误帮助,但是游戏的网络连接还是有问题。我应该怎么做?

尽管您的终端已经做了彻底的故障排除,但是仍然有连接上的问题,那么有可能您的ISP或者网络管理员受到了限制。校园、军事基地或者公共场所都可能有网络环境的限制。

请联系您的ISP或者网络管理员以了解网络限制的原因。您可能需要知道您正在游玩的游戏相关的端口。您可以通过搜索我们支持页面的连接方面的FAQ来了解在线游戏对哪些端口开放。

如果您还有网络环境限制方面的问题,请提交工单来获取进一步解决问题的建议。请完整地描述您的问题,包括以下的截图:
-您的端口转发/虚拟服务器配置,让我们看到您的端口配置和网络IP。
-您设备的网络配置,让我们看到您正在使用的手动(静态)IP。

如何清除 DNS 缓存

DNS缓存(DNS cache)是存储近期浏览、连接过的网站服务器的IP用的一个缓存系统。有时候储存的内容可能为错误或是过时资讯,所以透过清除缓存来更新资讯以改善与服务器的连接。

请按照以下步骤来更新您的DNS缓存(DNS cache)。建议您使用“系统管理员”的权限执行,以避免因为Windows版本的安全性权限导致缓存清除失败。

Windows 10
1. 确认你在 Windows 10 桌面。
2. 右键开始按钮并从菜单中选择命令提示以管理员身份打开(Command Prompt (Admin) )
3. 输入ipconfig /flushdns并按下Enter执行

Windows 8 / Windows 8.1
1. 确认视窗位于Windows 8 的开始画面
2. 直接输入cmd会出现Windows搜寻栏以及搜寻结果
3. 右键点击命令提示以管理员身份打开(Command Prompt (Admin) )
4. 输入ipconfig /flushdns并按下Enter执行

Windows Vista / Windows 7
1. 点击开始按钮并搜寻命令提示(Command Prompt)(开始>所有程序>附加应用程序>命令提示符)
2. 右键点击命令提示符(command prompt)并选择“以管理员身份打开”
3. 输入ipconfig /flushdns并按下Enter执行

提示:

  • Windows Vista / Windows 7 也可以通过搜寻 cmd 并且直接右键点击 cmd.exe 并选择“以系统管理员身份运行
  • Windows 8 / Windows 8.1 / Windows 10 可以按下「Win键 + X」就可以打开出选单,并选择命令提示以管理员身份打开

重设HOSTS文件

Hosts文件是一个很小的文本文件,属于Windows操作系统的一部分。它可以用于引导在线流量或者,有时候可以屏蔽一个网站。

当我们遇到游戏的多人连线问题,若想从潜在原因里排除Hosts文档,我们可以清除或者重置它。

重置这个文件很容易!只需要按照以下与您操作系统匹配的步骤进行:

WINDOWS 7\- WINDOWS 8\- Windows 10

打开系统盘(通常是C盘)

c:\Windows\System32\drivers\etc
• 找到该文件夹内的hosts文件,并将其重命名为hosts.old
• 创建一个新的默认Hosts文件:

打开C盘:c:\Windows\System32\drivers\etc
• 找到该文件夹内的hosts文件,并将其重命名为hosts.old
• 创建一个新的默认Hosts文件:

打开C盘:c:\Windows\System32\drivers\etc
• 找到该文件夹内的hosts文件,并将其重命名为hosts.old
• 创建一个新的默认Hosts文件:

a. 右键文件夹空白位置,选择 新建 > 文本文档
b. 文件名输入“hosts”,按回车;
c. 然后,你会收到弹窗提示,让您检查文件扩展名。点击「是」,确认文件扩展名不是 .txt;
d. 使用记事本打开新的hosts文件;
e. 将下列文本粘贴进文件里:

# Copyright (c) 1993-2020 Microsoft Corp. # 

f. 保存文件。

如何防止软件冲突

我认为我的游戏运行不畅是由软件冲突导致的,我该怎么做?

如果您的游戏运行不佳或遇到滞后,断线或其他问题,可能的原因可能是软件冲突。为减少或防止软件冲突,您可以尝试以下步骤。
离线模式和代理设置
首先,确保Uplay PC客户端没有设置为在离线模式下运行。如何检查:

– 单击Uplay PC客户端左上角的菜单图标。

User-added image

– 选择设置
– 点击“网络”标签。
– 确保始终以离线模式启动Uplay未选中。

在同一菜单中,您还可以检查Windows代理设置。为此,请单击变更代理服务器设置的按钮 。这将打开您的Windows Internet属性的窗口,您可以在其中管理互联网选项。 

安全软件
接下来,更新可能安装在计算机上的任何防病毒或个人防火墙软件。对于第三方软件(如ZoneAlarm,Norton AntiVirus / Internet Security,Mcafee,Avast),请与相应的软件供应商联系,了解有关定义和更新软件的详细信息。

您还需要考虑可能阻止游戏访问互联网的Windows防火墙(通过开始>控制面板>系统和安全> Windows防火墙访问)。要更新Windows防火墙,您需要安装当前的Windows更新。

User-added image

如果更新这些程序依旧无法解决问题,您可能需要配置软件才能访问特定的应用程序。这通常通过例外列表完成(名称根据您的软件可能会有所不同)。当添加游戏作为例外时,请记住为游戏和Uplay PC客户端添加可执行文件(exe)。

后台应用程序
由于在计算机系统的后台运行的应用程序也可能会导致问题。所以开始游戏之前请尝试关闭所有非必要的后台应用程序。如何实现:

– 单击开始并在搜索框中键入MSCONFIG,然后单击确定
– 这将打开常规 选项卡上的系统配置实用程序
– 单击“ 启动” 选项卡,然后单击“ 全部禁用 ”按钮。
– 单击确定 并在出现提示时重新启动系统。

User-added image

请记住,这是一个临时解决方案,任何更改可以通过返回到MSCONFIG实用程序并重新选择正常启动 来恢复

在Windows 8,Windows 8.1和Windows 10上,可以直接从任务管理器关闭启动程序,请参阅此图:  

重置网络硬件

在连接故障排除过程中,如何重置调制解调器或路由器?

游玩时时遇到延迟或断开连接时,您应该尝试的第一件事是网络硬件重置。

这通常意味着重置路由器或调制解调器。有时,此过程也称为 电源重启 。 

这很容易做到:
关闭所有连接到调制解调器或路由器的计算机或游戏机。
•关闭电源并拔下调制解调器或路由器的电源。
•等待60秒。 
•插入并打开调制解调器和路由器的电源。
如果您的设备正面有指示灯,您会发现它们正在闪烁。这是正常的。可能需要一段时间才能完全重新建立连接。 
•重新启动计算机或游戏机,并使其完全启动。
重置现已完成。请测试您的游戏连接,看问题是否仍然存在。

NAT相关问题故障排查

我的游戏显示有封闭NAT(Closed),或是限制NAT(Strict 或 Moderate)类型。我如何变成开放(Open)NAT?

NAT (Network Address Translation)代表网络地址转换。可将网络流量转至本地网络指定设备上。

启用封闭NAT(Closed),或是限制NAT(Strict 或 moderate),您将被阻挡享用多人游戏的所有在线功能。

因为这种方法牵涉到本机网络与网络来源的“交流”,您完全可以对一些服务或游戏使用开放(Open)NAT,其它则使用封闭(Closed)NAT。

在本地网络上负责NAT的硬件设备是路由器:•有些路由器比其它路由器更容易设定
• 如果您使用的是公共建筑里的共享网络,例如:宿舍、军事重地、医院等,您可能无权进入路由器
• 有些网络服务提供商可能会提供您一个路由器,但却将其设定在其它路由器(比如您无权进入的设备)后面,这种情况,我们称之为双NAT
 我们已为大多数的育碧游戏整理了联机故障疑难排查的文章。

如何找到它们:• 点击页面上方的搜索栏:「我们能帮到您什么吗?」
• 选择您的游戏和平台
• 在搜索栏里输入“联机问题”或“connectivity” 
您游戏的相关文章就会跳出,引导您建立开放NAT,或是解决其它的联机问题。

双重NAT

我在游戏中遇到联机问题,我已经试了一些故障排查方法(例如:端口转发)。我应该如何提升联机质量,修复问题?

在线游戏需要与游戏服务或服务器保持稳定且迅速的连接。如果您的游戏平台处于双NAT(NAT = Network Address Translation = 网络地址转换方法)之后,您的在线游戏可能会遇到很多联机问题。

在单NAT环境,一个路由器后的所有设备都有一个内网地址。您的路由器就是设备通向网络的门户。在互联网上,这个路由器拥有一个公网IP地址。

User-added image

 双NAT是一种情境的名称,简单来说,就是一个路由器与另一个路由器连接,而非直接与网络进行连接。
因此,您的路由器收到的不是公网IP地址。您的路由器在互联网上对我们的游戏服务并非直接可见,因此会造成一些问题。

User-added image

 双NAT经常出现在医院、学生宿舍、学校、酒店和公营部门,几乎所有地点都有高级网络设施。若想确认您是否处于双NAT环境,您可以试试下面的步骤:

– 进入路由器设置界面(按这篇FAQ描述进行)并找到(有可见地址的)WAN(广域网)状态。
根据您的路由器品牌和型号,这个叫法可能略有不同。如您无法找到它的位置,请查看路由器说明书。或者,您也可以联系路由器厂商。
– 查看显示的IP地址,并记录下来。
– 下一步,请访问一个可查看您公网IP地址的网站。
– 与您之前记录下来的公网IP地址进行比较。如果它们不一样,那表示您连接的是其他本地网络,即您是位于双NAT之后。

如果您处于双NAT之后,作为临时方案,可按照这篇FAQ说明,将第二个路由器上的端口转发至第一个路由器上的IP地址。这样即可直接与两个路由器通信并连至公网IP地址。但这只有在最初排查的时候,您已将第一个路由器上的端口转发至您的游戏平台,才起作用。如果您尚未这样做,我们建议您从这一步开始操作。

也有可能您无法接触到第二个路由器,例如它在您的网络服务提供商或者管理员控制范围内。这种情况,您需要联系他们,获得设置帮助。作为转发过程的替代方案,您可以直接向网络服务提供商,或者网管索要一个公共IP地址。