一.做好准备
1.首先需要准备一台VPS
一个地图大概会占用2G左右的内存,在线的玩家每个人也就50M左右的内存,带宽官方提供的是每个玩家7KB/s就好
根据我目前搭建的情况来看,VPS的推荐配置如下:
CPU:2核以上
内存:2G以上
带宽:2M以上(3-5个小伙伴玩耍)
当然以上配置低一点也是能跑、但是不保证会不会掉线之类的。
本文后续也是使用阿里云进行配置。
2.准备远程工具
本文使用的远程访问工具是xshell 和 xftp,当然也可以选用putty之类的远程工具仅仅只是作
者觉得xshell和xftp比较好用。
3.准备一份地图
接下来获取token
首先访问klei的网站 https://accounts.klei.com/account/info
我游戏是steam的所以选steam
然后就能获取到token了
是一串无规则的字符串来的
然后配置你的服务器生成你的地图存档
点击下载
你能得到一个存档
二.开始搭建
1.链接服务器
到阿里云获取你的服务器的外网ip,图3红框内就是了。
接下来先开始连接上你的服务器
打开你的xshell新建一个连接,如图4。
2.环境配置
连上你的服务器,账号密码如果初始化的时候没设请去重设一个(账号一般是root 密码要设置)。
因为饥荒的服务端和steam都有一些依赖要安装
首先安装依赖包。
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install lib32gcc1 libcurl4-gnutls-dev:i386 lib32stdc++6 lib32z1 -y
这几条命令执行过后会安装了一堆东西
3.安装steam
先给steam创建一个文件夹
mkdir /steam //创建文件夹
cd /steam //进入文件夹
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz //下载steam
tar -xvzf steamcmd_linux.tar.gz //解压安装包
用 ls 命令可以看到该文件夹下多了一些文件
./steamcmd.sh //安装steam 前面的./也要带上哦~ 下图就是安装好了
4.获取启动脚本(官方提供)
cd ~
wget https://accounts.klei.com/assets/gamesetup/linux/run_dedicated_servers.sh
获取官方的脚本
但是这个脚本不能马上使用 因为steam 还有存档的位置有一点不同 这是为了更好管理服务器
在Xshell上打开Xftp 用于传输文件 如图九
我们可以把文件下载到windos编辑一下
#!/bin/bash
steamcmd_dir="/steam"
install_dir="/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
dontstarve_dir="/dontstarvetogether_dedicated_server/saves"
function fail()
{
echo Error: "$@" >&2
exit 1
}
function check_for_file()
{
if [ ! -e "$1" ]; then
fail "Missing file: $1"
fi
}
cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"
check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
./steamcmd.sh +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
check_for_file "$install_dir/bin"
cd "$install_dir/bin" || fail
run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
"${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" -shard Master | sed 's/^/Master: /'
5.上传存档
把我们准备好的存档r 上传到 /root/.klei/DoNotStarveTogethe这个目录下
6.Mod安装
在/dontstarvetogether_dedicated_server/mods文件夹下dedicated_server_mods_setup.lua
把该文件下载到windos用文本编辑
ServerModSetup("1207269058")填写这样的语句
在你本地游戏的mods文件夹里就有这些数字
这样服务器就会下载这些mod
接下来要让mod生效就需要修改一下存档
把本地modoverrides.lua上传到服务器的存档里覆盖就好了
7.启动服务
首先赋予一下启动脚本权限
cd ~
chmod u+x run_dedicated_servers.sh
~/run_dedicated_servers.sh
三.一些坑
1.sudo: add-apt-repository: command not found
ubuntu安装 software-properties-common 即可
sudo apt-get install software-properties-common