info_parms.sh 7.5 KB

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