找到
1
篇与
饥荒服务器
相关的结果
-
饥荒联机服务器搭建(本地、云服务器、双云服务器) 前引 饥荒联机是一个制作精良的“多人联机”生存游戏,游戏在可玩性上没得说,但是由于房主PC性能和网络等各种不确定性原因,导致联机体验特别糟糕。 猎杀时刻图片 对于联机卡顿的情况,可以通过搭建饥荒联机服务器来解决。 我会比较详细的介绍饥荒联机服务器搭建的过程,其中包括本地服务器搭建、云服务器搭建、通过两个服务器将地面和洞穴世界分开服务器搭建 KLEI服务器访问令牌 无论搭建什么类型的服务器此步骤都不能省略,获取到后可以暂时保存到记事本中,后面会用到 进入游戏 打开饥荒联机版,进入菜单界面 点击账号 image-20230131212932263图片 找到饥荒服务器 在导航栏中选择 游戏 ,找到饥荒联机版的图标,选择《饥荒:联机版》的游戏服务器 image-20230131213355872图片 添加服务器 名字可以随便取,取好名字之后就可以添加服务器 image-20230131213945834图片 获取代码 其他的都不用配置,直接复制访问令牌就可以 image-20230131214244181图片 创建新世界 根据自己的喜好创建一个新的饥荒世界,配置好人数,世界属性,以及添加需要的服务器模组之后就和平时玩一样创建一个新世界。 在选人界面直接退出 image-20230131220545275图片 找到新世界存档,位置一般在C:\Users\mstzf\Documents\Klei\DoNotStarveTogether文件夹下面的那个数字文件夹里面存放着不同世界的文件夹。文件以Cluster_1来命名,找到新创建的世界文件夹点击进入。 在文件中添加新文件,命名为cluster_token.txt,一定要注意扩展名为. txt如果默认不显示扩展名的要注意可能会出错。打开 cluster_token.txt 将上一步获取的服务器访问令牌粘贴在里面保存退出。 image-20230131224430759图片 根据需求修改添加,其中必须要在默认的基础上加入 cluster_tooken.txt才可以搭建联机服务器 Cavers :饥荒联机版洞穴世界配置文件。 Master :饥荒联机版主世界配置文件。 adminlist.txt :管理员名单,在文件中写入玩家的KLEI ID可以将玩家变为服务器管理员,拥有控制台输入命令和踢人的权限。 blocklist.txt :黑名单,加入KLEI ID的玩家无法加入游戏。 cluster.ini :饥荒联机版配置文件,可以设置人数和世界模式等,可根据需要修改。 whitelist.txt :服务器白名单,可写入玩家KLEI ID加入白名单,服务器会空出白名单人数的可加入人数。如果服务器可以有人,白名单中有一人,那么如果白名单中的人不在世界中的话,实际可加入的人数就只有5人。 做完这些,这个游戏存档就可以被做为饥荒的联机服务器存档了 饥荒本地联机服务器搭建 复制存档 将之前配置的游戏存档复制到他的上一级C:\Users\mstzf\Documents\Klei\DoNotStarveTogether中 下载饥荒联机工具 打开Steam游戏库,将游戏软件那个下拉箭头中,将工具也勾上 image-20230131224118410图片 在目录中找到Don't Starve Together Dedicated Server,并下载安装 image-20230131224631734图片 编辑启动文件 通过Steam直接打开服务器本地文件(也可以通过文件夹打开,路径为:Steam安装位置\steamapps\common\Don't Starve Together Dedicated Server image-20230131230145959图片 找到 bin/scripts/launch_preconfigured_servers.bat 文件 修改launch_preconfigured_servers.bat文件内容为 @ECHO OFF set SteamAppId=322330 set SteamGameId=322330 cd .. start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster 改为新建世界存档名 -console -shard Master -console start "Don't Starve Together Caves" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster 改为新建世界存档名 -console -shard Caves -console如果你的服务器不需要任何服务器mod,那么可以直接点击launch_preconfigured_servers.bat文件启动服务器 添加mod 对于本地搭建服务器的mod,可以直接复制原本饥荒的mod文件夹中的mod文件到饥荒服务器文件夹中的mod文件夹中 找饥荒联机版文件的方法和之前一样,这里就不在赘述 image-20230131233553886图片 另一种方法时编辑mod文件夹下面的dedicated_server_mods_setup.lua ServerModSetup("350811795") --数字为mod的id号 ServerModCollectionSetup("379114180") --数字为合计的id号对于怎么获取mod和合集的id,可以在Steam的创意工坊中,在mod或者合集订阅页面复制网页URL,在获取的网址中的数字就是mod或者合集的id号 云服务器搭建 饥荒联机云服务器相比与本地,有更好的网络连接条件,我本人在用一个2核2G的云服务器,短期档10人左右基本不卡,长期档6人以内也可以支持。 对于服务器的话,如果是学生,可以在阿里云进行学生认证,有着不错的折扣。 {% link 阿里云学生优惠链接,阿里云,https://www.aliyun.com/daily-act/ecs/activity_share?userCode=6vfvkhtz %} 我的环境是Ubuntu 20.04.5 LTS 安装依赖环境 更新系统 sudo apt update && sudo apt upgrade -y安装依赖环境 sudo apt-get install lib32gcc1 libstdc++6 libgcc1 libcurl4-gnutls-dev -y 创建Steam安装目录 mkdir ~/Steam cd Steam 下载SteamCMD安装软件 wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz等待下载完成 对软件解压缩 tar -zxvf steamcmd_linux.tar.gz 运行SteamCMD ./steamcmd.sh当看到Steam> 就说明安装配置已经成功 最有可能出现问题的就是在安装依赖的时候,多根据报错检查 image-20230201172759557图片 指定游戏安装路径 我喜欢装在Steam文件夹下,可以根据自己喜好修改 force_install_dir /root/Steam/DSTServer 登录Steam下载饥荒服务器 login anonymous app_update 343050 validate等待游戏下载完成 image-20230201173810519图片 完成后可以使用Ctrl + C 或者输入quit 退出SteamCMD 编辑启动脚本 可以通过直接运行文件来启动服务器 ./root/Steam/DSTServer/bin/dontstarve_dedicated_server_nullrenderer 但是这样不方便管理 在启动时如果出现报错: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory 或者 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 这里是个大坑。是由于缺少对应的库,开启i386支持再去安装对应的库 开启i386支持 sudo dpkg --add-architecture i386 更新软件库 sudo apt update && sudo apt upgrade -y 安装缺少的库 sudo apt install libcurl4-gnutls-dev:i386 sudo apt install libstdc++6:i386启动脚本可以被放在任何位置,我习惯放在root下自建的bash文件下 mkdir /root/bash cd /root/bash vim startDST.sh没有vim的可以用:sudo apt install vim -y 安装 启动脚本: steamcmd_dir为steamcmd.sh路径 install_dir 为游戏安装路径 cluster_name为存档名 #!/bin/bash steamcmd_dir="/root/Steam" install_dir="/root/Steam/DSTServer" cluster_name="Cluster_1" dontstarve_dir="/root/.klei/DoNotStarveTogether" function fail() { echo Error: "$@" >&2 exit 1 } function check_for_file() { if [ ! -e "$1" ]; then fail "Missing file: $1" fi } cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!" check_for_file "steamcmd.sh" check_for_file "$dontstarve_dir/$cluster_name/cluster.ini" check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt" check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini" check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini" check_for_file "$install_dir/bin" cd "$install_dir/bin" || fail run_shared=(./dontstarve_dedicated_server_nullrenderer) run_shared+=(-console) run_shared+=(-cluster "$cluster_name") run_shared+=(-monitor_parent_process $$) run_shared+=(-shard) "${run_shared[@]}" Caves | sed 's/^/Caves: /' & "${run_shared[@]}" Master | sed 's/^/Master: /' 给脚本文件可执行权限 sudo chmod u+x /root/bash/startDST.sh执行脚本用 :./root/bash/startDST.sh 添加mod vim /root/Steam/DSTserver/mods/dedicated_server_mods_setup.lua编辑文件内容 ServerModCollectionSetup("2606822598") -- 括号内数字替换为自己需要订阅的合集id ServerModSetup("1505270912") -- 括号内数字替换为自己需要订阅的mod的idimage-20230201183857430图片 上传世界存档文件夹 上传服务器的方式有很多 软件方式可以使用FileZilla {% link ,FileZilla中文网 - 免费开源的FTP解决方案,FileZilla,https://www.filezilla.cn %} 上传到服务器后将文件夹保存到:/root/.klei/DoNotStarveTogether/下面,并修改启动脚本中cluster_name的值 找不到文件夹的可以先./root/Steam/DSTServer/bin/dontstarve_dedicated_server_nullrenderer运行一下 完成后就可以运行启动脚本,启动饥荒联机服务器 后台运行 推荐使用screen 下载 sudo apt install screen -y 启动 screen -S DST 关闭 Ctrl+A+D 双服务器分开地面和洞穴 要带一些大型模组的多人长期档,一个性能低的服务器可能无法满足,此时如果有多个服务器可以采用不同服务器跑不同部分的办法实现。 要使用这一方法,需要在每个服务器都安装饥荒服务器环境,并且都要上传饥荒游戏存档。 主要要编辑洞穴服务器的cluster.ini文件 image-20230202021547548图片 对于启动文件,只需要将最后的两部分根据需要注释掉就可以了 如果是主世界的启动程序就注释带有Caves的那一行,如果是洞穴就注释带有Master的那一行,然后要保证主世界先运行起来再启动洞穴 image-20230202021920313图片