下载steamcmd
#更新yum源 新机器可能花费较长时间 yum update -y #下载相关依赖及工具 yum install -y wget libxcb glibc.i686 libcurl.i686 #创建steam文件夹 mkdir /opt/steam cd /opt/steam #下载解压steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -zxvf steamcmd_linux.tar.gz
解压后效果(game是后面创建的存放游戏的)
下载饥荒服务器
force_install_dir /opt/steam/game/dst是下载路径可以自定义路径
login anonymous 以匿名方式登录
app_update 343050 validate 下载/更新饥荒服务器
#在解压后的路径下执行下面命令下载饥荒服务器 ./steamcmd.sh +force_install_dir /opt/steam/game/dst +login anonymous +app_update 343050 validate +quit
可以查看饥荒目录
链接libcurl-gnutls.so.4库,不然可能会报错
ln -s /usr/lib/libcurl.so.4 /opt/steam/game/dst/bin/lib32/libcurl-gnutls.so.4
配置服务器相关配置及模组
打开饥荒游戏非饥荒服务器,打开账号
点击游戏后,点击游戏服务器
为自己的服务器起一个名字之后点击添加
可以直接复制token使用,可以点击配置服务器
这里我们选择配置服务器,然后简单设置一下服务器,然后下载设置
下载后是一个压缩文件,这里面是一些饥荒服务器配置文件,一会可以做一些修改,我们先解压之后上传到服务器
我们就在刚刚安装的饥荒服务器的位置新建一个文件夹用来存档,然后把刚刚上传的文件拷贝到新建的文件夹
mkdir /opt/steam/game/dst/DoNotStarveTogether cd /opt/steam/game/dst/DoNotStarveTogether
先来查看服务器配置文件cluster.ini
按照需求更改配置文件,我配置下面的
[GAMEPLAY] game_mode = survival # 游戏模式,可选 survival, endless, wilderness max_players = 12 # 最大游戏人数,1-64人 大于64也是64 pvp = flase # 是否可以对战,这里选择否 pause_when_empty = true # 没有人服务器自动暂停 [NETWORK] cluster_description = dst_test # 游戏房间描述 cluster_name = my_dst_server # 游戏房间名称 cluster_password = 123456 # 游戏密码,不设置就是没有密码 tick_rate = 60 # 每秒通信次数,越高游戏体验越好,但是会加大服务器负担 # 感觉网络不好的可以设置大一点 [MISC] console_enabled = true # 是否开启控制台 max_snapshots = 30 # 最大快照数,决定了可回滚的天数,看自己的需求 [SHARD] shard_enabled = true # 开启洞穴的话必须填true bind_ip = 127.0.0.1 # 服务器监听的地址, master_ip = 127.0.0.1 # 主世界服务器的 IP master_port = 10889 # 监听 master 服务器的 UDP 端口 cluster_key = supersecretkey # 游戏通讯密码,每台服务器必须相同
cluster_token.txt就是之前的token
其他的默认就可以了
饥荒的启动命令是dontstarve_dedicated_server_nullrenderer
这里我们写一个启动脚本
#! /bin/bash steamcmd_dir="/opt/steam/" install_dir="/opt/steam/game/dst" cluster_name="MyDediServer" # 这个是存档目录的名称,就是/opt/steam/game/dst/DoNotStarveTogether下面的存档目录名称,可更改为不同存档名称,开启不同存档服务 dontstarve_dir="/opt/steam/game/dst/DoNotStarveTogether" 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" #启动游戏前检查下是否有更新,可能有点费时不想要可以直接注释 ./steamcmd.sh +force_install_dir /opt/steam/game/dst +login anonymous +app_update 343050 validate +quit 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" check_for_file "$install_dir/bin" cd "$install_dir/bin" || fail run_shared=(./dontstarve_dedicated_server_nullrenderer) run_shared+=(-console) run_shared+=(--persistent_storage_root /opt/steam/game/dst) run_shared+=(--conf_dir DoNotStarveTogether) run_shared+=(-cluster "$cluster_name") run_shared+=(-monitor_parent_process $$) "${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' & "${run_shared[@]}" -shard Master | sed 's/^/Master: /'
用vim创建一个启动脚本,把上面的脚本放进去然后chmod 755 给个权限
vim start_dst.sh chmod 755 start_dst.sh
./start_dst.sh 启动饥荒服务器
出现上面的界面即启动成功,在饥荒里面搜索我们的服务器my_dst_server
这里启动的是纯净档没有模组的,需要添加模组继续往下看
我们先本地开启一个饥荒,然后创建游戏,然后这时候可以自己设置世界,设置mod
创建成功之后不需要进去,点击数据可以看到我们刚刚创建的存档
点开进入我们刚刚新建的档
随便进入一个文件夹把modoverrides.lua文件上传到服务器上面
第一步上传到我们存档的Caves和Master文件夹里面这样地上地下都有mod了
第二步我们需要订阅上面的模组
先打开上面的文件查看workshop的部分
编辑/opt/steam/game/dst/mods下的dedicated_server_mods_setup.lua文件按照下面的格式添加我们的mod
cat >> dedicated_server_mods_setup.lua << EOF ServerModSetup("1216718131") ServerModSetup("2078243581") ServerModSetup("2287303119") EOF
这时候我们重新启动饥荒服务器可以看见已经有模组了
纯净档 好多毛的世界 欢迎来玩