BILIBILI:有一只猫龙
本文使用服务器为阿里云学生特惠服务器
配置:1核 CPU / 2G RAM / 1Mbps 带宽
系统镜像:Java运行环境(*Centos7 64 | JDK8|Tomcat8)
*注:Ubuntu系列在环境配置时或有不同
1 服务器端环境准备
1.1 安装依赖
yum install glibc.i686 libstdc++.i686 screen libcurl.i686
1.2 新建用户 安装Steam 下载游戏
新建用户
useradd -m steam
下载steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
解压
tar -xvzf steamcmd_linux.tar.gz
运行 匿名登陆 自定义安装路径 343050是DST的游戏id
./steamcmd.sh +login anonymous +force_install_dir ~/dst +app_update 343050 validate +quit
1.3 检查依赖完整性
到dst/bin文件夹中,查看依赖
ldd dontstarve_dedicated_server_nullrenderer
发现找不到libcurl-gnutls.so.4,如下解决
cp /usr/lib/libcurl.so.4 ~/dst/bin/lib32/libcurl-gnutls.so.4
1.4 创建服务器启动脚本
在dst/bin中创建服务器启动脚本
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster *Cluster_1 -shard Master > dst_world.sh
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster *Cluster_1 -shard Caves > dst_caves.sh
*注:Cluster_1为存档文件夹名,显然此时还并没有存档
2 利用客户端生成地图及配置文件
2.1 生成服务器认证
在游戏环境(Windows)下启动客户端
在开始游戏后首页点击个人资料弹出网页
然后生成服务器认证码(Generate Server Token)并把生成的Token记录下来
2.2 创建存档
创建一个存档 配置好所有想配置的
包括房间名及密码 地上 洞穴 以及服务器MOD
并生成地图
可以进入地图测试游戏 以免MOD冲突造成的存档损坏
2.3 将完整存档文件复制到服务器端
将游戏本体路径中mods文件夹中的MOD文件夹复制到~/dst/mods文件夹下
将游戏存档(默认在库文件夹的文档中 Klei\DoNotStarveTogether中的*Cluster_1)文件夹复制到~/.klei/DoNotStarveTogether/中
以上两个路径都是对应的 路径名字差不多
注意.klei文件夹在Linux中是隐藏的 如果要查看是否存在的话可以在上级文件夹中使用ls -la命令
查看隐藏的.klei文件夹
*注:默认生成的第一个存档名字为Cluster_1,此处复制你需要的那个存档就好
3 在服务器端完成部署
3.1 应用服务器认证
修改服务器Cluster_1文件夹里cluster_token.txt中的内容为之前生成的Server Token
3.2 其他配置
另外有其他可用的几个配置文件如下图所示
其他可用配置文件
作用如文件名所示,内容为每行的以KU_开头的玩家id。其中拥有Server Token的玩家默认拥有管理员权限。
4 饥荒联机版,启动!
开启两个screen 在dst/bin中利用之前写好的脚本分别启动地上和洞穴的服务器:
screen -R dst_world
sh ./dst_world.sh
//出现xxx Steam ID之类的代表成功了
Ctrl+A+D
screen -R dst_caves
sh ./dst_caves.sh
Ctrl+A+D
至此
DST,启动!
寻找世界 等待所有房间加载出来或者输入自己的房间名搜索即可找到房间
加入,ENJOY UR GAME~
PS:没有小伙伴在服务器中的时候
可以在游戏中或者
服务器端screen里尚未退出的饥荒控制台中
输入c_shutdown( true / false )命令关闭服务器
true表示保存退出,false表示不保存退出
命令执行后控制台自动退出
还有很多其他有用的指令大家可以合理利用搜索引擎学习~
猫龙喵喵喵,游戏愉快~