info_parms.sh 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  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. rconport=${rconport:-"0"}
  116. rconpassword=${rconpassword:-"NOT SET"}
  117. rconweb=${rconweb:-"NOT SET"}
  118. maxplayers=${maxplayers:-"0"}
  119. saveinterval=${saveinterval:-"0"}
  120. tickrate=${tickrate:-"0"}
  121. # Part of random seed feature.
  122. if [ -z "${seed}" ]; then
  123. if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then
  124. shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt"
  125. fi
  126. seed=$(cat "${datadir}/${selfname}-seed.txt")
  127. fi
  128. }
  129. fn_info_parms_samp(){
  130. queryport=${port:-"0"}
  131. }
  132. fn_info_parms_sof2(){
  133. port=${port:-"0"}
  134. defaultmap=${defaultmap:-"NOT SET"}
  135. }
  136. fn_info_parms_source(){
  137. defaultmap=${defaultmap:-"NOT SET"}
  138. maxplayers=${maxplayers:-"0"}
  139. port=${port:-"0"}
  140. queryport=${port:-"0"}
  141. clientport=${clientport:-"0"}
  142. }
  143. fn_info_parms_spark(){
  144. defaultmap=${defaultmap:-"NOT SET"}
  145. maxplayers=${maxplayers:-"0"}
  146. port=${port:-"0"}
  147. queryport=$((port + 1))
  148. servername=${servername:-"NOT SET"}
  149. serverpassword=${serverpassword:-"NOT SET"}
  150. webadminuser=${webadminuser:-"NOT SET"}
  151. webadminpass=${webadminpass:-"NOT SET"}
  152. webadminport=${webadminport:-"0"}
  153. mods=${mods:-"NOT SET"}
  154. }
  155. fn_info_parms_stickybots(){
  156. port=${port:-"0"}
  157. queryport=${queryport:-"0"}
  158. servername=${servername:-"NOT SET"}
  159. serverpassword=${serverpassword:-"NOT SET"}
  160. defaultmap=${defaultmap:-"NOT SET"}
  161. maxplayers=${maxplayers:-"0"}
  162. }
  163. fn_info_parms_sof2(){
  164. port=${port:-"0"}
  165. queryport=${port:-"0"}
  166. defaultmap=${defaultmap:-"NOT SET"}
  167. }
  168. fn_info_parms_towerunite(){
  169. port=${port:-"0"}
  170. queryport=${queryport:-"0"}
  171. }
  172. fn_info_parms_teeworlds(){
  173. queryport=${port:-"0"}
  174. }
  175. fn_info_parms_pavlovvr(){
  176. port=${port:-"0"}
  177. queryport=${queryport:-"0"}
  178. }
  179. fn_info_parms_unreal(){
  180. defaultmap=${defaultmap:-"NOT SET"}
  181. queryport=$((port + 1))
  182. }
  183. fn_info_parms_unreal2(){
  184. defaultmap=${defaultmap:-"NOT SET"}
  185. queryport=$((port + 1))
  186. }
  187. fn_info_parms_unreal3(){
  188. port=${port:-"0"}
  189. queryport=${queryport:-"0"}
  190. defaultmap=${defaultmap:-"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_ut(){
  198. port=${port:-"0"}
  199. }
  200. fn_info_parms_wf(){
  201. port=${port:-"0"}
  202. queryport="${port:-"0"}"
  203. webadminport=${webadminport:-"0"}
  204. }
  205. fn_info_parms_queryport(){
  206. queryport="${port:-"0"}"
  207. }
  208. if [ "${shortname}" == "ark" ]; then
  209. fn_info_parms_ark
  210. elif [ "${shortname}" == "arma3" ]; then
  211. fn_info_parms_realvirtuality
  212. elif [ "${shortname}" == "bt" ]; then
  213. fn_info_parms_barotrauma
  214. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
  215. fn_info_parms_cod
  216. elif [ "${shortname}" == "fctr" ]; then
  217. fn_info_parms_factorio
  218. elif [ "${shortname}" == "inss" ]; then
  219. fn_info_parms_inss
  220. elif [ "${shortname}" == "jk2" ]; then
  221. fn_info_parms_jk2
  222. elif [ "${shortname}" == "kf2" ]; then
  223. fn_info_parms_kf2
  224. elif [ "${shortname}" == "mohaa" ]; then
  225. fn_info_parms_mohaa
  226. elif [ "${shortname}" == "mom" ]; then
  227. fn_info_parms_mom
  228. elif [ "${shortname}" == "pz" ]; then
  229. fn_info_parms_projectzomboid
  230. elif [ "${shortname}" == "pvr" ]; then
  231. fn_info_parms_pavlovvr
  232. elif [ "${shortname}" == "qw" ]; then
  233. fn_info_parms_quakeworld
  234. elif [ "${shortname}" == "q2" ]||[ "${shortname}" == "q3" ]; then
  235. fn_info_parms_quake2
  236. elif [ "${shortname}" == "rtcw" ]; then
  237. fn_info_parms_rtcw
  238. elif [ "${shortname}" == "rust" ]; then
  239. fn_info_parms_rust
  240. elif [ "${shortname}" == "samp" ]; then
  241. fn_info_parms_samp
  242. elif [ "${shortname}" == "rw" ]; then
  243. fn_info_parms_risingworld
  244. elif [ "${shortname}" == "sof2" ]; then
  245. fn_info_parms_sof2
  246. elif [ "${shortname}" == "sbots" ]; then
  247. fn_info_parms_stickybots
  248. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then
  249. fn_info_parms_source
  250. elif [ "${engine}" == "spark" ]; then
  251. fn_info_parms_spark
  252. elif [ "${shortname}" == "tu" ]; then
  253. fn_info_parms_towerunite
  254. elif [ "${shortname}" == "tw" ]; then
  255. fn_info_parms_teeworlds
  256. elif [ "${shortname}" == "mh" ]; then
  257. fn_info_parms_mordhau
  258. elif [ "${shortname}" == "mta" ]; then
  259. fn_info_parms_mta
  260. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  261. fn_info_parms_unreal
  262. elif [ "${engine}" == "unreal3" ]; then
  263. fn_info_parms_unreal3
  264. elif [ "${shortname}" == "unt" ]; then
  265. fn_info_parms_unturned
  266. elif [ "${shortname}" == "ut" ]; then
  267. fn_info_parms_ut
  268. elif [ "${shortname}" == "wf" ]; then
  269. fn_info_parms_wf
  270. # for servers that have a missing queryport from the config
  271. elif [ "${shortname}" == "scpsl" ]||[ "${shortname}" == "scpslsm" ]; then
  272. fn_info_parms_queryport
  273. fi