install_config.sh 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. #!/bin/bash
  2. # LinuxGSM install_config.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Creates default server configs.
  6. functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  7. # Checks if server cfg dir exists, creates it if it doesn't.
  8. fn_check_cfgdir(){
  9. if [ ! -d "${servercfgdir}" ]; then
  10. echo -e "creating ${servercfgdir} config directory."
  11. fn_script_log_info "creating ${servercfgdir} config directory."
  12. mkdir -pv "${servercfgdir}"
  13. fi
  14. }
  15. # Downloads default configs from Game-Server-Configs repo to lgsm/config-default.
  16. fn_fetch_default_config(){
  17. echo -e ""
  18. echo -e "${lightyellow}Downloading ${gamename} Configs${default}"
  19. echo -e "================================="
  20. echo -e "default configs from https://github.com/GameServerManagers/Game-Server-Configs"
  21. fn_sleep_time
  22. mkdir -p "${lgsmdir}/config-default/config-game"
  23. githuburl="https://raw.githubusercontent.com/GameServerManagers/Game-Server-Configs/master"
  24. for config in "${array_configs[@]}"; do
  25. fn_fetch_file "${githuburl}/${gamedirname}/${config}" "${lgsmdir}/config-default/config-game" "${config}" "nochmodx" "norun" "forcedl" "nomd5"
  26. done
  27. }
  28. # Copys default configs from Game-Server-Configs repo to server config location.
  29. fn_default_config_remote(){
  30. for config in "${array_configs[@]}"; do
  31. # every config is copied
  32. echo -e "copying ${config} config file."
  33. fn_script_log_info "copying ${servercfg} config file."
  34. if [ "${config}" == "${servercfgdefault}" ]; then
  35. mkdir -p "${servercfgdir}"
  36. cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgfullpath}"
  37. elif [ "${shortname}" == "arma3" ]&&[ "${config}" == "${networkcfgdefault}" ]; then
  38. mkdir -p "${servercfgdir}"
  39. cp -nv "${lgsmdir}/config-default/config-game/${config}" "${networkcfgfullpath}"
  40. elif [ "${shortname}" == "dst" ]&&[ "${config}" == "${clustercfgdefault}" ]; then
  41. cp -nv "${lgsmdir}/config-default/config-game/${clustercfgdefault}" "${clustercfgfullpath}"
  42. else
  43. mkdir -p "${servercfgdir}"
  44. cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgdir}/${config}"
  45. fi
  46. done
  47. fn_sleep_time
  48. }
  49. # Copys local default config to server config location.
  50. fn_default_config_local(){
  51. echo -e "copying ${servercfgdefault} config file."
  52. cp -nv "${servercfgdir}/${servercfgdefault}" "${servercfgfullpath}"
  53. fn_sleep_time
  54. }
  55. # Changes some variables within the default configs.
  56. # SERVERNAME to LinuxGSM
  57. # PASSWORD to random password
  58. fn_set_config_vars(){
  59. if [ -f "${servercfgfullpath}" ]; then
  60. random=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs)
  61. servername="LinuxGSM"
  62. rconpass="admin${random}"
  63. echo -e "changing hostname."
  64. fn_script_log_info "changing hostname."
  65. fn_sleep_time
  66. # prevents var from being overwritten with the servername.
  67. if grep -q "SERVERNAME=SERVERNAME" "${lgsmdir}/config-default/config-game/${config}" 2>/dev/null; then
  68. sed -i "s/SERVERNAME=SERVERNAME/SERVERNAME=${servername}/g" "${servercfgfullpath}"
  69. elif grep -q "SERVERNAME=\"SERVERNAME\"" "${lgsmdir}/config-default/config-game/${config}" 2>/dev/null; then
  70. sed -i "s/SERVERNAME=\"SERVERNAME\"/SERVERNAME=\"${servername}\"/g" "${servercfgfullpath}"
  71. else
  72. sed -i "s/SERVERNAME/${servername}/g" "${servercfgfullpath}"
  73. fi
  74. echo -e "changing rcon/admin password."
  75. fn_script_log_info "changing rcon/admin password."
  76. if [ "${shortname}" == "squad" ]; then
  77. sed -i "s/ADMINPASSWORD/${rconpass}/g" "${servercfgdir}/Rcon.cfg"
  78. else
  79. sed -i "s/ADMINPASSWORD/${rconpass}/g" "${servercfgfullpath}"
  80. fi
  81. fn_sleep_time
  82. else
  83. fn_script_log_warn "Config file not found, cannot alter it."
  84. echo -e "Config file not found, cannot alter it."
  85. fn_sleep_time
  86. fi
  87. }
  88. # Changes some variables within the default Don't Starve Together configs.
  89. fn_set_dst_config_vars(){
  90. ## cluster.ini
  91. if grep -Fq "SERVERNAME" "${clustercfgfullpath}"; then
  92. echo -e "changing server name."
  93. fn_script_log_info "changing server name."
  94. sed -i "s/SERVERNAME/LinuxGSM/g" "${clustercfgfullpath}"
  95. fn_sleep_time
  96. echo -e "changing shard mode."
  97. fn_script_log_info "changing shard mode."
  98. sed -i "s/USESHARDING/${sharding}/g" "${clustercfgfullpath}"
  99. fn_sleep_time
  100. echo -e "randomizing cluster key."
  101. fn_script_log_info "randomizing cluster key."
  102. randomkey=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs)
  103. sed -i "s/CLUSTERKEY/${randomkey}/g" "${clustercfgfullpath}"
  104. fn_sleep_time
  105. else
  106. echo -e "${clustercfg} is already configured."
  107. fn_script_log_info "${clustercfg} is already configured."
  108. fi
  109. ## server.ini
  110. # removing unnecessary options (dependent on sharding & shard type).
  111. if [ "${sharding}" == "false" ]; then
  112. sed -i "s/ISMASTER//g" "${servercfgfullpath}"
  113. sed -i "/SHARDNAME/d" "${servercfgfullpath}"
  114. elif [ "${master}" == "true" ]; then
  115. sed -i "/SHARDNAME/d" "${servercfgfullpath}"
  116. fi
  117. echo -e "changing shard name."
  118. fn_script_log_info "changing shard name."
  119. sed -i "s/SHARDNAME/${shard}/g" "${servercfgfullpath}"
  120. fn_sleep_time
  121. echo -e "changing master setting."
  122. fn_script_log_info "changing master setting."
  123. sed -i "s/ISMASTER/${master}/g" "${servercfgfullpath}"
  124. fn_sleep_time
  125. ## worldgenoverride.lua
  126. if [ "${cave}" == "true" ]; then
  127. echo -e "defining ${shard} as cave in ${servercfgdir}/worldgenoverride.lua."
  128. fn_script_log_info "defining ${shard} as cave in ${servercfgdir}/worldgenoverride.lua."
  129. echo 'return { override_enabled = true, preset = "DST_CAVE", }' > "${servercfgdir}/worldgenoverride.lua"
  130. fi
  131. fn_sleep_time
  132. echo -e ""
  133. }
  134. if [ "${shortname}" == "sdtd" ]; then
  135. gamedirname="7DaysToDie"
  136. fn_default_config_local
  137. elif [ "${shortname}" == "ac" ]; then
  138. gamedirname="AssettoCorsa"
  139. array_configs+=( server_cfg.ini )
  140. fn_fetch_default_config
  141. fn_default_config_remote
  142. fn_set_config_vars
  143. elif [ "${shortname}" == "ahl" ]; then
  144. gamedirname="ActionHalfLife"
  145. array_configs+=( server.cfg )
  146. fn_fetch_default_config
  147. fn_default_config_remote
  148. fn_set_config_vars
  149. elif [ "${shortname}" == "ahl2" ]; then
  150. gamedirname="ActionSource"
  151. array_configs+=( server.cfg )
  152. fn_fetch_default_config
  153. fn_default_config_remote
  154. fn_set_config_vars
  155. elif [ "${shortname}" == "ark" ]; then
  156. gamedirname="ARKSurvivalEvolved"
  157. fn_check_cfgdir
  158. array_configs+=( GameUserSettings.ini )
  159. fn_fetch_default_config
  160. fn_default_config_remote
  161. fn_set_config_vars
  162. elif [ "${shortname}" == "arma3" ]; then
  163. gamedirname="Arma3"
  164. fn_check_cfgdir
  165. array_configs+=( server.cfg network.cfg )
  166. fn_fetch_default_config
  167. fn_default_config_remote
  168. fn_set_config_vars
  169. elif [ "${shortname}" == "bo" ]; then
  170. gamedirname="BallisticOverkill"
  171. array_configs+=( config.txt )
  172. fn_fetch_default_config
  173. fn_default_config_remote
  174. fn_set_config_vars
  175. elif [ "${shortname}" == "bo" ]; then
  176. gamedirname="BaseDefense"
  177. array_configs+=( server.cfg )
  178. fn_fetch_default_config
  179. fn_default_config_remote
  180. fn_set_config_vars
  181. elif [ "${shortname}" == "bt" ]; then
  182. gamedirname="Barotrauma"
  183. fn_check_cfgdir
  184. array_configs+=( serversettings.xml )
  185. fn_fetch_default_config
  186. fn_default_config_remote
  187. fn_set_config_vars
  188. elif [ "${shortname}" == "bt1944" ]; then
  189. gamedirname="Battalion1944"
  190. fn_check_cfgdir
  191. array_configs+=( DefaultGame.ini )
  192. fn_fetch_default_config
  193. fn_default_config_remote
  194. fn_set_config_vars
  195. elif [ "${shortname}" == "bf1942" ]; then
  196. gamedirname="Battlefield1942"
  197. array_configs+=( serversettings.con )
  198. fn_fetch_default_config
  199. fn_default_config_remote
  200. fn_set_config_vars
  201. elif [ "${shortname}" == "bs" ]; then
  202. gamedirname="BladeSymphony"
  203. array_configs+=( server.cfg )
  204. fn_fetch_default_config
  205. fn_default_config_remote
  206. fn_set_config_vars
  207. elif [ "${shortname}" == "bb" ]; then
  208. gamedirname="BrainBread"
  209. array_configs+=( server.cfg )
  210. fn_fetch_default_config
  211. fn_default_config_remote
  212. fn_set_config_vars
  213. elif [ "${shortname}" == "bb2" ]; then
  214. gamedirname="BrainBread2"
  215. array_configs+=( server.cfg )
  216. fn_fetch_default_config
  217. fn_default_config_remote
  218. fn_set_config_vars
  219. elif [ "${shortname}" == "bmdm" ]; then
  220. gamedirname="BlackMesa"
  221. array_configs+=( server.cfg )
  222. fn_fetch_default_config
  223. fn_default_config_remote
  224. fn_set_config_vars
  225. elif [ "${shortname}" == "cod" ]; then
  226. gamedirname="CallOfDuty"
  227. array_configs+=( server.cfg )
  228. fn_fetch_default_config
  229. fn_default_config_remote
  230. fn_set_config_vars
  231. elif [ "${shortname}" == "coduo" ]; then
  232. gamedirname="CallOfDutyUnitedOffensive"
  233. array_configs+=( server.cfg )
  234. fn_fetch_default_config
  235. fn_default_config_remote
  236. fn_set_config_vars
  237. elif [ "${shortname}" == "cod2" ]; then
  238. gamedirname="CallOfDuty2"
  239. array_configs+=( server.cfg )
  240. fn_fetch_default_config
  241. fn_default_config_remote
  242. fn_set_config_vars
  243. elif [ "${shortname}" == "cod4" ]; then
  244. gamedirname="CallOfDuty4"
  245. array_configs+=( server.cfg )
  246. fn_fetch_default_config
  247. fn_default_config_remote
  248. fn_set_config_vars
  249. elif [ "${shortname}" == "codwaw" ]; then
  250. gamedirname="CallOfDutyWorldAtWar"
  251. array_configs+=( server.cfg )
  252. fn_fetch_default_config
  253. fn_default_config_remote
  254. fn_set_config_vars
  255. elif [ "${shortname}" == "cc" ]; then
  256. gamedirname="CodenameCURE"
  257. array_configs+=( server.cfg )
  258. fn_fetch_default_config
  259. fn_default_config_remote
  260. fn_set_config_vars
  261. elif [ "${shortname}" == "cs" ]; then
  262. gamedirname="CounterStrike"
  263. array_configs+=( server.cfg )
  264. fn_fetch_default_config
  265. fn_default_config_remote
  266. fn_set_config_vars
  267. elif [ "${shortname}" == "cscz" ]; then
  268. gamedirname="CounterStrikeConditionZero"
  269. array_configs+=( server.cfg )
  270. fn_fetch_default_config
  271. fn_default_config_remote
  272. fn_set_config_vars
  273. elif [ "${shortname}" == "csgo" ]; then
  274. gamedirname="CounterStrikeGlobalOffensive"
  275. array_configs+=( server.cfg )
  276. fn_fetch_default_config
  277. fn_default_config_remote
  278. fn_set_config_vars
  279. elif [ "${shortname}" == "css" ]; then
  280. gamedirname="CounterStrikeSource"
  281. array_configs+=( server.cfg )
  282. fn_fetch_default_config
  283. fn_default_config_remote
  284. fn_set_config_vars
  285. elif [ "${shortname}" == "dod" ]; then
  286. gamedirname="DayOfDefeat"
  287. array_configs+=( server.cfg )
  288. fn_fetch_default_config
  289. fn_default_config_remote
  290. fn_set_config_vars
  291. elif [ "${shortname}" == "dods" ]; then
  292. gamedirname="DayOfDefeatSource"
  293. array_configs+=( server.cfg )
  294. fn_fetch_default_config
  295. fn_default_config_remote
  296. fn_set_config_vars
  297. elif [ "${shortname}" == "doi" ]; then
  298. gamedirname="DayOfInfamy"
  299. array_configs+=( server.cfg )
  300. fn_fetch_default_config
  301. fn_default_config_remote
  302. fn_set_config_vars
  303. elif [ "${shortname}" == "dmc" ]; then
  304. gamedirname="DeathmatchClassic"
  305. array_configs+=( server.cfg )
  306. fn_fetch_default_config
  307. fn_default_config_remote
  308. fn_set_config_vars
  309. elif [ "${shortname}" == "dst" ]; then
  310. gamedirname="DontStarveTogether"
  311. fn_check_cfgdir
  312. array_configs+=( cluster.ini server.ini )
  313. fn_fetch_default_config
  314. fn_default_config_remote
  315. fn_set_dst_config_vars
  316. elif [ "${shortname}" == "dab" ]; then
  317. gamedirname="DoubleActionBoogaloo"
  318. array_configs+=( server.cfg )
  319. fn_fetch_default_config
  320. fn_default_config_remote
  321. fn_set_config_vars
  322. elif [ "${shortname}" == "dys" ]; then
  323. gamedirname="Dystopia"
  324. array_configs+=( server.cfg )
  325. fn_fetch_default_config
  326. fn_default_config_remote
  327. fn_set_config_vars
  328. elif [ "${shortname}" == "eco" ]; then
  329. gamedirname="Eco"
  330. array_configs+=( Network.eco )
  331. fn_fetch_default_config
  332. fn_default_config_remote
  333. fn_set_config_vars
  334. elif [ "${shortname}" == "etl" ]; then
  335. gamedirname="ETLegacy"
  336. array_configs+=( server.cfg )
  337. fn_fetch_default_config
  338. fn_default_config_remote
  339. fn_set_config_vars
  340. elif [ "${shortname}" == "fctr" ]; then
  341. gamedirname="Factorio"
  342. array_configs+=( server-settings.json )
  343. fn_fetch_default_config
  344. fn_default_config_remote
  345. fn_set_config_vars
  346. elif [ "${shortname}" == "fof" ]; then
  347. gamedirname="FistfulofFrags"
  348. array_configs+=( server.cfg )
  349. fn_fetch_default_config
  350. fn_default_config_remote
  351. fn_set_config_vars
  352. elif [ "${shortname}" == "gmod" ]; then
  353. gamedirname="GarrysMod"
  354. array_configs+=( server.cfg )
  355. fn_fetch_default_config
  356. fn_default_config_remote
  357. fn_set_config_vars
  358. elif [ "${shortname}" == "ges" ]; then
  359. gamedirname="GoldenEyeSource"
  360. array_configs+=( server.cfg )
  361. fn_fetch_default_config
  362. fn_default_config_remote
  363. fn_set_config_vars
  364. elif [ "${shortname}" == "hldm" ]; then
  365. gamedirname="HalfLifeDeathmatch"
  366. array_configs+=( server.cfg )
  367. fn_fetch_default_config
  368. fn_default_config_remote
  369. fn_set_config_vars
  370. elif [ "${shortname}" == "hldms" ]; then
  371. gamedirname="HalfLifeDeathmatchSource"
  372. array_configs+=( server.cfg )
  373. fn_fetch_default_config
  374. fn_default_config_remote
  375. fn_set_config_vars
  376. elif [ "${shortname}" == "opfor" ]; then
  377. gamedirname="OpposingForce"
  378. array_configs+=( server.cfg )
  379. fn_fetch_default_config
  380. fn_default_config_remote
  381. fn_set_config_vars
  382. elif [ "${shortname}" == "hl2dm" ]; then
  383. gamedirname="HalfLife2Deathmatch"
  384. array_configs+=( server.cfg )
  385. fn_fetch_default_config
  386. fn_default_config_remote
  387. fn_set_config_vars
  388. elif [ "${shortname}" == "ins" ]; then
  389. gamedirname="Insurgency"
  390. array_configs+=( server.cfg )
  391. fn_fetch_default_config
  392. fn_default_config_remote
  393. fn_set_config_vars
  394. elif [ "${shortname}" == "ios" ]; then
  395. gamedirname="IOSoccer"
  396. array_configs+=( server.cfg )
  397. fn_fetch_default_config
  398. fn_default_config_remote
  399. fn_set_config_vars
  400. elif [ "${shortname}" == "jc2" ]; then
  401. gamedirname="JustCause2"
  402. array_configs+=( config.lua )
  403. fn_fetch_default_config
  404. fn_default_config_remote
  405. fn_set_config_vars
  406. elif [ "${shortname}" == "jc3" ]; then
  407. gamedirname="JustCause3"
  408. array_configs+=( config.json )
  409. fn_fetch_default_config
  410. fn_default_config_remote
  411. fn_set_config_vars
  412. elif [ "${shortname}" == "kf" ]; then
  413. gamedirname="KillingFloor"
  414. array_configs+=( Default.ini )
  415. fn_fetch_default_config
  416. fn_default_config_remote
  417. fn_set_config_vars
  418. elif [ "${shortname}" == "l4d" ]; then
  419. gamedirname="Left4Dead"
  420. array_configs+=( server.cfg )
  421. fn_fetch_default_config
  422. fn_default_config_remote
  423. fn_set_config_vars
  424. elif [ "${shortname}" == "l4d2" ]; then
  425. gamedirname="Left4Dead2"
  426. array_configs+=( server.cfg )
  427. fn_fetch_default_config
  428. fn_default_config_remote
  429. fn_set_config_vars
  430. elif [ "${shortname}" == "mc" ]; then
  431. gamedirname="Minecraft"
  432. array_configs+=( server.properties )
  433. fn_fetch_default_config
  434. fn_default_config_remote
  435. fn_set_config_vars
  436. elif [ "${shortname}" == "mcb" ]; then
  437. gamedirname="MinecraftBedrock"
  438. array_configs+=( server.properties )
  439. fn_fetch_default_config
  440. fn_default_config_remote
  441. fn_set_config_vars
  442. elif [ "${shortname}" == "mohaa" ]; then
  443. gamedirname="MedalOfHonorAlliedAssault"
  444. array_configs+=( server.cfg )
  445. fn_fetch_default_config
  446. fn_default_config_remote
  447. fn_set_config_vars
  448. elif [ "${shortname}" == "mh" ]; then
  449. gamedirname="Mordhau"
  450. fn_check_cfgdir
  451. array_configs+=( Game.ini )
  452. fn_fetch_default_config
  453. fn_default_config_remote
  454. fn_set_config_vars
  455. elif [ "${shortname}" == "ns" ]; then
  456. gamedirname="NaturalSelection"
  457. array_configs+=( server.cfg )
  458. fn_fetch_default_config
  459. fn_default_config_remote
  460. fn_set_config_vars
  461. elif [ "${shortname}" == "nmrih" ]; then
  462. gamedirname="NoMoreRoominHell"
  463. array_configs+=( server.cfg )
  464. fn_fetch_default_config
  465. fn_default_config_remote
  466. fn_set_config_vars
  467. elif [ "${shortname}" == "nd" ]; then
  468. gamedirname="NuclearDawn"
  469. array_configs+=( server.cfg )
  470. fn_fetch_default_config
  471. fn_default_config_remote
  472. fn_set_config_vars
  473. elif [ "${shortname}" == "mta" ]; then
  474. gamedirname="MultiTheftAuto"
  475. fn_check_cfgdir
  476. array_configs+=( acl.xml mtaserver.conf vehiclecolors.conf )
  477. fn_fetch_default_config
  478. fn_default_config_remote
  479. elif [ "${shortname}" == "mumble" ]; then
  480. gamedirname="Mumble"
  481. array_configs+=( murmur.ini )
  482. fn_fetch_default_config
  483. fn_default_config_remote
  484. elif [ "${shortname}" == "pvkii" ]; then
  485. gamedirname="PiratesVikingandKnightsII"
  486. array_configs+=( server.cfg )
  487. fn_fetch_default_config
  488. fn_default_config_remote
  489. fn_set_config_vars
  490. elif [ "${shortname}" == "pz" ]; then
  491. gamedirname="ProjectZomboid"
  492. fn_check_cfgdir
  493. array_configs+=( server.ini )
  494. fn_fetch_default_config
  495. fn_default_config_remote
  496. fn_set_config_vars
  497. elif [ "${shortname}" == "pc" ]; then
  498. gamedirname="ProjectCars"
  499. array_configs+=( server.cfg )
  500. fn_fetch_default_config
  501. fn_default_config_remote
  502. fn_set_config_vars
  503. elif [ "${shortname}" == "q2" ]; then
  504. gamedirname="Quake2"
  505. array_configs+=( server.cfg )
  506. fn_fetch_default_config
  507. fn_default_config_remote
  508. fn_set_config_vars
  509. elif [ "${shortname}" == "q3" ]; then
  510. gamedirname="Quake3Arena"
  511. array_configs+=( server.cfg )
  512. fn_fetch_default_config
  513. fn_default_config_remote
  514. fn_set_config_vars
  515. elif [ "${shortname}" == "ql" ]; then
  516. gamedirname="QuakeLive"
  517. array_configs+=( server.cfg )
  518. fn_fetch_default_config
  519. fn_default_config_remote
  520. fn_set_config_vars
  521. elif [ "${shortname}" == "qw" ]; then
  522. gamedirname="QuakeWorld"
  523. array_configs+=( server.cfg )
  524. fn_fetch_default_config
  525. fn_default_config_remote
  526. fn_set_config_vars
  527. elif [ "${shortname}" == "ricochet" ]; then
  528. gamedirname="Ricochet"
  529. array_configs+=( server.cfg )
  530. fn_fetch_default_config
  531. fn_default_config_remote
  532. fn_set_config_vars
  533. elif [ "${shortname}" == "rtcw" ]; then
  534. gamedirname="ReturnToCastleWolfenstein"
  535. array_configs+=( server.cfg )
  536. fn_fetch_default_config
  537. fn_default_config_remote
  538. fn_set_config_vars
  539. elif [ "${shortname}" == "rust" ]; then
  540. gamedirname="Rust"
  541. fn_check_cfgdir
  542. array_configs+=( server.cfg )
  543. fn_fetch_default_config
  544. fn_default_config_remote
  545. elif [ "${shortname}" == "samp" ]; then
  546. gamedirname="SanAndreasMultiplayer"
  547. array_configs+=( server.cfg )
  548. fn_fetch_default_config
  549. fn_default_config_remote
  550. fn_set_config_vars
  551. elif [ "${shortname}" == "ss3" ]; then
  552. gamedirname="SeriousSam3BFE"
  553. array_configs+=( server.ini )
  554. fn_fetch_default_config
  555. fn_default_config_remote
  556. fn_set_config_vars
  557. elif [ "${shortname}" == "sol" ]; then
  558. gamedirname="Soldat"
  559. array_configs+=( soldat.ini )
  560. fn_fetch_default_config
  561. fn_default_config_remote
  562. fn_set_config_vars
  563. elif [ "${shortname}" == "sof2" ]; then
  564. gamedirname="SoldierOfFortune2Gold"
  565. array_configs+=( server.cfg mapcycle.txt)
  566. fn_fetch_default_config
  567. fn_default_config_remote
  568. fn_set_config_vars
  569. elif [ "${shortname}" == "sfc" ]; then
  570. gamedirname="SourceFortsClassic"
  571. array_configs+=( server.cfg )
  572. fn_fetch_default_config
  573. fn_default_config_remote
  574. fn_set_config_vars
  575. elif [ "${shortname}" == "squad" ]; then
  576. gamedirname="Squad"
  577. array_configs+=( Admins.cfg Bans.cfg License.cfg Server.cfg Rcon.cfg )
  578. fn_fetch_default_config
  579. fn_default_config_remote
  580. fn_set_config_vars
  581. elif [ "${shortname}" == "sb" ]; then
  582. gamedirname="Starbound"
  583. array_configs+=( starbound_server.config )
  584. fn_fetch_default_config
  585. fn_default_config_remote
  586. fn_set_config_vars
  587. elif [ "${shortname}" == "st" ]; then
  588. gamedirname="Stationeers"
  589. array_configs+=( default.ini )
  590. fn_fetch_default_config
  591. fn_default_config_remote
  592. fn_set_config_vars
  593. elif [ "${shortname}" == "sven" ]; then
  594. gamedirname="SvenCoop"
  595. array_configs+=( server.cfg )
  596. fn_fetch_default_config
  597. fn_default_config_remote
  598. fn_set_config_vars
  599. elif [ "${shortname}" == "tf2" ]; then
  600. gamedirname="TeamFortress2"
  601. array_configs+=( server.cfg )
  602. fn_fetch_default_config
  603. fn_default_config_remote
  604. fn_set_config_vars
  605. elif [ "${shortname}" == "tfc" ]; then
  606. gamedirname="TeamFortressClassic"
  607. array_configs+=( server.cfg )
  608. fn_fetch_default_config
  609. fn_default_config_remote
  610. fn_set_config_vars
  611. elif [ "${shortname}" == "ts" ]; then
  612. gamedirname="TheSpecialists"
  613. array_configs+=( server.cfg )
  614. fn_fetch_default_config
  615. fn_default_config_remote
  616. fn_set_config_vars
  617. elif [ "${shortname}" == "ts3" ]; then
  618. gamedirname="TeamSpeak3"
  619. array_configs+=( ts3server.ini )
  620. fn_fetch_default_config
  621. fn_default_config_remote
  622. elif [ "${shortname}" == "tw" ]; then
  623. gamedirname="Teeworlds"
  624. array_configs+=( server.cfg ctf.cfg dm.cfg duel.cfg tdm.cfg )
  625. fn_fetch_default_config
  626. fn_default_config_remote
  627. fn_set_config_vars
  628. elif [ "${shortname}" == "terraria" ]; then
  629. gamedirname="Terraria"
  630. array_configs+=( serverconfig.txt )
  631. fn_fetch_default_config
  632. fn_default_config_remote
  633. fn_set_config_vars
  634. elif [ "${shortname}" == "tu" ]; then
  635. gamedirname="TowerUnite"
  636. fn_check_cfgdir
  637. array_configs+=( TowerServer.ini )
  638. fn_fetch_default_config
  639. fn_default_config_remote
  640. fn_set_config_vars
  641. elif [ "${shortname}" == "ut" ]; then
  642. gamedirname="UnrealTournament"
  643. array_configs+=( Game.ini Engine.ini )
  644. fn_fetch_default_config
  645. fn_default_config_remote
  646. fn_set_config_vars
  647. elif [ "${shortname}" == "ut2k4" ]; then
  648. gamedirname="UnrealTournament2004"
  649. array_configs+=( UT2004.ini )
  650. fn_fetch_default_config
  651. fn_default_config_remote
  652. fn_set_config_vars
  653. elif [ "${shortname}" == "ut99" ]; then
  654. gamedirname="UnrealTournament99"
  655. array_configs+=( Default.ini )
  656. fn_fetch_default_config
  657. fn_default_config_remote
  658. fn_set_config_vars
  659. elif [ "${shortname}" == "unt" ]; then
  660. gamedirname="Unturned"
  661. array_configs+=( Config.json )
  662. fn_fetch_default_config
  663. fn_default_config_remote
  664. fn_set_config_vars
  665. elif [ "${shortname}" == "vs" ]; then
  666. gamedirname="VampireSlayer"
  667. array_configs+=( server.cfg )
  668. fn_fetch_default_config
  669. fn_default_config_remote
  670. fn_set_config_vars
  671. elif [ "${shortname}" == "wet" ]; then
  672. gamedirname="WolfensteinEnemyTerritory"
  673. array_configs+=( server.cfg )
  674. fn_fetch_default_config
  675. fn_default_config_remote
  676. fn_set_config_vars
  677. elif [ "${shortname}" == "wf" ]; then
  678. gamedirname="Warfork"
  679. array_configs+=( server.cfg )
  680. fn_fetch_default_config
  681. fn_default_config_remote
  682. fn_set_config_vars
  683. elif [ "${shortname}" == "wurm" ]; then
  684. gamedirname="WurmUnlimited"
  685. array_configs+=( server.cfg )
  686. fn_fetch_default_config
  687. fn_default_config_remote
  688. fn_set_config_vars
  689. elif [ "${shortname}" == "zmr" ]; then
  690. gamedirname="ZombieMasterReborn"
  691. array_configs+=( server.cfg )
  692. fn_fetch_default_config
  693. fn_default_config_remote
  694. fn_set_config_vars
  695. elif [ "${shortname}" == "zps" ]; then
  696. gamedirname="ZombiePanicSource"
  697. array_configs+=( server.cfg )
  698. fn_fetch_default_config
  699. fn_default_config_remote
  700. fn_set_config_vars
  701. fi