最近全家玩饥荒玩得很开心,其中某耗更是玩到晚上2点多,因此想能不能搭建一个服务器联机一起玩。主要参考天天の記事簿的3篇文章,分别在windows 2008 server 和 ubuntu 16.04 server上搭建。

一、 windows 2008 server 上搭建(参考)
(一)使用 Don’t Strave Together Dedicated Server 搭建

  1. 安装 Steam 客户端;
  2. 在“游戏”菜单下选择“工具”,并找到名为 Don't Strave Together Dedicated Server 的工具,右键安装;
  3. 安装完成后,打开下载的目录(右键点击“属性”,选择“本地文件”选项卡,再点击"浏览本地文件")。进入 bin/scripts 文件夹,直接点开里面的 launch_preconfigured_servers.bat 文件;(打不开的话先运行一下游戏,会自动安装依赖VCRedist_2008)
  4. 此时,会打开两个命令行窗口,标题分别为 Don't Starve Together Overworld 和 Don't Starve Together Caves。当出现日志中出现 Your Server Will Not Start 后,分别键入 c_shutdown() 关闭窗口;
  5. 打开文档->Klei,能看到生成了 DoNotStarveTogether_EasyConfigOverworldDoNotStarveTogether_EasyConfigCaves 两个文件夹,这就是地上和洞穴的存档和配置目录。之后,对配置文件进行配置后即可开始游戏。

    (二)使用 SteamCMD 搭建

  6. 下载 SteamCMD ,并解压到 文件夹中(D:\SteamCMD);
  7. 运行steamcmd.exe,自动下载所需的各种文件;
  8. 在 Steam> 命令行界面直接输入 login anonymous 先登陆匿名账号;
  9. 再在 Steam> 下输入 app_update 343050 validate 下载DST server程序;
  10. 下载完成后输入exit退出命令行。
  11. (关键)先到游戏目录(D:\SteamCMD\steamapps\common\Don't Starve Together Dedicated Server)下的VCRedist中执行vc++ 2008依赖,否则闪退;
  12. 到游戏目录下 bin\scripts 下执行 launch_preconfigured_servers.bat 在我的文档生成游戏配置目录。
    到此,游戏安装完毕,转到三进行配置。

二、ubuntu 16.04 server 上搭建(参考)
最好是32位系统,不然后面程序依赖不好处理。

  1. 安装系统环境

    sudo apt-get install lib32gcc1

  2. 新建用户(非常不建议使用 root 运行游戏,这将产生严重的安全隐患)

    sudo useradd -m dst

  3. 下载并解压安装

    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

  4. 检查依赖

    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位机器拷贝过来

  1. 创建脚本文件
    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 文件夹,该文件夹下有名为 MasterCaves 的两个子文件夹,这两个文件夹分别是地上和洞穴的配置目录。

三、服务配置(参考)

  1. 配置 token 文件
    打开游戏客户端,在游戏主界面,在右下角找到 Account 图标,点开并找到 Generate Server Token 按钮,在右侧的输入框内输入相应描述,比如输入 DST Dedi Server Token,然后点击 Generate Server Token 按钮,即生成了一个不会失效的 token。之后,将复制的 token 粘贴到 cluster_token.txt 文件中。
  2. 其他配置文件

/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. 开始游戏
    (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.batD:\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() 关闭服务.

标签: server, 饥荒, strave, DST

已有 10 条评论

  1. 想想你的文章写的特别好

  2. 想想你的文章写的特别好https://www.ea55.com/

  3. 看的我热血沸腾啊www.jiwenlaw.com

  4. 兄弟写的非常好 https://www.cscnn.com/

  5. 看到你的文章,我仿佛感受到了生活中的美好。 https://www.4006400989.com/qyvideo/7106.html

  6. 真棒!

  7. 《左手上篮》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/49187.html

  8. 《悬念1946》爱情片高清在线免费观看:https://www.jgz518.com/xingkong/123834.html

  9. 《暗网第二季》记录片高清在线免费观看:https://www.jgz518.com/xingkong/148087.html

  10. 《雁荡山》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/67974.html

添加新评论