存檔目錄路徑
d---Master
- modoverrides.lua
d---Caves
- modoverrides.lua
- cluster.ini
- adminlist.txt
- whitelist.txt
- blocklist.txt
- cluster_token.txt
- Master: 主世界數據及配置文件
1.1 Master/modoverrides.lua: 主世界插件配置腳本
- Caves: 洞穴數據及配置文件
2.1 Caves/modoverrides.lua: 洞穴插件配置腳本
- cluster.ini 存檔配置文件
- adminlist.txt: 服務器管理員id文件
- whitelist.txt: 服務器白名單id文件
- blocklist.txt: 服務器黑名單id文件
- cluster_token.txt: 存檔配置文件
cluster.ini文件配置
[GAMEPLAY]
game_mode = endless #游戲模式:endless:無盡, survival:生存,
max_players = 10 #最大玩家數量
pvp = false #是否允許玩家對戰
pause_when_empty = true #當服務器無玩家時時間暫停
[NETWORK]
lan_only_cluster = false
cluster_intention = social
cluster_password = *** #服務器密碼
cluster_description = *** #服務器介紹
cluster_name = *** #服務器名稱
offline_cluster = false
cluster_language = zh
whitelist_slots = 1 #服務器白名單數量(設置幾個就在whitelist.txt中添加幾個ID)
[MISC]
console_enabled = true
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = defaultPass
啟動腳本
#!/bin/bash
steamcmd_dir="$HOME/steamcmd" #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!" # TODO
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/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: /'