七日杀EOS错误,开服出现房间无法被搜索的问题

如题,本问题建立在你的服务器已经正常启动的情况下。

如果你的服务器根本做不到正常启动,那么这个方案可能并不适合你。
这里只提供windows端的配套过程,如果你的os是linux,那么需要自行bing一下证书导入方法。
本文默认你的serverconfig.xml中ServerVisibility配置项的值为2.

问题场景:

测试服务器场景:
某个云服务器
windows server 2016
七日杀版本20.7

本问题常见于家用机,云服务器厂商,例如阿里云,腾讯云,或者一些第三方云或者私有云平台,在私有云和家用机上出现的问题频率较高。不过,这个问题不是一定会发生,一般出现在windows server系列或一些被魔改过的所谓精简系统。
在启动服务器时出现如下报错:
七日杀EOS错误,开服出现房间无法被搜索的问题_第1张图片
具体警告或错误日志部分如下:

LogEOS: Warning: [LogHttp] 000001A5C806C040: invalid HTTP response code received. URL: https://api.epicgames.dev/sdk/v1/default?platformId=WIN, HTTP code: 0, content length: 0, actual payload size: 0
LogEOS: Warning: [LogHttp] 000001A5C806C040: request failed, libcurl error: 60 (Peer certificate cannot be authenticated with given CA certificates)

以及

Failed to connect to the backend. ServiceName=[SDKConfig], OperationName=[GetPlatformConfigRoute], Url=[]

虽然你最后可以正常的进入到开服成功的结尾
七日杀EOS错误,开服出现房间无法被搜索的问题_第2张图片
但是你等一会服务端就会开始跳重试和报错提示,服务端在尝试连接epic的api组件一直失败。
七日杀EOS错误,开服出现房间无法被搜索的问题_第3张图片
这样会导致你的服务器虽然可以通过ip直连登入,但是却无法通过搜索房间的方式进入(注册失败)
而且有可能会出现在ip加入时提示服务器仍处于启动状态的错误。
七日杀EOS错误,开服出现房间无法被搜索的问题_第4张图片

分析错误说明,

很清楚的可以知道,这问题来源是缺少CA证书。
虽然报错的这个地址你可以通过浏览器正常访问:https://api.epicgames.dev/sdk/v1/default?platformId=WIN
但是这并不意味着你的服务端可以和注册服务器进行正常的通讯。
因为运行游戏服务器可执行文件的 VM/容器不包含 Amazon 根证书颁发机构 (CA) 证书。
Epic Online Services API TLS 证书已由该 CA 颁发,但是因为你的系统里缺少这个证书会导致与 VM/容器的始终或大部分情况下连接失败。
所以理论上,如果你尝试换个其他系统,或者更新系统,这个问题是有可能被解决的,因为新版系统可能已经被厂商预安装了此类证书从而避免此类错误。

解决方案:

去这里下载这个证书

https://download.csdn.net/download/qq_41731201/87878824
通过这个链接下载后可以直接看证书安装部分。

或者

https://www.amazontrust.com/repository/
有可能存在访问障碍,请自行解决。

RootCA1就可以,下载DER格式,别下错了,其实不放心可以把这几个RootCA2,3,4,5都下载安装。
在这里插入图片描述
下载完成后直接导入系统即可。

证书安装

七日杀EOS错误,开服出现房间无法被搜索的问题_第5张图片
单机安装证书一路下一步就行。
七日杀EOS错误,开服出现房间无法被搜索的问题_第6张图片
重启服务端,该问题消失,服务器已经可以正常注册并被搜索了。

可用性验证

在这里插入图片描述
七日杀EOS错误,开服出现房间无法被搜索的问题_第7张图片

如何知道是否真的已经注册服务器成功?

仔细观察安装证后你的控制台日志,是否出现下图的文字,出现则已经注册成功。
七日杀EOS错误,开服出现房间无法被搜索的问题_第8张图片

剑走偏锋

我懒得安装证书,也不想知道怎么处理这个问题,我只是不想看到这个破烂黄字刷屏的警告。
ip直连就直连了,我不需要让我的服务器可以被搜索到。
(或者服务器属于私人服务器不想让其他人看到,虽然这个要求可以在serverconfig.xml调整,但是让服务器无法被搜索也能达到相同的效果)

打开服务端内的platform.cfg
在这里插入图片描述
用什么打开都行,用记事本最方便。
七日杀EOS错误,开服出现房间无法被搜索的问题_第9张图片
删除

crossplatform=EOS
七日杀EOS错误,开服出现房间无法被搜索的问题_第10张图片

或删除EOS这几个字母,反正这里不填EOS就行

想自己留空或者删掉这一行随你。
七日杀EOS错误,开服出现房间无法被搜索的问题_第11张图片
这样处理会在服务器的启动阶段跳过注册的过程,你也不会看到黄字了,也不会有其他人可以正常搜索到服务器了,你的七日杀服务器唯一的连接途径在经过这个操作后,只剩下ip直连。
想恢复的话把上面那行加回去就行了。

当然如果你想让我帮忙搭建七日杀的服务器,或者想用成品的服务器,也可以直接来qq找我。
当然,这不是免费的。
这里是我的链接:单机添加好友 验证请注明来意。

你可能感兴趣的:(初学笔记,服务器,云计算,游戏程序,c++)