ubuntu系统配置饥荒联机版服务器全流程
前言
本来已经在国外的服务器上搭建了饥荒服务器,但是今天在朋友的推荐下买了京东云的年末促销58块一年的2c2g。既然如此就再配置一遍吧,刚好可以写一个全流程的博客。
参考教程:Steam饥荒联机版多人服务器搭建全解析 – 2-1 阿里云Linux系统构建云服务器 - 哔哩哔哩
首先你需要下载安装好steamcmd,然后用steamcmd来下载和更新DST服务器程序。
注意:你的服务器可能被防火墙限制了流量访问,请开放你的端口(饥荒服务器默认10888和10999)
DST存档
首先找到你的本地DST存档,如果你想要在服务器上添加mod,先在你的本地存档中加入相应的服务器mod,并且配置好mod的语言,数值等,以防之后改起来麻烦。然后根据我贴的b站教程配置好你的存档设定。
steamCMD配置
参考文档:SteamCMD - Valve Developer Community
创建steam用户,并且设置密码
1 | sudo useradd -m steam |
进入home文件夹
1 | sudo -u steam -s |
用包管理器下载的失败尝试
不知道为啥按照官方文档的教程没法下载成功,只能手动下载。
安装steamcmd
1 | sudo add-apt-repository multiverse |
输入sudo add-apt-repository multiverse的时候提示如下错误
1 | steam is not in the sudoers file. This incident will be reported. |
这时候需要将steam用户加入sudo组,首先回到root用户,然后输入
1 | sudo usermod -aG sudo steam |
然而显示
1 | E: Package 'steamcmd' has no installation candidate |
说明无法通过包管理器下载,只能手动下载了。
手动下载
安装依赖
1 | sudo apt-get install lib32gcc-s1 |
创建一个steamcmd文件夹然后进去
1 | mkdir ~/steamcmd |
下载并解压
1 | curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - |
DST服务器配置
在steamcmd文件夹输入
1 | ./steamcmd.sh +force_install_dir ~/dst +login anonymous +app_update 343050 validate +quit |
以上命令的意义为
进入steamcmd
强制指定下载文件夹
匿名登陆
下载DST服务器程序
退出steamcmd
我的建议是不要一口气全部输进去,一个一个指令来比较稳当。
尝试运行服务器程序:
1 | ./dontstarve_dedicated_server_nullrenderer |
报错了:
1 | error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory |
遇到这个错误,参考我的上一篇博客:
ubuntu系统配置饥荒联机版服务器踩坑经历 | Europa Superman ‘s blog
然后尝试安装i386版本的时候发现如下错误:
1 | E: Unable to locate package libcurl4-gnutls-dev:i386 |
解决方法:
1 | sudo dpkg --add-architecture i386 |
搞定。
编写启动脚本:
1 | cd ~/dst/bin/ |
首次运行:
1 | sh dst_overworld.sh |
上传存档文件和配置文件,具体参考我贴的b站教程
1 | 移动到需要存放世界配置文件的目标路径 |
完成。
配置mod
1 | cd ~/dst/mods |
在里面添加ServerModSetup(“创意工坊ID”)即可。
启动服务器
建议在steam用户下启动服务器
1 | cd ~/dst/bin |