@@ -51,20 +51,71 @@ fn_default_config_remote(){
51
51
for config in " ${array_configs[@]} "
52
52
do
53
53
# every config is copied
54
- echo " copying ${servercfg } config file."
54
+ echo " copying ${config } config file."
55
55
fn_script_log_info " copying ${servercfg} config file."
56
56
if [ " ${config} " == " ${servercfgdefault} " ]; then
57
57
cp -v " ${lgsmdir} /default-configs/${config} " " ${servercfgfullpath} "
58
- elif [ " ${config} " == " ${networkcfgdefault} " ]; then
59
- # ARMA 3
58
+ elif [ " ${gamename} " == " ARMA 3" ]&& [ " ${config} " == " ${networkcfgdefault} " ]; then
60
59
cp -v " ${lgsmdir} /default-configs/${config} " " ${networkcfgfullpath} "
60
+ elif [ " ${gamename} " == " Don't Starve Together" ]&& [ " ${config} " == " ${clustercfgdefault} " ]; then
61
+ cp -nv " ${lgsmdir} /default-configs/${clustercfgdefault} " " ${clustercfgfullpath} "
61
62
else
62
63
cp -v " ${lgsmdir} /default-configs/${config} " " ${servercfgdir} /${config} "
63
64
fi
64
65
done
65
66
sleep 1
66
67
}
67
68
69
+ # Changes some variables within the default Don't Starve Together configs
70
+ fn_set_dst_config_vars (){
71
+ # # cluster.ini
72
+ if grep -Fq " SERVERNAME" " ${clustercfgfullpath} " ; then
73
+ echo " changing server name."
74
+ fn_script_log_info " changing server name."
75
+ sed -i " s/SERVERNAME/LinuxGSM/g" " ${clustercfgfullpath} "
76
+ sleep 1
77
+ echo " changing shard mode."
78
+ fn_script_log_info " changing shard mode."
79
+ sed -i " s/USESHARDING/${sharding} /g" " ${clustercfgfullpath} "
80
+ sleep 1
81
+ echo " randomizing cluster key."
82
+ fn_script_log_info " randomizing cluster key."
83
+ randomkey=$( cat /dev/urandom | tr -dc ' a-zA-Z0-9' | fold -w 32 | head -n 1)
84
+ sed -i " s/CLUSTERKEY/${randomkey} /g" " ${clustercfgfullpath} "
85
+ sleep 1
86
+ else
87
+ echo " ${clustercfg} is already configured."
88
+ fn_script_log_info " ${clustercfg} is already configured."
89
+ fi
90
+
91
+ # # server.ini
92
+ # removing unnecessary options (dependent on sharding & shard type)
93
+ if [ " ${sharding} " == " false" ]; then
94
+ sed -i " s/ISMASTER//g" " ${servercfgfullpath} "
95
+ sed -i " /SHARDNAME/d" " ${servercfgfullpath} "
96
+ elif [ " ${master} " == " true" ]; then
97
+ sed -i " /SHARDNAME/d" " ${servercfgfullpath} "
98
+ fi
99
+
100
+ echo " changing shard name."
101
+ fn_script_log_info " changing shard name."
102
+ sed -i " s/SHARDNAME/${shard} /g" " ${servercfgfullpath} "
103
+ sleep 1
104
+ echo " changing master setting."
105
+ fn_script_log_info " changing master setting."
106
+ sed -i " s/ISMASTER/${master} /g" " ${servercfgfullpath} "
107
+ sleep 1
108
+
109
+ # # worldgenoverride.lua
110
+ if [ " ${cave} " == " true" ]; then
111
+ echo " defining ${shard} as cave in ${servercfgdir} /worldgenoverride.lua."
112
+ fn_script_log_info " defining ${shard} as cave in ${servercfgdir} /worldgenoverride.lua."
113
+ echo ' return { override_enabled = true, preset = "DST_CAVE", }' > " ${servercfgdir} /worldgenoverride.lua"
114
+ fi
115
+ sleep 1
116
+ echo " "
117
+ }
118
+
68
119
echo " "
69
120
echo " Downloading ${gamename} Config"
70
121
echo " ================================="
@@ -193,10 +244,11 @@ elif [ "${gamename}" == "Deathmatch Classic" ]; then
193
244
fn_set_config_vars
194
245
elif [ " ${gamename} " == " Don't Starve Together" ]; then
195
246
gamedirname=" DontStarveTogether"
196
- array_configs+=( Settings.ini )
247
+ fn_check_cfgdir
248
+ array_configs+=( cluster.ini server.ini )
197
249
fn_fetch_default_config
198
250
fn_default_config_remote
199
- fn_set_config_vars
251
+ fn_set_dst_config_vars
200
252
elif [ " ${gamename} " == " Double Action: Boogaloo" ]; then
201
253
gamedirname=" DoubleActionBoogaloo"
202
254
array_configs+=( server.cfg )
0 commit comments