大家好,又见面了,我是你们的朋友全栈君。
软件前提
每次饥荒更新服务器都会找不到的,请及时更新
买阿里云或者腾讯云服务器 1核2G 1M 差不多2-3 人,不是很卡,人数变多的话,就会很卡的,100 块 看自己个人需求 一般的话 2核 4G , 8人左右,差不多 400块
系统 ubuntu20,如果选错了系统,可以点击重装系统的,在控制台都有按钮的
1. 安装编译环境
ubuntu
代码语言:javascript复制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
centos 7
代码语言:javascript复制yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum install glibc.i686 libstdc .i686 libcurl.i686 screen -y
centos 8
代码语言:javascript复制yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install glibc.i686 libstdc .i686 libcurl.i686 screen -y
2. 下载 steamCMD,安装
代码语言:javascript复制mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
如果steam 包下载不下来
代码语言:javascript复制sudo apt install steamcmd -y
按住tab 键选择ok 选择I agree 统一安装 然后运行steam
运行
安装包运行
代码语言:javascript复制./steamcmd.sh
如果是直接安装steam,运行一下命令
代码语言:javascript复制steam
3. 在steam 状态下 匿名登录,安装饥荒服务器
代码语言:javascript复制login anonymous
force_install_dir ../dontstarvetogether_dedicated_server
app_update 343050 validate
quit
这个是下载 饥荒的服务器,需要一定的时间
343050 是饥荒在steam 中的 id
如果这里提示”Failed to init SDL priority manager: SDL not found”之类的,执行
代码语言:javascript复制sudo apt install libsdl2-2.0-0:i386
后再重复以上操作
3.1 查看是否安装成功
这里每个人的安装地方都不同,如果是用我的代码,那就应该是这个地方。可以用sftp 查看一下自己饥荒具体安装的位置
代码语言:javascript复制cd ~/dontstarvetogether_dedicated_server/bin/
./dontstarve_dedicated_server_nullrenderer
出现这样子的情况,饥荒就安装成功了
ctrl c 可以退出
可能需要解决的
解决 lib 缺失(如果有lib依赖缺失的问题请一定要运行这一步,添加软关系,其实云端是有这个依赖的
代码语言:javascript复制cd ~/dontstarvetogether_dedicated_server/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4
4. 创建本地存档
直接退出
5. 创建服务器地图存档
代码语言:javascript复制mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1
打开xftp 的 隐藏图标
用xftp 上传 本地的 地图资源
上传完效果
6. 创建 服务器token,更换地图资源中的token
代码语言:javascript复制https://accounts.klei.com/account/info
这里是我的token,一定要用自己的token
代码语言:javascript复制pds-g^KU_SpqLc8Hm^Y5FP OXvmjd 5WQ0L8A1pFAtALYf1ecPQIzVG2gYR2c=
6.1 更换地图资源的cluster_token.txt
7. 添加mod 信息
7.1 查看本地mod 的id
7.2 修改服务器mod
代码语言:javascript复制ServerModSetup("1207269058")
ServerModSetup("1216718131")
ServerModSetup("1392778117")
ServerModSetup("1508510758")
ServerModSetup("1530801499")
ServerModSetup("1595631294")
ServerModSetup("1699194522")
ServerModSetup("1751811434")
ServerModSetup("1818688368")
ServerModSetup("1894295075")
ServerModSetup("1909182187")
ServerModSetup("1951468597")
ServerModSetup("1991746508")
ServerModSetup("2078243581")
ServerModSetup("2289662010")
ServerModSetup("347079953")
ServerModSetup("2152123483")
ServerModSetup("2208128427")
ServerModSetup("2172284661")
ServerModSetup("362175979")
ServerModSetup("447092740")
ServerModSetup("374550642")
ServerModSetup("537902048")
ServerModSetup("375850593")
ServerModSetup("378160973")
ServerModSetup("501385076")
ServerModSetup("666155465")
ServerModSetup("810443397")
ServerModSetup("623749604")
ServerModSetup("727171538")
ServerModSetup("519266302")
ServerModSetup("666155465")
ServerModSetup("875994715")
ServerModSetup("537902048")
ServerModSetup("623749604")
378160973 (Global Positions) 全球定位 1207269058 ( Simple Health Bar DST)简易血条 666155465 (Show Me (Origin)) 展示信息 737932010 (Damage Indicators) 伤害面板 1751811434 (Fast Work) 快速工作
8. 创建命令,运行服务器
代码语言:javascript复制cd ~
touch start.sh
8.1 编译
steamcmd_dir 表示的是steam 安装的位置 install_dir 表示的 饥荒服务器安装的位置 cluster_name 表示的是 地图的名字 donstarve_dir 表示的是 地图的位置
代码语言:javascript复制#!/bin/bash
steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="Cluster_1"
dontstarve_dir="$HOME/.klei/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"
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 =(-cluster "$cluster_name")
run_shared =(-monitor_parent_process $$)
run_shared =(-shard)
"${run_shared[@]}" Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" Master | sed 's/^/Master: /'
8.2 修改权限
代码语言:javascript复制chmod u x ~/start.sh
8.3 启动服务器
代码语言:javascript复制screen -S DST
./start.sh
8.4 配置令牌和服务器管理员
先新建 adminlist.txt 文件,再将此前获取到的 UserID 复制到文件中。
代码语言:javascript复制touch adminlist.txt
内容如下
代码语言:javascript复制KU_SpqLc8Hm
KU_SpqLc83m
KU_3pqLc9Hm
一个管理员一行,两个管理员两行
运行效果如下
9. 可能出现的问题
代码语言:javascript复制bash: ./start.sh: /bin/bash^M: bad interpreter: No such file or directory
原因是 文件的格式是dos,修改为unix 就OK了
查看文件格式 用vim 打开出错的文件 按 ESC键 再按shift 冒号 输入 set ff 回车 可以看见 该文件的格式 fileformat=dos 按shift 冒号 输入 set ff=unix 回车 发现没反应,那就对了。 可以按 shift 冒号 set ff 查看 fileformat=unix
10. 升级
饥荒更新,重新下载
代码语言:javascript复制~/steamcmd/steamcmd.sh login anonymous force_install_dir ~/dontstarvetogether_dedicated_server/ app_update 343050 validate quit
mod 更新 回到后台
代码语言:javascript复制screen -r DST
ctrl C
代码语言:javascript复制./start.sh
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137366.html原文链接:https://javaforall.cn