【极限竞速:地平线4】解决PC端Xbox网络问题(旧版)
C0M-MANBATl_
编辑于 2024年12月08日 00:17


这分割线还挺好看的以后不用了。

适用人群:PC端Xbox版极限竞速地平线4玩家;Steam版玩家可以尝试万一有用呢?

成功概率:如果每步都和我遇到过的情况一样,百分百成功。其他不确定。试试总有办法!

网络需求:良好的网络环境,很关键!笔记本连手机热点不行!连WIFI可以!插网线可以!(笔记本连手机热点即使能连上地平线生活也大概率会掉线)

前言:一旦决定应用这篇文章就耐心点认真点看一步步操作,我也是自己在网上找遍了办法加上自己的理解和摸索了两天才成功连上地平线生活的,当你终于能和线上玩家一同竞速,跑狮子头,跑游乐场,跑整点LIVE,跑在线冒险尤其是能和朋友联机对撞的时候,再耗时费神的准备工作都值了!开始吧!


一、PING

1. 打开命令提示符窗口

快捷键WIN+R打开运行窗口,输入cmd,回车确定:

2. PING命令

分别对以下地址进行PING命令测试连接性:

win1910.ipv6.microsoft.com

teredo.remlab.net

teredo-debian.remlab.net

teredo.autotrans.consulintel.com

teredo.ipv6.microsoft.com

teredo.ngix.ne.kr

teredo.managemydedi.com

teredo.trex.fi

teredo.iks-jena.de

2.1. 以"PING+空格+地址"的格式进行单个依次测试,例如:

2.2. 回车执行:

可以看到teredo.remlab.net这个teredo服务器地址我无法PING通,继续以相同方法测试其他地址:

如上图,最终我成功PING通了teredo.iks-jena.de这个地址。

2.3. 选择一个你能PING通的,数据包丢失率和平均延迟ms值最低的地址,记住它后面要用,暂且称它为“你的最佳Teredo服务器地址”。

如果上面9个地址你全都无法PING通,或是只有一个能PING通,但是丢包率是100%或延迟ms值很高,那说明你的网络质量非常糟糕!


二、本地服务设置

1. 快捷键WIN+R打开运行窗口,输入service.msc,回车确定打开本地服务设置。

2. 找到下列各项服务,并将它们的启动类型和服务状态设置为对应状态,应用并确定:

  • IKE and AuthIP IPsec Keying Modules——启动类型:自动;服务状态:正在运行.

  • IP Helper——启动类型:自动;服务状态:正在运行.

  • IP 转换配置服务——启动类型:自动;服务状态:已停止.

  • TCP/IP NetBIOS Helper——启动类型:自动;服务状态:正在运行.

  • Xbox Accessory Management Service——启动类型:自动;服务状态:正在运行.

  • Xbox Live 身份验证管理器——启动类型:自动;服务状态:正在运行.

  • Xbox Live 网络服务——启动类型:自动;服务状态:正在运行.

  • Xbox Live 游戏保存——启动类型:自动;服务状态:正在运行.

上述这些服务项会有少量被系统自动调整,不用管它,设置过一遍以后基本就不用管了。

例如:


三、WIN10家庭版系统装载本地组策略编辑器(专业版跳过)

1. 任意位置新建一个文本文档,初始文件名应为“新建文本文档.txt(若无“.txt”文件后缀,需在文件夹选项设置中取消勾选“隐藏已知文件类型的扩展名”

2. 打开文本文档,将以下文本复制粘贴至文本文档中:

@echo off

pushd "%~dp0"

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt

for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"

pause

3. 保存文本文档,并将文件名重命名为"gpedit.cmd",得到下图这样的命令脚本文件:

4. 右键脚本文件,以管理员身份运行,等待程序运行完成(大约需要一分钟)提示“按任意键关闭窗口”时按任意键结束。


 

四、本地组策略编辑器设置

1. 快捷键WIN+R打开运行窗口,输入"gpedit.msc",回车确定打开本地组策略编辑器,其左侧目录栏依次双击打开:计算机配置-管理模板-网络-TCPIP设置-IPv6转换技术

2. 双击打开“设置 6to4 状态”,状态设置为“已启用”;选项设为“已禁用状态”,应用,确定:

3. 双击打开“设置 ISATAP 状态”,状态设置为“已启用”;选项设置为“已禁用状态”,应用,确定:

4. 双击打开“设置 Teredo 服务器名称”,状态设置为“已启用”;服务器名称输入刚才步骤一中“你的最佳Teredo服务器地址”,应用,确定:

我的是teredo.iks-jena.de这个地址,那我就在服务器名称里输入它:

5. 双击打开设置 Teredo 默认限定,状态设为已启用;选项设为已启用状态应用确定:

6. 双击打开“设置 Teredo 状态”,状态设置为“已启用”;选项设为“企业客户端”,应用确定:


五、修改注册表

1. 快捷键WIN+R打开运行窗口,输入"regedit",回车确定打开注册表。

2. 找到“计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters”路径下,有则修改,无则新建一个名为"AddrConfigControl"的DWORD(32位)值

3. 右键修改该DWORD(32位)值,数值数据为0,基数选择十六进制,确定。


六、网络设置

1.打开系统设置-网络和Internet-状态-更改适配器选项

2.右键打开网络属性,取消勾选Internet 协议版本 6(TCP/IPv6),确定,如下图:


中场休息,重启电脑

上述六步是基础设置以后基本再也不用管了

不放心的再走一遍防止错漏影响后面的设置

下面是核心!

 


进行第七步前请确保你没有开加速器,包括302,steam++等影响网络状态的后台都关掉。

七、检测并修改Teredo参数

1. 快捷键WIN+R打开运行窗口,输入"cmd",回车确定打开命令提示符窗口(下文简称CMD),注意:后续必须是以管理员身份打开的CMD窗口,窗口左上角会有“管理员”字样,参照下图!

如果没有“管理员”字样,请在“开始菜单栏-所有程序-Windows 系统”文件夹下找到命令提示符程序,右键-更多-以管理员身份运行,如下图。

2. 检测Teredo服务器连接状态(下文简称Teredo参数),在CMD窗口输入下面这句指令,回车检测,这条指令得记住,后续操作请自觉频繁使用这条指令检查Teredo参数,以便分步排查问题: 

netsh int teredo show state

3. Teredo参数有两种情况,分成3.1.和3.2.两点讲吧,大家对号入座:


3.1.你的“状态”是"qualified"或"dormant".

下面是Teredo服务器成功连接时的参数截图,逐一对照这两项进行调试,其他参数暂时不管。

  • 类型:必须是enterpriseclient

  • 服务器名称:必须是“你的最佳Teredo服务器地址”

3.1.1. “类型”

如果你的“类型”不是"enterpriseclient",则需要在CMD窗口输入下面这句指令,回车:

Netsh int ter set state enterpriseclient

然后可以再次检测Teredo参数,确认“类型”是否成功改为"enterpriseclient".

3.1.2. “服务器名称”

这里要用到这句指令:

netsh interface teredo set state server=

等号后加上“你的最佳Teredo服务器地址”,比如我的是teredo.iks-jena.de,那么我的指令就是这样的,记得回车:

netsh interface teredo set state server=teredo.iks-jena.de

然后可以再次检测Teredo参数,确认“服务器名称”是否修改成功。

3.1.3.如果你的“客户端类型”不是"teredo client",请确保你完成了步骤六再试。


3.2.你的“状态”是"offline"。且可能没有“客户端类型”这一项,且“类型”可能是"disabled".

3.2.1.重置Teredo注册表

输入下面这条命令,回车执行:

reg query HKLM\System\CurrentControlSet\Services\TcpIp6\Parameters    

输出中一定会包含 DisabledComponents REG_DWORD 0x8,执行下面命令,回车执行: 

reg add HKLM\System\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 0x0

系统询问是否覆盖,输入YES,回车执行。

3.2.2.“类型”(同3.1.1.)

再次检测Teredo参数,此时你的“类型”应该不是"enterpriseclient",需要在CMD窗口输入下面这句指令,回车:

Netsh int ter set state enterpriseclient

然后可以再次检测Teredo参数,确认“类型”是否成功改为"enterpriseclient"(此时你的状态应该还是"offline").

3.2.3.重启电脑

重启电脑且连上网络后,打开CMD命令提示符窗口,检测Teredo参数,正常情况下你的“状态”应该变成了"qualified"或"dormant",如果不是请查看上面3.1.的情况继续调试。


4.最后的检查

4.1.检测Teredo参数,此时应该是:

  • 类型:enterpriseclient

  • 服务器名称:“你的最佳Teredo服务器地址”

  • 状态:"qualified"或"dormant"

  • 客户端类型:"teredo client"

4.2.打开系统设置-游戏-Xbox网络,此时应该是:

  • Internet 连接:已连接

  • Xbox Live 服务:启动并运行

  • NAT类型:开放/中/严格

  • 服务器连接:已连接


一些经验:

我每次进游戏前都会查看cmd中的Teredo参数和系统设置中的xbox网络状态,几乎每次都会出现xbox服务器断开且teredo无法限定或teredo类型变回disabled的问题,不过都能通过步骤七中的命令在cmd中操作来纠正网络配置,重启电脑就行了。

另外建议有该系列网络问题的朋友不要给xbox和地平线4开加速器,目前我有试过雷神加速器和uu加速器,开了加速器xbox网络直接无法连接,teredo参数也会改变,游戏更是连不上,最终还是得用这些命令在cmd里调试才能恢复,给其他游戏开了加速器似乎也会导致xbox网络断连,所以只能每次开游戏前检查调试重启一遍,我现在都很熟练了[喜极而泣]。

如果nat类型是中或开放,游戏基本不会掉线;如果nat类型是严格,联机不稳定容易掉线,只有换个网络环境试试了。

说到网络环境,不同环境(地区)下,最佳Teredo服务器地址可能不同,大学生们在家和在学校最好都ping一遍,找到当前环境下延迟和丢包率最低的服务器,并分别在本地组策略编辑器(gpedit)里和cmd里用命令同步改掉服务器。

结束!


基于上述设置成功连接地平线生活的玩家可以参考我的后续操作习惯

八、游玩前Teredo参数校准

1.打开cmd窗口,输入:netsh int teredo show state 回车检查Teredo参数,应该会是下图这样的:

2.输入并执行:reg query HKLM\System\CurrentControlSet\Services\TcpIp6\Parameters

输出中一定会包含 DisabledComponents REG_DWORD 0x8

3.执行下面命令进行重置:

reg add HKLM\System\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 0x0

系统询问是否覆盖,输入YES,回车执行,如下图:

4.执行: netsh int ter set state enterpriseclient,重新将类型设置为企业客户端,

5.执行: netsh int teredo show state,检查情况,如下图:

6.重启电脑,连接网络后打开cmd查看teredo参数,一开始可能是这样的:

等一会再看,会变成下图这样,说明Teredo参数校准成功了,可以进游戏了:


2024.02.07更新

WIN10系统近半年更新了几次,发现系统设置里的xbox网络状态没了,不过也无所谓,所有参数去CMD里查看就足够了;

放假后辗转了几次,每到一个地方Teredo参数都看似正常,但游戏就是连不上,重启也没用,说让我检查DNS,我根据网上相关的教程改了DNS也没效果。我尝试大退游戏,先用雷神加速器加速地平线4,然后去CMD调试Teredo参数再进游戏,虽然能连上,但是狮子头跑完第一回合赢了必掉线,输了就一直不掉;还会频繁出现卡帧和严重的画面滞后。经过雷神加速器这么一整,然后重启电脑不开加速器,直接调Teredo参数,上线就好了能连上了。