下载steamcmd
#更新yum源 新机器可能花费较长时间yum update -y#下载相关依赖及工具yum install -y wget libxcb glibc.i686 libcurl.i686#创建steam文件夹mkdir /opt/steamcd /opt/steam#下载解压steamcmdwget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gztar -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/DoNotStarveTogethercd /opt/steam/game/dst/DoNotStarveTogether
先来查看服务器配置文件cluster.ini
按照需求更改配置文件,我配置下面的
[GAMEPLAY]game_mode = survival # 游戏模式,可选 survival, endless, wildernessmax_players = 12 # 最大游戏人数,1-64人 大于64也是64pvp = 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 # 开启洞穴的话必须填truebind_ip = 127.0.0.1 # 服务器监听的地址,master_ip = 127.0.0.1 # 主世界服务器的 IPmaster_port = 10889 # 监听 master 服务器的 UDP 端口cluster_key = supersecretkey # 游戏通讯密码,每台服务器必须相同
cluster_token.txt就是之前的token
其他的默认就可以了
饥荒的启动命令是dontstarve_dedicated_server_nullrenderer
这里我们写一个启动脚本
#! /bin/bashsteamcmd_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 +quitcheck_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.shchmod 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 << EOFServerModSetup("1216718131")ServerModSetup("2078243581")ServerModSetup("2287303119")EOF
这时候我们重新启动饥荒服务器可以看见已经有模组了
纯净档 好多毛的世界 欢迎来玩