info_parms.sh 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. #!/bin/bash
  2. # LinuxGSM info_parms.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: If specific parms are not set then this will be displayed in details.
  6. functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  7. ## Examples of filtering to get info from config files
  8. # sed 's/foo//g' - remove foo
  9. # tr -cd '[:digit:]' leave only digits
  10. # tr -d '=\"; ' remove selected charectors =\";
  11. # grep -v "foo" filter out lines that contain foo
  12. unavailable="${red}UNAVAILABLE${default}"
  13. zero="${red}0${default}"
  14. fn_info_parms_ark(){
  15. port=${port:-"0"}
  16. queryport=${queryport:-"0"}
  17. rconport=${rconport:-"0"}
  18. maxplayers=${maxplayers:-"0"}
  19. }
  20. fn_info_parms_barotrauma(){
  21. port=${port:-"0"}
  22. queryport=${queryport:-"0"}
  23. }
  24. fn_info_parms_cod(){
  25. defaultmap=${defaultmap:-"NOT SET"}
  26. maxplayers=${maxplayers:-"0"}
  27. port=${port:-"0"}
  28. queryport=${port:-"0"}
  29. }
  30. fn_info_parms_dst(){
  31. sharding=${sharding:-"NOT SET"}
  32. master=${master:-"NOT SET"}
  33. shard=${shard:-"NOT SET"}
  34. cluster=${cluster:-"NOT SET"}
  35. cave=${cave:-"NOT SET"}
  36. }
  37. fn_info_parms_factorio(){
  38. port=${port:-"0"}
  39. rconport=${rconport:-"0"}
  40. rconpassword=${rconpassword:-"NOT SET"}
  41. }
  42. fn_info_parms_hurtworld(){
  43. servername=${servername:-"NOT SET"}
  44. port=${port:-"0"}
  45. queryport=${queryport:-"0"}
  46. maxplayers=${maxplayers:-"0"}
  47. defaultmap=${defaultmap:-"NOT SET"}
  48. creativemode=${creativemode:-"NOT SET"}
  49. }
  50. fn_info_parms_inss(){
  51. port=${port:-"0"}
  52. queryport=${queryport:-"0"}
  53. servername=${servername:-"NOT SET"}
  54. serverpassword=${serverpassword:-"NOT SET"}
  55. defaultmap=${defaultmap:-"NOT SET"}
  56. defaultscenario=${defaultscenario:-"NOT SET"}
  57. maxplayers=${maxplayers:-"0"}
  58. }
  59. fn_info_parms_jk2(){
  60. queryport=${port}
  61. }
  62. fn_info_parms_kf2(){
  63. queryport=${queryport:-"0"}
  64. defaultmap=${defaultmap:-"NOT SET"}
  65. }
  66. fn_info_parms_mordhau(){
  67. port=${port:-"0"}
  68. queryport=${queryport:-"0"}
  69. beaconport=${beaconport:-"0"}
  70. }
  71. fn_info_parms_mohaa(){
  72. port=${port:-"0"}
  73. queryport=${port:-"0"}
  74. defaultmap=${defaultmap:-"NOT SET"}
  75. }
  76. fn_info_parms_mom(){
  77. port=${port:-"7777"}
  78. beaconport=${queryport:-"15000"}
  79. }
  80. fn_info_parms_mta(){
  81. queryport=$((port + 123))
  82. }
  83. fn_info_parms_projectzomboid(){
  84. adminpassword=${adminpassword:-"NOT SET"}
  85. queryport=${port:-"0"}
  86. }
  87. fn_info_parms_quakeworld(){
  88. port=${port:-"0"}
  89. queryport=${port:-"0"}
  90. }
  91. fn_info_parms_quake2(){
  92. port=${port:-"0"}
  93. queryport=${port:-"0"}
  94. defaultmap=${defaultmap:-"NOT SET"}
  95. }
  96. fn_info_parms_realvirtuality(){
  97. port=${port:-"0"}
  98. queryport=$((port + 1))
  99. }
  100. fn_info_parms_risingworld(){
  101. servername=${servername:-"NOT SET"}
  102. port=${port:-"0"}
  103. httpqueryport=$((port - 1))
  104. }
  105. fn_info_parms_rtcw(){
  106. port=${port:-"0"}
  107. queryport="${port:-"0"}"
  108. defaultmap=${defaultmap:-"NOT SET"}
  109. }
  110. fn_info_parms_rust(){
  111. servername=${servername:-"NOT SET"}
  112. port=${port:-"0"}
  113. queryport=${port:-"0"}
  114. rconport=${rconport:-"0"}
  115. rconpassword=${rconpassword:-"NOT SET"}
  116. rconweb=${rconweb:-"NOT SET"}
  117. maxplayers=${maxplayers:-"0"}
  118. saveinterval=${saveinterval:-"0"}
  119. tickrate=${tickrate:-"0"}
  120. # Part of random seed feature.
  121. if [ -z "${seed}" ]; then
  122. if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then
  123. shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt"
  124. fi
  125. seed=$(cat "${datadir}/${selfname}-seed.txt")
  126. fi
  127. }
  128. fn_info_parms_samp(){
  129. queryport=${port:-"0"}
  130. }
  131. fn_info_parms_sof2(){
  132. port=${port:-"0"}
  133. defaultmap=${defaultmap:-"NOT SET"}
  134. }
  135. fn_info_parms_source(){
  136. defaultmap=${defaultmap:-"NOT SET"}
  137. maxplayers=${maxplayers:-"0"}
  138. port=${port:-"0"}
  139. queryport=${port:-"0"}
  140. clientport=${clientport:-"0"}
  141. }
  142. fn_info_parms_spark(){
  143. defaultmap=${defaultmap:-"NOT SET"}
  144. maxplayers=${maxplayers:-"0"}
  145. port=${port:-"0"}
  146. queryport=$((port + 1))
  147. servername=${servername:-"NOT SET"}
  148. serverpassword=${serverpassword:-"NOT SET"}
  149. webadminuser=${webadminuser:-"NOT SET"}
  150. webadminpass=${webadminpass:-"NOT SET"}
  151. webadminport=${webadminport:-"0"}
  152. mods=${mods:-"NOT SET"}
  153. }
  154. fn_info_parms_stickybots(){
  155. port=${port:-"0"}
  156. queryport=${queryport:-"0"}
  157. servername=${servername:-"NOT SET"}
  158. serverpassword=${serverpassword:-"NOT SET"}
  159. defaultmap=${defaultmap:-"NOT SET"}
  160. maxplayers=${maxplayers:-"0"}
  161. }
  162. fn_info_parms_sof2(){
  163. port=${port:-"0"}
  164. queryport=${port:-"0"}
  165. defaultmap=${defaultmap:-"NOT SET"}
  166. }
  167. fn_info_parms_towerunite(){
  168. port=${port:-"0"}
  169. queryport=${queryport:-"0"}
  170. }
  171. fn_info_parms_teeworlds(){
  172. queryport=${port:-"0"}
  173. }
  174. fn_info_parms_pavlovvr(){
  175. port=${port:-"0"}
  176. queryport=${queryport:-"0"}
  177. }
  178. fn_info_parms_unreal(){
  179. defaultmap=${defaultmap:-"NOT SET"}
  180. queryport=$((port + 1))
  181. }
  182. fn_info_parms_unreal2(){
  183. defaultmap=${defaultmap:-"NOT SET"}
  184. queryport=$((port + 1))
  185. }
  186. fn_info_parms_unreal3(){
  187. port=${port:-"0"}
  188. queryport=${queryport:-"0"}
  189. defaultmap=${defaultmap:-"NOT SET"}
  190. }
  191. fn_info_parms_unturned(){
  192. servername=${selfname:-"NOT SET"}
  193. port=${port:-"0"}
  194. queryport=$((port + 1))
  195. }
  196. fn_info_parms_ut(){
  197. port=${port:-"0"}
  198. }
  199. fn_info_parms_wf(){
  200. port=${port:-"0"}
  201. queryport="${port:-"0"}"
  202. webadminport=${webadminport:-"0"}
  203. }
  204. fn_info_parms_queryport(){
  205. queryport="${port:-"0"}"
  206. }
  207. if [ "${shortname}" == "ark" ]; then
  208. fn_info_parms_ark
  209. elif [ "${shortname}" == "arma3" ]; then
  210. fn_info_parms_realvirtuality
  211. elif [ "${shortname}" == "bt" ]; then
  212. fn_info_parms_barotrauma
  213. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
  214. fn_info_parms_cod
  215. elif [ "${shortname}" == "fctr" ]; then
  216. fn_info_parms_factorio
  217. elif [ "${shortname}" == "inss" ]; then
  218. fn_info_parms_inss
  219. elif [ "${shortname}" == "jk2" ]; then
  220. fn_info_parms_jk2
  221. elif [ "${shortname}" == "kf2" ]; then
  222. fn_info_parms_kf2
  223. elif [ "${shortname}" == "mohaa" ]; then
  224. fn_info_parms_mohaa
  225. elif [ "${shortname}" == "mom" ]; then
  226. fn_info_parms_mom
  227. elif [ "${shortname}" == "pz" ]; then
  228. fn_info_parms_projectzomboid
  229. elif [ "${shortname}" == "pvr" ]; then
  230. fn_info_parms_pavlovvr
  231. elif [ "${shortname}" == "qw" ]; then
  232. fn_info_parms_quakeworld
  233. elif [ "${shortname}" == "q2" ]||[ "${shortname}" == "q3" ]; then
  234. fn_info_parms_quake2
  235. elif [ "${shortname}" == "rtcw" ]; then
  236. fn_info_parms_rtcw
  237. elif [ "${shortname}" == "rust" ]; then
  238. fn_info_parms_rust
  239. elif [ "${shortname}" == "samp" ]; then
  240. fn_info_parms_samp
  241. elif [ "${shortname}" == "rw" ]; then
  242. fn_info_parms_risingworld
  243. elif [ "${shortname}" == "sof2" ]; then
  244. fn_info_parms_sof2
  245. elif [ "${shortname}" == "sbots" ]; then
  246. fn_info_parms_stickybots
  247. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then
  248. fn_info_parms_source
  249. elif [ "${engine}" == "spark" ]; then
  250. fn_info_parms_spark
  251. elif [ "${shortname}" == "tu" ]; then
  252. fn_info_parms_towerunite
  253. elif [ "${shortname}" == "tw" ]; then
  254. fn_info_parms_teeworlds
  255. elif [ "${shortname}" == "mh" ]; then
  256. fn_info_parms_mordhau
  257. elif [ "${shortname}" == "mta" ]; then
  258. fn_info_parms_mta
  259. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  260. fn_info_parms_unreal
  261. elif [ "${engine}" == "unreal3" ]; then
  262. fn_info_parms_unreal3
  263. elif [ "${shortname}" == "unt" ]; then
  264. fn_info_parms_unturned
  265. elif [ "${shortname}" == "ut" ]; then
  266. fn_info_parms_ut
  267. elif [ "${shortname}" == "wf" ]; then
  268. fn_info_parms_wf
  269. # for servers that have a missing queryport from the config
  270. elif [ "${shortname}" == "scpsl" ]||[ "${shortname}" == "scpslsm" ]; then
  271. fn_info_parms_queryport
  272. fi