info_parms.sh 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  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. local function_selfname=$(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_kf2(){
  60. queryport=${queryport:-"0"}
  61. defaultmap=${defaultmap:-"NOT SET"}
  62. }
  63. fn_info_parms_mordhau(){
  64. port=${port:-"0"}
  65. queryport=${queryport:-"0"}
  66. beaconport=${beaconport:-"0"}
  67. }
  68. fn_info_parms_mohaa(){
  69. port=${port:-"0"}
  70. queryport=${port:-"0"}
  71. defaultmap=${defaultmap:-"NOT SET"}
  72. }
  73. fn_info_parms_mta(){
  74. queryport=$((port + 123))
  75. }
  76. fn_info_parms_projectzomboid(){
  77. adminpassword=${adminpassword:-"NOT SET"}
  78. queryport=${port:-"0"}
  79. }
  80. fn_info_parms_quakeworld(){
  81. port=${port:-"0"}
  82. queryport=${port:-"0"}
  83. }
  84. fn_info_parms_quake2(){
  85. port=${port:-"0"}
  86. queryport=${port:-"0"}
  87. defaultmap=${defaultmap:-"NOT SET"}
  88. }
  89. fn_info_parms_realvirtuality(){
  90. port=${port:-"0"}
  91. queryport=$((port + 1))
  92. }
  93. fn_info_parms_risingworld(){
  94. servername=${servername:-"NOT SET"}
  95. port=${port:-"0"}
  96. httpqueryport=$((port - 1))
  97. }
  98. fn_info_parms_rtcw(){
  99. port=${port:-"0"}
  100. queryport="${port:-"0"}"
  101. defaultmap=${defaultmap:-"NOT SET"}
  102. }
  103. fn_info_parms_rust(){
  104. servername=${servername:-"NOT SET"}
  105. port=${port:-"0"}
  106. queryport=${port:-"0"}
  107. rconport=${rconport:-"0"}
  108. rconpassword=${rconpassword:-"NOT SET"}
  109. rconweb=${rconweb:-"NOT SET"}
  110. maxplayers=${maxplayers:-"0"}
  111. saveinterval=${saveinterval:-"0"}
  112. tickrate=${tickrate:-"0"}
  113. }
  114. fn_info_parms_samp(){
  115. queryport=${port:-"0"}
  116. }
  117. fn_info_parms_sof2(){
  118. port=${port:-"0"}
  119. defaultmap=${defaultmap:-"NOT SET"}
  120. }
  121. fn_info_parms_source(){
  122. defaultmap=${defaultmap:-"NOT SET"}
  123. maxplayers=${maxplayers:-"0"}
  124. port=${port:-"0"}
  125. queryport=${port:-"0"}
  126. clientport=${clientport:-"0"}
  127. }
  128. fn_info_parms_spark(){
  129. defaultmap=${defaultmap:-"NOT SET"}
  130. maxplayers=${maxplayers:-"0"}
  131. port=${port:-"0"}
  132. queryport=$((port + 1))
  133. servername=${servername:-"NOT SET"}
  134. serverpassword=${serverpassword:-"NOT SET"}
  135. webadminuser=${webadminuser:-"NOT SET"}
  136. webadminpass=${webadminpass:-"NOT SET"}
  137. webadminport=${webadminport:-"0"}
  138. mods=${mods:-"NOT SET"}
  139. }
  140. fn_info_parms_stickybots(){
  141. port=${port:-"0"}
  142. queryport=${queryport:-"0"}
  143. servername=${servername:-"NOT SET"}
  144. serverpassword=${serverpassword:-"NOT SET"}
  145. defaultmap=${defaultmap:-"NOT SET"}
  146. maxplayers=${maxplayers:-"0"}
  147. }
  148. fn_info_parms_sof2(){
  149. port=${port:-"0"}
  150. queryport=${port:-"0"}
  151. defaultmap=${defaultmap:-"NOT SET"}
  152. }
  153. fn_info_parms_soldat(){
  154. port=${port:-"0"}
  155. queryport=${port:-"0"}
  156. servername=${servername:-"NOT SET"}
  157. serverpassword=${serverpassword:-"NOT SET"}
  158. adminpassword=${adminpassword:-"NOT SET"}
  159. maxplayers=${maxplayers:-"0"}
  160. }
  161. fn_info_parms_ss3(){
  162. port=${port:-"0"}
  163. queryport=$((port + 1))
  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_unreal(){
  173. defaultmap=${defaultmap:-"NOT SET"}
  174. queryport=$((port + 1))
  175. }
  176. fn_info_parms_unreal2(){
  177. defaultmap=${defaultmap:-"NOT SET"}
  178. queryport=$((port + 1))
  179. }
  180. fn_info_parms_unreal3(){
  181. port=${port:-"0"}
  182. queryport=${queryport:-"0"}
  183. defaultmap=${defaultmap:-"NOT SET"}
  184. serverpassword=${serverpassword:-"NOT SET"}
  185. adminpassword=${adminpassword:-"NOT SET"}
  186. }
  187. fn_info_parms_unturned(){
  188. servername=${selfname:-"NOT SET"}
  189. port=${port:-"0"}
  190. }
  191. fn_info_parms_ut(){
  192. port=${port:-"0"}
  193. }
  194. fn_info_parms_wf(){
  195. port=${port:-"0"}
  196. queryport="${port:-"0"}"
  197. webadminport=${webadminport:-"0"}
  198. }
  199. # ARK: Survival Evolved
  200. if [ "${shortname}" == "ark" ]; then
  201. fn_info_parms_ark
  202. # ARMA 3
  203. elif [ "${shortname}" == "arma3" ]; then
  204. fn_info_parms_realvirtuality
  205. # Barotrauma
  206. elif [ "${shortname}" == "bt" ]; then
  207. fn_info_parms_barotrauma
  208. # Call of Duty
  209. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
  210. fn_info_parms_cod
  211. # Factorio
  212. elif [ "${shortname}" == "fctr" ]; then
  213. fn_info_parms_factorio
  214. elif [ "${shortname}" == "inss" ]; then
  215. fn_info_parms_inss
  216. elif [ "${shortname}" == "kf2" ]; then
  217. fn_info_parms_kf2
  218. elif [ "${shortname}" == "mohaa" ]; then
  219. fn_info_parms_mohaa
  220. # Project Zomboid
  221. elif [ "${shortname}" == "pz" ]; then
  222. fn_info_parms_projectzomboid
  223. elif [ "${shortname}" == "qw" ]; then
  224. fn_info_parms_quakeworld
  225. elif [ "${shortname}" == "q2" ]||[ "${shortname}" == "q3" ]; then
  226. fn_info_parms_quake2
  227. elif [ "${shortname}" == "rtcw" ]; then
  228. fn_info_parms_rtcw
  229. # Rust
  230. elif [ "${shortname}" == "rust" ]; then
  231. fn_info_parms_rust
  232. elif [ "${shortname}" == "samp" ]; then
  233. fn_info_parms_samp
  234. # Rising World
  235. elif [ "${shortname}" == "rw" ]; then
  236. fn_info_parms_risingworld
  237. # Soldier Of Fortune 2: Gold Edition
  238. elif [ "${shortname}" == "sof2" ]; then
  239. fn_info_parms_sof2
  240. # Sticky Bots
  241. elif [ "${shortname}" == "sbots" ]; then
  242. fn_info_parms_stickybots
  243. elif [ "${shortname}" == "sol" ]; then
  244. fn_info_parms_soldat
  245. # Serious Sam
  246. elif [ "${shortname}" == "ss3" ]; then
  247. fn_info_parms_ss3
  248. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
  249. fn_info_parms_source
  250. # Spark
  251. elif [ "${engine}" == "spark" ]; then
  252. fn_info_parms_spark
  253. elif [ "${shortname}" == "tu" ]; then
  254. fn_info_parms_towerunite
  255. elif [ "${shortname}" == "tw" ]; then
  256. fn_info_parms_teeworlds
  257. elif [ "${shortname}" == "mh" ]; then
  258. fn_info_parms_mordhau
  259. elif [ "${shortname}" == "mta" ]; then
  260. fn_info_parms_mta
  261. # Unreal/Unreal 2 engine
  262. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  263. fn_info_parms_unreal
  264. # Unreal 3 engine
  265. elif [ "${engine}" == "unreal3" ]; then
  266. fn_info_parms_unreal3
  267. elif [ "${shortname}" == "unt" ]; then
  268. fn_info_parms_unturned
  269. elif [ "${shortname}" == "ut" ]; then
  270. fn_info_parms_ut
  271. # Warfork
  272. elif [ "${shortname}" == "wf" ]; then
  273. fn_info_parms_wf
  274. fi