系统:Ubuntu22.04
注:除安装依赖,建议都用普通用户运行,确保安全
参照wiki
安装steamcmd
安装依赖
如果是64位系统先安装32位依赖,否则跳过
root 用户运行
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 steamcmd
# lib32gcc1没有则安装下面这个
# apt-get install lib32gcc-s1
安装期间可以同时进行下一步
安装steamcmd
不要使用root运行
# 创建文件夹放steam
mkdir ~/steam
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xxzf steamcmd_linux.tar.gz -C ~/steam
运行steamcmd
cd ~/steam
./steamcmd.sh
等待安装好后将进入steamcmd命令行
安装饥荒联机版服务
安装饥荒本体
在前面运行的steamcmd.sh启动的命令行中运行
# force_install_dir dt # 指定安装目录,不必要
# login anonymous # 匿名登录,不需要实际账号,除非实际账号购买了饥荒联机版
login username # 根据用户名登录,匿名登录容易失败(购买正白饥荒联机版)
app_update 343050 validate # 安装游戏,耗时,可以同时进行下一步,默认安装到
# steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server
quit # 退出
安装期间可以同时进行下一步
安装依赖
sudo apt-get install lib32gcc-s1
sudo apt-get install lib32stdc++6
sudo apt-get install libgcc1
sudo apt-get install libcurl4-gnutls-dev:i386
运行饥荒
生成世界
运行游戏都需要一个token,所以去官网获取配置会再带token
- 可以从科雷官网 生成游戏配置,下载游戏世界和配置
- 自己本地创建游戏导出世界和配置
- 手动配置, 过于复杂
世界的名称建议取独一无二的,方便搜索2023-11-25 16:55:32 星期六
设置世界
将其解压(解压出来是一个文件夹)后放到~/.klei/DoNotStarveTogether/
目录下
到游戏安装目录运行一下命令,开始运行游戏
# Cluster_1是~/.klei/DoNotStarveTogether/下的相对目录
# 此位控制台试运行,之后通过其他工具运行
./dontstarve_dedicated_server_nullrenderer -cluster Cluster_1
根据存档中Master/server.ini
和Caves/server.ini
的[NETWORK]
开放防火墙或者安全组端口
编写脚本
编写脚本请使用chmod 755 name.sh
赋权
bat.sh
启动脚本
path="" # 饥荒程序安装目录的bin目录路径
cd $path
./dontstarve_dedicated_server_nullrenderer -cluster Cluster_1
不需要回到控制台
不需要回到控制台操作的话,直接使用
nohup bat.sh > nohup.out 2>&1 & # 修改bat.sh为bat.sh的路径
需要回到控制台
下面的脚本放到bat.sh同目录
start.sh
开始脚本
cd $(dirname "$0")
if screen -list | grep -q "dst"; then
echo "DontStarveTogether 已经启动了"
else
# 使用 `screen` 启动一个新会话,并在其中运行程序
screen -dmS dst ./bat.sh
echo "开始启动DontStarveTogether."
fi
reattach.sh
重回控制台脚本
cd $(dirname "$0")
path="" # 程序bin目录路径
if screen -list | grep -q "dst"; then
cd $path
screen -r dst ./bat.sh
else
echo "没有找到DontStarveTogether"
fi
重回控制台后可以使用Ctrl + A + D
退出并后台继续运行。
附录
配置文件
[MISC]
max_snapshots = 6 # 最大快照数,决定了可回滚的天数
console_enabled = true # 是否开启控制台
[SHARD]
shard_enabled = true # 服务器共享,要开启洞穴服务器的必须启用
bind_ip = 127.0.0.1 # 服务器监听的地址,当所有实例都运行在同一台机器时,可填写 127.0.0.1,会被 server .ini 覆盖
master_ip = 127.0.0.1 # master 服务器的 IP,针对非 master 服务器,若与 master 服务器运行在同一台机器时,可填写 127.0.0.1,会被 server.ini 覆盖
master_port = 10888 # 监听 master 服务器的 UDP 端口,所有连接至 master 服务器的非 master 服务器必须相同
cluster_key = dst # 连接密码,每台服务器必须相同,会被 server.ini 覆盖
[STEAM]
steam_group_only = false # 只允许某 Steam 组的成员加入
steam_group_id = 0 # 指定某个 Steam 组,填写组 ID
steam_group_admins = false # 开启后,Steam 组的管理员拥有服务器的管理权限
[NETWORK]
offline_server = false # 离线服务器,只有局域网用户能加入,并且所有依赖于 Steam 的任何功能都无效,比如说饰品掉落
tick_rate = 15 # 每秒通信次数,越高游戏体验越好,但是会加大服务器负担
whitelist_slots = 0 # 为白名单用户保留的游戏位
cluster_password = # 游戏密码,不设置表示无密码
cluster_name = ttionya test # 游戏房间名称
cluster_description = description # 游戏房间描述
lan_only_cluster = false # 局域网游戏
cluster_intention = madness # 游戏偏好,可选 cooperative, competitive, social, or madness
[GAMEPLAY]
max_players = 16 # 最大游戏人数
pvp = true # 能不能攻击其他玩家
game_mode = survival # 游戏模式,可选 survival, endless or wilderness,与玩家死亡后的负面影响有关
pause_when_empty = false # 没人服务器暂停,刷天数必备
vote_kick_enabled = false # 投票踢人
控制台命令
作者:dbin 创建时间:2023-12-15 20:43
最后编辑:dbin 更新时间:2024-03-17 18:37
最后编辑:dbin 更新时间:2024-03-17 18:37