info_parms.sh 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  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_mordhau(){
  68. port=${port:-"0"}
  69. queryport=${queryport:-"0"}
  70. beaconport=${beaconport:-"0"}
  71. }
  72. fn_info_parms_mohaa(){
  73. port=${port:-"0"}
  74. queryport=${port:-"0"}
  75. defaultmap=${defaultmap:-"NOT SET"}
  76. }
  77. fn_info_parms_mom(){
  78. port=${port:-"7777"}
  79. beaconport=${queryport:-"15000"}
  80. }
  81. fn_info_parms_mta(){
  82. queryport=$((port + 123))
  83. }
  84. fn_info_parms_projectzomboid(){
  85. adminpassword=${adminpassword:-"NOT SET"}
  86. queryport=${port:-"0"}
  87. }
  88. fn_info_parms_quakeworld(){
  89. port=${port:-"0"}
  90. queryport=${port:-"0"}
  91. }
  92. fn_info_parms_quake2(){
  93. port=${port:-"0"}
  94. queryport=${port:-"0"}
  95. defaultmap=${defaultmap:-"NOT SET"}
  96. }
  97. fn_info_parms_realvirtuality(){
  98. port=${port:-"0"}
  99. queryport=$((port + 1))
  100. }
  101. fn_info_parms_risingworld(){
  102. servername=${servername:-"NOT SET"}
  103. port=${port:-"0"}
  104. httpqueryport=$((port - 1))
  105. }
  106. fn_info_parms_rtcw(){
  107. port=${port:-"0"}
  108. queryport="${port:-"0"}"
  109. defaultmap=${defaultmap:-"NOT SET"}
  110. }
  111. fn_info_parms_rust(){
  112. servername=${servername:-"NOT SET"}
  113. port=${port:-"0"}
  114. queryport=${port:-"0"}
  115. appport=${appport:-"0"}
  116. rconport=${rconport:-"0"}
  117. gamemode=${gamemode:-"NOT SET"}
  118. maxplayers=${maxplayers:-"0"}
  119. rconpassword=${rconpassword:-"NOT SET"}
  120. rconweb=${rconweb:-"NOT SET"}
  121. tickrate=${tickrate:-"0"}
  122. saveinterval=${saveinterval:-"0"}
  123. serverlevel=${serverlevel:-"NOT SET"}
  124. worldsize=${worldsize:-"0"}
  125. }
  126. fn_info_parms_samp(){
  127. queryport=${port:-"0"}
  128. }
  129. fn_info_parms_sof2(){
  130. port=${port:-"0"}
  131. defaultmap=${defaultmap:-"NOT SET"}
  132. }
  133. fn_info_parms_source(){
  134. defaultmap=${defaultmap:-"NOT SET"}
  135. maxplayers=${maxplayers:-"0"}
  136. port=${port:-"0"}
  137. queryport=${port:-"0"}
  138. clientport=${clientport:-"0"}
  139. }
  140. fn_info_parms_spark(){
  141. defaultmap=${defaultmap:-"NOT SET"}
  142. maxplayers=${maxplayers:-"0"}
  143. port=${port:-"0"}
  144. queryport=$((port + 1))
  145. servername=${servername:-"NOT SET"}
  146. serverpassword=${serverpassword:-"NOT SET"}
  147. webadminuser=${webadminuser:-"NOT SET"}
  148. webadminpass=${webadminpass:-"NOT SET"}
  149. webadminport=${webadminport:-"0"}
  150. mods=${mods:-"NOT SET"}
  151. }
  152. fn_info_parms_stickybots(){
  153. port=${port:-"0"}
  154. queryport=${queryport:-"0"}
  155. servername=${servername:-"NOT SET"}
  156. serverpassword=${serverpassword:-"NOT SET"}
  157. defaultmap=${defaultmap:-"NOT SET"}
  158. maxplayers=${maxplayers:-"0"}
  159. }
  160. fn_info_parms_sof2(){
  161. port=${port:-"0"}
  162. queryport=${port:-"0"}
  163. defaultmap=${defaultmap:-"NOT SET"}
  164. }
  165. fn_info_parms_towerunite(){
  166. port=${port:-"0"}
  167. queryport=${queryport:-"0"}
  168. }
  169. fn_info_parms_teeworlds(){
  170. queryport=${port:-"0"}
  171. }
  172. fn_info_parms_pavlovvr(){
  173. port=${port:-"0"}
  174. queryport=${queryport:-"0"}
  175. }
  176. fn_info_parms_unreal(){
  177. defaultmap=${defaultmap:-"NOT SET"}
  178. queryport=$((port + 1))
  179. }
  180. fn_info_parms_unreal2(){
  181. defaultmap=${defaultmap:-"NOT SET"}
  182. queryport=$((port + 1))
  183. }
  184. fn_info_parms_unreal3(){
  185. port=${port:-"0"}
  186. queryport=${queryport:-"0"}
  187. defaultmap=${defaultmap:-"NOT SET"}
  188. }
  189. fn_info_parms_unturned(){
  190. servername=${selfname:-"NOT SET"}
  191. port=${port:-"0"}
  192. queryport=$((port + 1))
  193. }
  194. fn_info_parms_ut(){
  195. port=${port:-"0"}
  196. }
  197. fn_info_parms_vh(){
  198. port=${port:-"0"}
  199. if [ "${public}" != "0" ]; then
  200. queryport=$((port + 1))
  201. else
  202. querymode="1"
  203. fi
  204. gameworld=${gameworld:-"NOT SET"}
  205. serverpassword=${serverpassword:-"NOT SET"}
  206. servername=${servername:-"NOT SET"}
  207. }
  208. fn_info_parms_wf(){
  209. port=${port:-"0"}
  210. queryport="${port:-"0"}"
  211. webadminport=${webadminport:-"0"}
  212. }
  213. fn_info_parms_queryport(){
  214. queryport="${port:-"0"}"
  215. }
  216. if [ "${shortname}" == "ark" ]; then
  217. fn_info_parms_ark
  218. elif [ "${shortname}" == "arma3" ]; then
  219. fn_info_parms_realvirtuality
  220. elif [ "${shortname}" == "bt" ]; then
  221. fn_info_parms_barotrauma
  222. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
  223. fn_info_parms_cod
  224. elif [ "${shortname}" == "fctr" ]; then
  225. fn_info_parms_factorio
  226. elif [ "${shortname}" == "inss" ]; then
  227. fn_info_parms_inss
  228. elif [ "${shortname}" == "jk2" ]; then
  229. fn_info_parms_jk2
  230. elif [ "${shortname}" == "kf2" ]; then
  231. fn_info_parms_kf2
  232. elif [ "${shortname}" == "mohaa" ]; then
  233. fn_info_parms_mohaa
  234. elif [ "${shortname}" == "mom" ]; then
  235. fn_info_parms_mom
  236. elif [ "${shortname}" == "pz" ]; then
  237. fn_info_parms_projectzomboid
  238. elif [ "${shortname}" == "pvr" ]; then
  239. fn_info_parms_pavlovvr
  240. elif [ "${shortname}" == "qw" ]; then
  241. fn_info_parms_quakeworld
  242. elif [ "${shortname}" == "q2" ]||[ "${shortname}" == "q3" ]; then
  243. fn_info_parms_quake2
  244. elif [ "${shortname}" == "rtcw" ]; then
  245. fn_info_parms_rtcw
  246. elif [ "${shortname}" == "rust" ]; then
  247. fn_info_parms_rust
  248. elif [ "${shortname}" == "samp" ]; then
  249. fn_info_parms_samp
  250. elif [ "${shortname}" == "rw" ]; then
  251. fn_info_parms_risingworld
  252. elif [ "${shortname}" == "sof2" ]; then
  253. fn_info_parms_sof2
  254. elif [ "${shortname}" == "sbots" ]; then
  255. fn_info_parms_stickybots
  256. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then
  257. fn_info_parms_source
  258. elif [ "${engine}" == "spark" ]; then
  259. fn_info_parms_spark
  260. elif [ "${shortname}" == "tu" ]; then
  261. fn_info_parms_towerunite
  262. elif [ "${shortname}" == "tw" ]; then
  263. fn_info_parms_teeworlds
  264. elif [ "${shortname}" == "vh" ]; then
  265. fn_info_parms_vh
  266. elif [ "${shortname}" == "mh" ]; then
  267. fn_info_parms_mordhau
  268. elif [ "${shortname}" == "mta" ]; then
  269. fn_info_parms_mta
  270. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  271. fn_info_parms_unreal
  272. elif [ "${engine}" == "unreal3" ]; then
  273. fn_info_parms_unreal3
  274. elif [ "${shortname}" == "unt" ]; then
  275. fn_info_parms_unturned
  276. elif [ "${shortname}" == "ut" ]; then
  277. fn_info_parms_ut
  278. elif [ "${shortname}" == "wf" ]; then
  279. fn_info_parms_wf
  280. # for servers that have a missing queryport from the config
  281. elif [ "${shortname}" == "scpsl" ]||[ "${shortname}" == "scpslsm" ]; then
  282. fn_info_parms_queryport
  283. fi