info_parms.sh 7.1 KB

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