饥荒联机版(Don’t Starve Together)是一款非常有意思的跨平台(甚至包括 Linux)生存类游戏。可是游戏里自建服务器是用某一位玩家的电脑做 server,这样作为 server 的玩家退出了,别的人也不能玩了。所以我们需要一台专门的服务器。网上大多的教程都有些过时,并不能成功搭建起来,所以折腾了一下,出了一个新版的搭建手册。
机器要求
我这里使用的是 Ubuntu 16.04 64位 的机器。内存需要至少1G,并能以 root 身份登录机器。
准备服务器环境
添加i386的构建器,更新,并安装32位依赖库。
1 2 3
| dpkg --add-architecture i386 apt-get update apt-get install -y lib32gcc1 lib32stdc++6 libcurl4-gnutls-dev:i386 screen
|
安装 steamCMD 和 DST
下载 steamCMD
1 2 3 4 5 6 7
| cd ~ mkdir steamcmd cd steamcmd wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz rm steamcmd_linux.tar.gz
|
运行 steamcmd
运行 steamcmd 之后,命令提示符会变成 Steam>
,这时进入了 steamcmd 的命令交互界面。现在使用 steamCMD 安装 DST
1 2 3 4
| login anonymous force_install_dir ../dstserver app_update 343050 validate quit
|
1 2
| cd ~/dstserver/bin ./dontstarve_dedicated_server_nullrenderer
|
这时我们会发现多了一个目录:~/.klei/DoNotStarveTogether
,他的目录结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| └── Cluster_1 └── Master ├── backup │ ├── server_chat_log │ └── server_log ├── save │ ├── boot_modindex │ ├── client_temp │ ├── mod_config_data │ ├── modindex │ ├── profile │ ├── server_temp │ └── session ├── server_chat_log.txt ├── server.ini └── server_log.txt
|
配置服务器
1 2
| cd ~/.klei/DoNotStarveTogether/Cluster_1/ touch cluster_token.txt cluster.ini
|
这时的 Cluster_1/ 目录结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ├── cluster.ini ├── cluster_token.txt └── Master ├── backup │ ├── server_chat_log │ └── server_log ├── save │ ├── boot_modindex │ ├── client_temp │ ├── mod_config_data │ ├── modindex │ ├── profile │ ├── server_temp │ └── session ├── server_chat_log.txt ├── server.ini └── server_log.txt
|
必须拥有饥荒联机帐号才能架设线上独立服务器。所以我们需要通过自己的饥荒联机版客户端生成 Authentication Token。
打开你的游戏,点进入游戏主菜单当中,按~键(esc 下面那个键)打开控制台,输入 TheNet:GenerateServerToken()
,这会在你的电脑上生成内容为 Authentication Token 的文件 cluster_token.txt
,你把本机 cluster_token.txt
中的 token 复制到服务器上的 cluster_token.txt
中即可。不同系统中,这个文件目录不同。
Windows:
1
| %USERPROFILE%/My Documents/Klei/DoNotStarveTogether/cluster_token.txt
|
MacOS:
1
| ~/Documents/Klei/DoNotStarveTogether/cluster_token.txt
|
Linux:
1
| ~/.klei/DoNotStarveTogether/cluster_token.txt
|
配置 cluster.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| [GAMEPLAY] game_mode = survival # 游戏模式 max_players = 6 # 最大玩家数 pvp = true # 是否开启 PVP pause_when_empty = true # 没有人的时候暂停游戏
[NETWORK] lan_only_cluster = false cluster_intention = social cluster_description = cluster_name = my server # 服务器名称 offline_cluster = false cluster_password = password # 密码
[MISC] console_enabled = true
[SHARD] shard_enabled = false bind_ip = 127.0.0.1 master_ip = 127.0.0.1 master_port = 10888 cluster_key = defaultPass
|
写一个脚本方便启动
将下面内容写入脚本:
1 2 3 4
| #!/bin/sh cd ~/dstserver/bin screen -S "Don't Starve Together Server" ./dontstarve_dedicated_server_nullrenderer
|
然后让脚本可以运行
运行服务器
这时你在本机运行饥荒游戏,便可以看到这个服务器:


Ctrl + C
可以关闭服务器
Ctrl + A
然后 Ctrl + D
可以后台运行,screen -r
可以恢复。
参考资料