0x00 背景
为了跟同学一起玩《饥荒》,建了一个服务器。现在网络上流传的一些配置方法已经过时完全无法使用了,我整理了一下最新的配置方法。
0x01 基本服务器配置
首先根据这篇官方文章,在服务器上安装好Steam,如果你的服务器是64位的,还要安装一些32位的库,可以参考这篇文章。
接下来就是坑了,因为官方的文章的配置方法已经过时了,我整理了一下最新的配置方法。
1.使用Steam将饥荒服务器到最新版本:
cd /home/steam/Steam
./ +login anonymous +force_install_dir /home/steam/steamapps/DST +app_update 343050 validate +quit
2.在/home/steam/.klei/DoNotStarveTogether/Cluster_1目录下放上,cluster_token.txt文件,文件配置如下:
[network]
cluster_name = nevermoe and his friends
cluster_intention = cooperative
cluster_description = nevermoe and his friends
cluster_port = 10999
cluster_password = password
[misc]
console_enabled = true
[gameplay]
max_players = 10
pvp = false
game_mode = endless
pause_when_empty = true
3.启动服务器:
cd /home/steam/steamapps/DST/bin
chmod a+rw `tty`
screen -S "DST" ./dontstarve_dedicated_server_nullrenderer
4.你可以在这个网站查看你的服务器状态:/dstservers/。或者在你的游戏客户端的console中测输入c_connect("161+1.243.128.103", 10999, "password")来测试服务器连接,这个好处是可以显示更多一点的信息,比如服务器没有更新到最新版本导致无法连接时会给出具体提示。
5.安装mod:
在/home/steam/steamapps/DST/mods目录下的dedicated_server_mods_setup.lua文件里写上
ServerModSetup("378160973")
然后在
/home/steam/.klei/DoNotStarveTogether/Cluster_1/Master目录下设置文件,写上如下内容:
return {
["workshop-378160973"] = { enabled = true }, -- put the mod name here so you remember
}
重启服务器即可。
6.管理员设置:
在/home/steam/.klei/DoNotStarveTogether/Cluster_1/Master/save目录下放上文件,里面写上user id。user id可以在用户连接服务器时通过服务器log查看到。
7.重新attach上screen的方法:
先用screen -ls列出screen列表,然后用
script /dev/null
screen -r "DST" # 引号里的值根据你的screen -ls结果设置
恢复screen即可。
0x02 洞穴设置
1./home/steam/.klei/DoNotStarveTogether/Cluster_1/目录下新建Caves文件夹,在Caves文件夹下新建,内容如下:
[NETWORK]
server_port = 10998
[SHARD]
is_master = false
name = Caves
id = 2377032596
[STEAM]
master_server_port = 27017
authentication_port = 8767
2.在/home/steam/.klei/DoNotStarveTogether/Cluster_1/Master/中写入以下配置:
[NETWORK]
server_port = 10999
[SHARD]
is_master = true
3.在/home/steam/.klei/DoNotStarveTogether/Cluster_1/文件中追加以下内容:
[shard]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = defaultPass
4.启动Master服务器:
screen -S "DST" ./dontstarve_dedicated_server_nullrenderer
5.启动洞穴服务器:
screen -S "DST" ./dontstarve_dedicated_server_nullrenderer -shard Caves