周末闲的蛋疼,搞个饥荒服务器和朋友耍耍。
环境:Ubuntu 22.04 server 64bit云服务器,root用户
一、安装依赖项
add-apt-repository multiverse
dpkg --add-architecture i386
apt update
apt install libstdc++6 libgcc1 libcurl4-gnutls-dev:i386 lib32z1
二、安装服务端
1. 安装,启动steamcmd
mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz #解压
./steamcmd.sh
等待更新,直到出现
steam>
2. 下载饥荒服务端
在
steam>
后输入命令
login anonymous
force_install_dir ../dontstarvetogether_dedicated_server
app_update 343050
Caution
app_update
不要加入validate
参数
耐心等待下载完成
太慢了太慢了真的太慢了 T^T
下载完成后输入quit
退出steamcmd
3. 创建饥荒存档目录
mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1
三、 生成存档
1. 打开steam
中的饥荒
2. 订阅mod(可选)
开加速器
在饥荒创意工坊选择mod并订阅
3. 创建世界
点击创建游戏
→创建新世界
→按照要求调整难度和规则→点击模组
,勾选所有需要的mod→点击生成世界
Tip
mod可能会有兼容性问题,如果一直开者无法生成世界,可以一一排查出有问题的mod删除
4. 进入选人界面后退回主界面
5. 点击创建游戏
→ 点击刚刚创建世界右侧的扳手图标→ 点击打开世界文件夹
四、获取token和配置
1. 进入Klei官网
https://accounts.klei.com/login
选择steam登录
2. 选择游戏
进入饥荒服务器界面
3. 新建服务器,进入配置界面
4. 填好信息后点击下载设置
下载完成后打开压缩包
五、上传存档
1. 替换配置文件
把压缩包中cluster.ini
,cluster_token.txt
,Cave
文件夹中的server.ini
,Master
文件夹中的server.ini
替换到步骤三中打开的存档文件夹
中的相同位置
2. 打开FileZilla
3. 远程sftp连接服务器
4. 把本地存档文件夹
中的文件上传到云服务器存档文件夹
中
拖拽进去!!
Note
如果添加了mod,需要把mod的代码添加进~/dontstarvetogether_dedicated_server/mods/dedicated_server_mods_setup.lua
mod代码可以从本地存档文件夹/Master/modoverrides.lua
中找到!!
六、创建启动脚本并运行
cd ~
vim jihuang.sh
按任意字母键
后输入:
#!/bin/bash
steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
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"
./steamcmd.sh +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
check_for_file "$install_dir/bin64"
cd "$install_dir/bin64" || fail
run_shared=(./dontstarve_dedicated_server_nullrenderer_x64)
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: /'
按esc
后输入:wq
保存脚本
给可执行权限
chmod u+x ~/jihuang.sh
最后,启动脚本
screen -S jihuang
~/jihuang.sh
成功运行后按ctrl+A+D
热键,放入后台运行
Important
在服务器防火墙或安全组里放行11000
,11001
,10889
端口的udp协议
不出意外的话,这服务器就可算搭建完成了!
❤️ 转载文章请注明出处,谢谢!❤️