饥荒联机独立服务器搭建
最近全家玩饥荒玩得很开心,其中某耗更是玩到晚上2点多,因此想能不能搭建一个服务器联机一起玩。主要参考天天の記事簿的3篇文章,分别在windows 2008 server 和 ubuntu 16.04 server上搭建。
一、 windows 2008 server 上搭建(参考)
(一)使用 Don’t Strave Together Dedicated Server 搭建
- 安装 Steam 客户端;
- 在“游戏”菜单下选择“工具”,并找到名为 Don't Strave Together Dedicated Server 的工具,右键安装;
- 安装完成后,打开下载的目录(右键点击“属性”,选择“本地文件”选项卡,再点击"浏览本地文件")。进入 bin/scripts 文件夹,直接点开里面的 launch_preconfigured_servers.bat 文件;(打不开的话先运行一下游戏,会自动安装依赖VCRedist_2008)
- 此时,会打开两个命令行窗口,标题分别为 Don't Starve Together Overworld 和 Don't Starve Together Caves。当出现日志中出现 Your Server Will Not Start 后,分别键入
c_shutdown()
关闭窗口; 打开文档->Klei,能看到生成了 DoNotStarveTogether_EasyConfigOverworld 和 DoNotStarveTogether_EasyConfigCaves 两个文件夹,这就是地上和洞穴的存档和配置目录。之后,对配置文件进行配置后即可开始游戏。
(二)使用 SteamCMD 搭建
- 下载 SteamCMD ,并解压到 文件夹中(D:\SteamCMD);
- 运行steamcmd.exe,自动下载所需的各种文件;
- 在 Steam> 命令行界面直接输入
login anonymous
先登陆匿名账号; - 再在 Steam> 下输入
app_update 343050 validate
下载DST server程序; - 下载完成后输入
exit
退出命令行。 - (关键)先到游戏目录(D:\SteamCMD\steamapps\common\Don't Starve Together Dedicated Server)下的VCRedist中执行vc++ 2008依赖,否则闪退;
- 到游戏目录下 bin\scripts 下执行
launch_preconfigured_servers.bat
在我的文档生成游戏配置目录。
到此,游戏安装完毕,转到三进行配置。
二、ubuntu 16.04 server 上搭建(参考)
最好是32位系统,不然后面程序依赖不好处理。
安装系统环境
sudo apt-get install lib32gcc1
新建用户(非常不建议使用 root 运行游戏,这将产生严重的安全隐患)
sudo useradd -m dst
下载并解压安装
su - dst
mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh +login anonymous +force_install_dir ~/dst +app_update 343050 validate +quit检查依赖
cd ~/dst/bin
ldd dontstarve_dedicated_server_nullrenderer
./dontstarve_dedicated_server_nullrenderer
一般会有以下报错信息:
- /usr/lib/libstdc++.so.6 not found
\#一般是因为安装的C运行库版本过低导致的
\#所幸SteamCMD中也需要该动态链接库,并且自带了该动态链接库,只需要拷贝至DST文件夹中即可
cp ~/steamcmd/linux32/libstdc++.so.6 ~/dst/bin/lib32/
- error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
\#这是因为系统没有搜索到该文件
sudo apt-get install libcurl4-gnutls-dev
locate libcurl
cp /usr/lib/x86_64-linux-gnu/libcurl.so.4 ~/dst/bin/lib32/libcurl-gnutls.so.4
还是错误
- ./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: wrong ELF class: ELFCLASS64
\#由于需要32位而服务器是64位的,没办法从其他32位机器拷贝过来
- 创建脚本文件
cd ~/dst/bin/
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master > dst_overworld.sh
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves > dst_caves.sh
sh dst_overworld.sh
\#待出现Your Server Will Not Start
后,按Ctrl+C终止进程(没有什么是靠Ctrl+C不能解决的,如果一下不行,那就两下)
sh dst_caves.sh
\#待出现Your Server Will Not Start后,按Ctrl+C终止进程(没有什么是靠Ctrl+C不能解决的,如果一下不行,那就两下)
rm -rf ~/.klei/DoNotStarveTogether/Cluster_*
\#删除之前创建的默认文件
在 ~/.klei/DoNotStarveTogether/ 中就生成了一个 DediServer 文件夹,该文件夹下有名为 Master 和 Caves 的两个子文件夹,这两个文件夹分别是地上和洞穴的配置目录。
三、服务配置(参考)
- 配置 token 文件
打开游戏客户端,在游戏主界面,在右下角找到 Account 图标,点开并找到 Generate Server Token 按钮,在右侧的输入框内输入相应描述,比如输入DST Dedi Server Token
,然后点击 Generate Server Token 按钮,即生成了一个不会失效的 token。之后,将复制的 token 粘贴到 cluster_token.txt 文件中。 - 其他配置文件
/home/dst/.klei/DoNotStarveTogether\MyDediServer
|
| adminlist.txt(/adminlist.txt)
| blocklist.txt(/blocklist.txt)
| cluster.ini(/cluster.ini)
| cluster_token.txt(/cluster_token.txt)
| whitelist.txt(/whitelist.txt)
|
|---Master
| | modoverrides.lua(/Master/modoverrides.lua)
| | server.ini(/Master/server.ini)
| | worldgenoverride.lua(/Master/worldgenoverride.lua)
| | 其他文件
| |
| |---其他文件夹
|
|---Caves
| modoverrides.lua(/Caves/modoverrides.lua)
| server.ini(/Caves/server.ini)
| worldgenoverride.lua(/Caves/worldgenoverride.lua)
| 其他文件
|
|---其他文件夹
/home/dst/dst/mods
|
| dedicated_server_mods_setup.lua(/dedicated_server_mods_setup.lua)
- 开始游戏
(1) Windows 系统 Don’t Strave Together Dedicated Server 搭建
双击运行位于 steamapps\common\Don't Strave Together Dedicated Server\bin\scripts\launch_preconfigured_servers.bat。
(2) Windows 系统 SteamCMD 搭建
分别运行位于 D:\dst\bin\dst_overworld.bat 和 D:\dst\bin\dst_caves.bat 两个文件。
(3) Linux 系统 SteamCMD 搭建
su - dst
script /dev/null \#在通过 su - user 命令切换用户后,使用 screen 会出现 “Cannot open your terminal ‘/dev/pts/0’ please check.” 错误。
screen -L -dmS dst \#屏幕输出记录到screenlog.0文件
cd ~/dst/bin
sh ./dst_overworld.sh
\# 手动同时按 Ctrl 和 A 键,之后按 D 键退出即可
同理再开一个screen
运行caves
screen -L -dmS dst_caves
sh ./dst_caves.sh
P.S. 关闭游戏到命令行中输入 c_shutdown()
关闭服务.
想想你的文章写的特别好
想想你的文章写的特别好https://www.ea55.com/
看的我热血沸腾啊www.jiwenlaw.com
兄弟写的非常好 https://www.cscnn.com/
看到你的文章,我仿佛感受到了生活中的美好。 https://www.4006400989.com/qyvideo/7106.html
真棒!
《左手上篮》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/49187.html
《悬念1946》爱情片高清在线免费观看:https://www.jgz518.com/xingkong/123834.html
《暗网第二季》记录片高清在线免费观看:https://www.jgz518.com/xingkong/148087.html
《雁荡山》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/67974.html