Ubuntu Server 搭建 饥荒服务器
前言
这几天被朋友拉进了饥荒的坑
作为一个有自己服务器的男人
当然要来折腾折腾了
我们这次的平台依旧是Ubuntu Server 20.04 LTS
介绍就到这里吧~ 开淦~
安装依赖环境
我们先来确认我们主机是什么架构的
1 | uname -a |
像我的主机显示的就是x86_64代表的是64位系统
如果大家的主机显示的是i386或i586则是32位
32位的大家就可以跳过这一步了
64位系统的大家就要为你们的Ubuntu加上下列依赖库
1 | sudo add-apt-repository multiverse |
加上之后我们就可以安装这些我们需要的依赖了
1 | sudo apt update |
安装 SteamCMD
大家要不会想到我们会在一个只有命令行的Liunx上安装Steam吧
老惯例,还是一条指令
我不太喜欢到处wget和tar这种模式
1 | sudo apt install steamcmd |
安装开始我们要Tab选择Ok
然后下一步我们选择I AGESS并且Tab选择OK
配置 SteamCMD
因为我们是直接安装的Steam,所以只需要
1 | steamcmd |
第一次打开会加载资源
当然,预期之内的报错了
那我们就先要退出SteamCMD,执行
1 | sudo apt install libsdl2-2.0-0:i386 |
然后我们再重新打开Steam
下载 饥荒
我们先要指定的下载路径【顺序不能乱】
但是在指定目录之前我们要创建一个对应的目录
1 | mkdir /home/ubuntu/dstserver |
创建完目录之后我们就可以进Steam下一步了
1 | steamcmd |
然后需要使用匿名模式登录Steam
可能要根据网络环境等待一会,多多尝试
1 | login anonymous |
匿名登录了之后,我们就开始下载 饥荒 吧
1 | app_update 343050 validate |
当显示Success! App '343050' fully installed.
饥荒就已经下载完了
如果大家在自己的文件夹找不到游戏
可以去下列地址找一找是否存在
1 | /home/ubuntu/.steam/steamapps/common/Don't Starve Together Dedicated Server/ |
更新 饥荒
当然,因为饥荒经常更新
一旦更新服务器就无法联机
所以我们的饥荒也要进行更新
直接输入下面这条指令
保证你5分钟恢复上线【看网速】
1 | steamcmd +force_install_dir /home/ubuntu/dstserver/ +login anonymous +app_update 343050 validate +quit |
更新完毕之后会出现Success!字样
查看 饥荒 安装情况
我们打开我们安装的文件夹,发现这样子,那就差不多了
然后我们就尝试运行一下吧
1 | cd /home/ubuntu/dstserver/bin/ |
如果大家看到Your Server Will Not Start
那就证明到这一步还没有什么问题
添加 饥荒 存档
想搞服务器的朋友基本上都玩过饥荒吧
那我们直接在自己电脑上导入存档就行
你们也可以新建一个导入哦~
1 | C:\Users\<User_Name>\Documents\Klei\DoNotStarveTogether\<Klei_ID>\<Map_Name> |
我直接打包成.zip格式上传再unzip解压
1 | mkdir /home/ubuntu/dstserver/map/ |
更换 服务器 Token
我们首先要去登录一下Klei的官网
1 | https://accounts.klei.com/account/info |
我们选择我们购买的对应平台
注册或登录进去之后
我们选择游戏 --> 游戏服务器
然后我们去创建一个新的服务器
然后把我们新创建服务器的Token记录下来
然后我们进入存档,新建Token文件
1 | cd /home/ubuntu/dstserver/map/JimLeon595/ |
做完这几步之后,我们cat文件
修改 Mod 资源
如果大家服务器中存在Mod
那我们原始的地图包里会包含一个文件modoverrides.lua
我们打开一看,发现是一堆类似Json的代码
其实也很简单,我们需要的就是"workshop-********"
那一串********的数字
一串数字代表的就是一个Mod的ID
之后我们可以直接用正则把数据提取出来
加上ServerModSetup("")就是我们需要的数据
然后我们就需要把这些数据加入到对应文件中
1 | cd /home/ubuntu/dstserver/mods/ |
1 | ServerModSetup("666155465") |
然后我们的Mod文件就算是导入成功了
创建 启动 脚本
我在网上借鉴了CDSN大佬說詤榢的大部分脚本
首先我们先在主目录创建.sh文件
1 | sudo touch /home/ubuntu/dstserver/DstServer.sh |
1 |
|
复写制完之后我们还要给他加个Buff
1 | sudo chmod 777 /home/ubuntu/dstserver/DstServer.sh |
添加 管理员 用户
我们在cluster_token同一目录下新建文件adminlist.txt
1 | touch adminlist.txt |
然后还是我们刚刚获取Token的官网主页
然后我们只需要把它加入到adminlist.txt中即可
1 | sudo vim adminlist.txt |
启动 服务器
因为要保持服务器24小时的运行
我们不能退出终端之后就停止服务
所以我们需要守护进程
你叫我用就会用
叫我解释也一脸蒙圈
我们现在来安装screen把
1 | sudo apt install screen |
然后我们创建一个独立的窗口
并在里面运行我们的启动脚本
1 | screen -S DstServer |
之后我们即使关闭了本次的终端
我们也可以很方便的使用screen调用出来
1 | screen -r DstServer |
还有我们退出终端的时候
请不要用Ctrl + C
这样会导致服务器停止运行
请使用Ctrl + D + A
这样会返回默认终端
进入我们自己的服务器
浏览游戏
搜索JimLeon595
点击加入
加入时可能会显示无法连接到Keli网络
请各位耐心重试多几遍
最后我们就发现我们可以游玩自己的服务器啦



