按照网上说的方法创建服务器,无法开启两个世界原因就出在第8,9步
目录
一.安装过程
二.报错分析
三.解决方案
只想知道解决方案可下移到解决方案
一.安装过程
1.下载SteamCMD
2.找一个空文件夹打开SteamCMD,
3.匿名登录:在打开的控制台输入:login anonymous
4.安装或升级:第3不完成后在控制台输入:app_update 343050 validate
5.关闭控制台
此时服务器下载位置就在安装文件的steamapps中
C:/Game/steamcmd/steamapps/common/Don't Starve Together Dedicated Server
6.生成令牌: 官网上获取或打开饥荒联机版按~键在控制台输入:TheNet:GenerateClusterToken()
7.执行命令后,生成文件cluster_token8.将存档Cluster_1复制到服务器我的文档/Klei/myDoNotStarveTogetherData
9.修改启动位置:将launch_preconfigured_servers中的DoNotStarveTogether_EasyConfigCaves和DoNotStarveTogether_EasyConfigOverworld都替换为myDoNotStarveTogetherData
10.如果有公网ip或内网穿透,配置端口映射并打开10999,10888防火墙,如果是云服务器,打开防火墙并在云服务器控制台配置入站规则, 点击启动器启动游戏就会出现其中一个成功启动,端口10999,另一个服务报错,原因是端口10999被占用
二报错分析
看看报错之前都有一个启动端口10999,那说明两个服务都启动了10999,而10999是配置在Master的Server.ini中,也就是两个服务都在执行同一个配置文件,为什么出现这种情况
先来看看别人自己生成的两个目录:
1.DoNotStarveTogether_EasyConfigCaves中的Cluster_1
2.DoNotStarveTogether_EasyConfigOverworld中的Cluster_1
然后再看看我们的目录结构
差别就在别人的目录结构都是有Master文件夹,而我们一个Caves和一个Master文件夹
猜想:如果洞穴和地上世界都是寻找文件夹下的Mater文件夹,那么10999配置文件被执行了两次,导致端口被占用就说得通了。
验证:用系统自己生成的目录结构来配置
20240121注释:今天试了linux的饥荒服务器,用的方法是别人封装好的jar启动方式,貌似linux一个Caves和一个Master是可以的,没验证原生方法(而且好像linux不太稳定,断过一次线)。
三.解决方案
1.还原启动器中配置的存档位置
修改后如下图
2.将我们的存档覆盖掉系统生成的存档(因为有mod这些,最好覆盖),不能改系统文件夹名字
1)将自己之前的存档myDoNotStarveTogetherData/Cluster_1/caves中的所有文件复制到Documents/Klei/DoNotStarveTogether_EasyConfigCaves/Cluster_1/Master
2.将自己之前的存档myDoNotStarveTogetherData/Cluster_1/Master中的所有文件复制到Documents/Klei/DoNotStarveTogether_EasyConfigOverworld/Cluster_1/Master
3.别忘了还有我们的令牌:cluster_token.txt和服务信息的配置文件cluster.ini,都要复制到和Mater同级别的目录下(洞穴和地上世界都要复制),最后目录结构
1)地上世界
2)洞穴
最后启动服务 launch_preconfigured_servers.bat,没有端口占用情况
再看看游戏中有没有洞穴,出现洞穴(因为我有开了洞穴的存档,所以可以进游戏看,正常刚开游戏看不到),成功