在南京,花了65块网费和小伙伴们玩了局域网的饥荒(可以吹一年了),甚是好玩。不过俺回杭州了,想用互联网继续玩耍,迫于每次玩都需主机在线的问题,特研究如何让我吃灰的,剩余不到两个月的主机发挥最后的余热。
硬件环境
我的ecs是1核1G内存1M带宽的。
官网对于建立一个稳定的独立服务器必须又以下硬件要求:带宽8KB/玩家/秒,内存约65MB/玩家,cpu没有明确的要求。
环境准备
dpkg --add-architecture i386 # 添加i386的构建器 apt-get update # 更新 apt-get apt-get install -y lib32gcc1 lib32stdc++6 libcurl4-gnutls-dev:i386 screen # 安装32位依赖库
安装 steamCMD 和 DST
下载 steamCMD
cd ~mkdir steamcmd # 在 /root 下创建 steamcmd/ 文件夹cd steamcmd # 进入 sreamcmd/ 文件夹wget http://media.steampowered.com/installer/steamcmd_linux.tar.gztar -xvzf steamcmd_linux.tar.gzrm steamcmd_linux.tar.gz
运行 steamcmd
./steamcmd.sh
运行 steamcmd 之后,命令提示符会变成 Steam>,这时进入了 steamcmd 的命令交互界面。现在使用 steamCMD 安装 DST
login anonymous # 以匿名身份登录force_install_dir ../dstserver # 在下建立文件夹安装 DST 服务器app_update 343050 validate # 安装 DST,成功后会出现 Success! App '343050' fully installed.quit # 完成后退出
cd ~/dstserver/bin./dontstarve_dedicated_server_nullrenderer # 这个命令会出现错误,但会帮助我们生成配置文件
服务器配置
cd ~/.klei/DoNotStarveTogether/Cluster_1/ # 进入生成配置文件的 Cluster_1/ 文件夹touch cluster_token.txt cluster.ini # 创建几个需要的配置文件
必须拥有steam饥荒联机帐号才能架设线上独立服务器,所以我们需要通过自己的饥荒联机版客户端生成 Authentication Token。
打开饥荒,点进入游戏主菜单后,按~键(esc 下面那个键)打开控制台,输入 TheNet:GenerateServerToken(),这会在你的电脑上生成内容为 Authentication Token 的文件 cluster_token.txt,具体位置是在文档/klei/DoNotStarveTogether/steamid/下有个cluster_token.txt。你可以把cluster_token.txt 中的 token 复制到服务器上的 cluster_token.txt 中即可(直接rz -y到服务器上也可以)。
继续配置cluster.ini,
[GAMEPLAY]game_mode = survival # 游戏模式max_players = 6 # 最大玩家数pvp = true # 是否开启 PVPpause_when_empty = true # 没有人的时候暂停游戏[NETWORK]lan_only_cluster = falsecluster_intention = socialcluster_description = cluster_name = my server # 服务器名称offline_cluster = falsecluster_password = password # 密码[MISC]console_enabled = true[SHARD]shard_enabled = falsebind_ip = 127.0.0.1master_ip = 127.0.0.1master_port = 10888cluster_key = defaultPass
注:#及后面的中文需要删除,否则启动会有问题。如果是阿里云的云服务器,注意在安全组里开启10888端口的访问权限,这问题让我处理了近两小时。。。
启动脚本
cd ~touch startdst.sh
再写入该脚本(vim修改)
#!/bin/shcd ~/dstserver/binscreen -S "Don't Starve Together Server" ./dontstarve_dedicated_server_nullrenderer
然后给脚本运行权限
chmod +x startdst.sh
服务器运行
~/startdst.sh
在登录游戏后,搜索主机,输入对应的主机名称,就可以搜索到我们创建的服务器了。
在xshell界面上,Ctrl + C 可以关闭服务器,Ctrl + A 然后 Ctrl + D 可以后台运行,screen -r 可以恢复(screen不能恢复的,可以用screen -r -d来恢复)。