info_config.sh 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063
  1. #!/bin/bash
  2. # LinuxGSM info_config.sh function
  3. # Author: Daniel Gibbs
  4. # Contributor: UltimateByte
  5. # Website: https://linuxgsm.com
  6. # Description: Gets specific details from config files.
  7. local function_selfname="$(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 characters =\";
  12. # grep -v "foo" filter out lines that contain foo
  13. # cut -f1 -d "/" remove everything after /
  14. fn_info_config_justcause2(){
  15. if [ ! -f "${servercfgfullpath}" ]; then
  16. servername="${unavailable}"
  17. serverpassword="${unavailable}"
  18. maxplayers="${zero}"
  19. port="${zero}"
  20. else
  21. servername=$(grep "Name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  22. serverdescription=$(grep "Description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  23. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  24. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  25. port=$(grep "BindPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  26. ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  27. ipsetinconfig=1
  28. ipinconfigvar="BindIP"
  29. # Not Set
  30. servername=${servername:-"NOT SET"}
  31. serverpassword=${serverpassword:-"NOT SET"}
  32. maxplayers=${maxplayers:-"0"}
  33. port=${port:-"0"}
  34. fi
  35. }
  36. fn_info_config_justcause3(){
  37. if [ ! -f "${servercfgfullpath}" ]; then
  38. servername="${unavailable}"
  39. serverdescription="${unavailable}"
  40. serverpassword="${unavailable}"
  41. maxplayers="${zero}"
  42. port="${zero}"
  43. queryPort="${zero}"
  44. steamport="${zero}"
  45. tickrate="${zero}"
  46. else
  47. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  48. serverdescription=$(grep "description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  49. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  50. maxplayers=$(grep "\"maxPlayers\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  51. port=$(grep "\"port\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  52. queryport=$(grep "\"queryPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  53. steamport=$(grep "\"steamPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  54. tickrate=$(grep "\"maxTickRate\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  55. ip=$(grep "host" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/host//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  56. ipsetinconfig=1
  57. ipinconfigvar="host"
  58. # Not Set
  59. servername=${servername:-"NOT SET"}
  60. serverdescription=${serverdescription:-"NOT SET"}
  61. serverpassword=${serverpassword:-"NOT SET"}
  62. maxplayers=${maxplayers=:-"0"}
  63. port=${port=:-"0"}
  64. queryport=${queryport=:-"0"}
  65. steamport=${steamport=:-"0"}
  66. tickrate=${tickrate=:-"0"}
  67. fi
  68. }
  69. fn_info_config_ark(){
  70. if [ ! -f "${servercfgfullpath}" ]; then
  71. servername="${unavailable}"
  72. else
  73. servername=$(grep "SessionName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/SessionName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  74. # Not Set
  75. servername=${servername:-"NOT SET"}
  76. fi
  77. }
  78. fn_info_config_ballistic_overkill(){
  79. if [ ! -f "${servercfgfullpath}" ]; then
  80. servername="${unavailable}"
  81. serverpassword="${unavailable}"
  82. port="${zero}"
  83. queryport="${zero}"
  84. maxplayers="${unavailable}"
  85. else
  86. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  87. serverpassword=$(grep "Password=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  88. port=$(grep "ServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  89. queryport=$((port + 1))
  90. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  91. # Not Set
  92. servername=${servername:-"NOT SET"}
  93. serverpassword=${serverpassword:-"NOT SET"}
  94. port=${port:-"0"}
  95. queryport=${queryport:-"0"}
  96. maxplayers=${maxplayers:-"NOT SET"}
  97. fi
  98. }
  99. fn_info_config_battalion1944(){
  100. if [ ! -f "${servercfgfullpath}" ]; then
  101. servername="${unavailable}"
  102. serverpassword="${unavailable}"
  103. else
  104. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  105. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  106. # Not Set
  107. servername=${servername:-"NOT SET"}
  108. serverpassword=${serverpassword:-"NOT SET"}
  109. fi
  110. }
  111. fn_info_config_bf1942(){
  112. if [ ! -f "${servercfgfullpath}" ]; then
  113. servername="${unavailable}"
  114. serverpassword="${unavailable}"
  115. maxplayers="${zero}"
  116. port="${zero}"
  117. queryport="${zero}"
  118. else
  119. servername=$(grep "game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
  120. serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
  121. maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  122. port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  123. queryport="22000"
  124. ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
  125. ipsetinconfig=1
  126. ipinconfigvar="game.serverIP"
  127. # Not Set
  128. servername=${servername:-"NOT SET"}
  129. serverpassword=${serverpassword:-"NOT SET"}
  130. maxplayers=${maxplayers:-"0"}
  131. port=${port:-"0"}
  132. fi
  133. }
  134. fn_info_config_cod(){
  135. if [ ! -f "${servercfgfullpath}" ]; then
  136. servername="${unavailable}"
  137. rconpassword="${unavailable}"
  138. else
  139. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  140. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  141. # Not Set
  142. servername=${servername:-"NOT SET"}
  143. rconpassword=${rconpassword=:-"NOT SET"}
  144. fi
  145. }
  146. fn_info_config_cod2(){
  147. if [ ! -f "${servercfgfullpath}" ]; then
  148. servername="${unavailable}"
  149. rconpassword="${unavailable}"
  150. else
  151. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  152. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  153. # Not Set
  154. servername=${servername:-"NOT SET"}
  155. rconpassword=${rconpassword=:-"NOT SET"}
  156. fi
  157. }
  158. fn_info_config_cod4(){
  159. if [ ! -f "${servercfgfullpath}" ]; then
  160. servername="${unavailable}"
  161. rconpassword="${unavailable}"
  162. else
  163. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  164. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  165. # Not Set
  166. servername=${servername:-"NOT SET"}
  167. rconpassword=${rconpassword=:-"NOT SET"}
  168. fi
  169. }
  170. fn_info_config_codwaw(){
  171. if [ ! -f "${servercfgfullpath}" ]; then
  172. servername="${unavailable}"
  173. rconpassword="${unavailable}"
  174. else
  175. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  176. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  177. # Not Set
  178. servername=${servername:-"NOT SET"}
  179. rconpassword=${rconpassword=:-"NOT SET"}
  180. fi
  181. }
  182. fn_info_config_dontstarve(){
  183. if [ ! -f "${clustercfgfullpath}" ]; then
  184. servername="${unavailable}"
  185. serverpassword="${unavailable}"
  186. maxplayers="${zero}"
  187. gamemode="${unavailable}"
  188. tickrate="${zero}"
  189. masterport="${zero}"
  190. else
  191. servername=$(grep "cluster_name" "${clustercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/cluster_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  192. serverpassword=$(grep "cluster_password" "${clustercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/cluster_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  193. maxplayers=$(grep "max_players" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  194. gamemode=$(grep "game_mode" "${clustercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/game_mode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  195. tickrate=$(grep "tick_rate" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  196. masterport=$(grep "master_port" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  197. ip=$(grep "bind_ip" "${clustercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bind_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  198. ipsetinconfig=1
  199. ipinconfigvar="bind_ip"
  200. # Not Set
  201. servername=${servername:-"NOT SET"}
  202. serverpassword=${serverpassword:-"NOT SET"}
  203. maxplayers=${maxplayers:-"0"}
  204. gamemode=${gamemode:-"NOT SET"}
  205. tickrate=${tickrate:-"0"}
  206. masterport=${masterport:-"0"}
  207. fi
  208. if [ ! -f "${servercfgfullpath}" ]; then
  209. port="${zero}"
  210. steamauthenticationport="${zero}"
  211. steammasterserverport="${zero}"
  212. else
  213. port=$(grep "server_port" "${servercfgfullpath}" | grep "^server_port" | grep -v "#" | tr -cd '[:digit:]')
  214. steamauthenticationport=$(grep "authentication_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  215. steammasterserverport=$(grep "master_server_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  216. # Not Set
  217. port=${port:-"0"}
  218. steamauthenticationport=${steamauthenticationport:-"0"}
  219. steammasterserverport=${steammasterserverport:-"0"}
  220. fi
  221. }
  222. fn_info_config_factorio(){
  223. if [ ! -f "${servercfgfullpath}" ]; then
  224. servername="Factorio Server"
  225. serverpassword="${unavailable}"
  226. maxplayers="${zero}"
  227. else
  228. servername="Factorio Server"
  229. serverpassword=$(grep "game_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/game_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  230. maxplayers=$(grep "\"max_players\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  231. # Not Set
  232. servername=${servername:-"NOT SET"}
  233. serverpassword=${serverpassword:-"NOT SET"}
  234. maxplayers=${maxplayers=:-"0"}
  235. fi
  236. }
  237. fn_info_config_minecraft(){
  238. if [ ! -f "${servercfgfullpath}" ]; then
  239. servername="${unavailable}"
  240. rconpassword="${unavailable}"
  241. rconport="${zero}"
  242. maxplayers="${zero}"
  243. port="${zero}"
  244. gamemode="${unavailable}"
  245. gameworld="${unavailable}"
  246. else
  247. servername=$(grep "motd" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/motd//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  248. rconpassword=$(grep "rcon.password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/rcon.password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  249. rconport=$(grep "rcon.port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  250. maxplayers=$(grep "max-players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  251. port=$(grep "server-port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  252. gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  253. gameworld=$(grep "level-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/level-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  254. ip=$(grep "server-ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server-ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  255. ipsetinconfig=1
  256. ipinconfigvar="server-ip"
  257. # Not Set
  258. servername=${servername:-"NOT SET"}
  259. rconpassword=${rconpassword:-"NOT SET"}
  260. rconport=${rconport:-"NOT SET"}
  261. maxplayers=${maxplayers:-"NOT SET"}
  262. port=${port:-"NOT SET"}
  263. gamemode=${gamemode:-"NOT SET"}
  264. gameworld=${gameworld:-"NOT SET"}
  265. fi
  266. }
  267. fn_info_config_projectcars(){
  268. if [ ! -f "${servercfgfullpath}" ]; then
  269. servername="${unavailable}"
  270. serverpassword="${unavailable}"
  271. maxplayers="${zero}"
  272. port="${zero}"
  273. queryport="${zero}"
  274. steamport="${zero}"
  275. else
  276. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  277. serverpassword=$(grep "password " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  278. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  279. port=$(grep "hostPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  280. queryport=$(grep "queryPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  281. steamport=$(grep "steamPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  282. # Not Set
  283. servername=${servername:-"NOT SET"}
  284. serverpassword=${serverpassword:-"NOT SET"}
  285. maxplayers=${maxplayers:-"NOT SET"}
  286. port=${port:-"NOT SET"}
  287. queryport=${queryport:-"NOT SET"}
  288. steamport=${steamport:-"NOT SET"}
  289. fi
  290. }
  291. fn_info_config_projectzomboid(){
  292. if [ ! -f "${servercfgfullpath}" ]; then
  293. servername="${unavailable}"
  294. serverpassword="${unavailable}"
  295. rconpassword="${unavailable}"
  296. maxplayers="${zero}"
  297. port="${zero}"
  298. gameworld="${unavailable}"
  299. else
  300. servername=$(grep "PublicName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  301. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Password" | sed -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  302. rconpassword=$(grep "RCONPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/RCONPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  303. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  304. port=$(grep "DefaultPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  305. gameworld=$(grep "Map" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Map" | sed -e '/^#/d' -e 's/Map//g' | tr -d '=\";' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  306. # Not Set
  307. servername=${servername:-"NOT SET"}
  308. serverpassword=${serverpassword:-"NOT SET"}
  309. rconpassword=${rconpassword:-"NOT SET"}
  310. maxplayers=${maxplayers:-"NOT SET"}
  311. port=${port:-"NOT SET"}
  312. gameworld=${gameworld:-"NOT SET"}
  313. fi
  314. }
  315. fn_info_config_quakeworld(){
  316. if [ ! -f "${servercfgfullpath}" ]; then
  317. rconpassword="${unavailable}"
  318. servername="${unavailable}"
  319. serverpassword="${unavailable}"
  320. maxplayers="${zero}"
  321. port="${zero}"
  322. else
  323. rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  324. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  325. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  326. port=
  327. # Not Set
  328. rconpassword=${rconpassword:-"NOT SET"}
  329. servername=${servername:-"NOT SET"}
  330. maxplayers=${maxplayers:-"0"}
  331. fi
  332. }
  333. fn_info_config_quake2(){
  334. if [ ! -f "${servercfgfullpath}" ]; then
  335. rconpassword="${unavailable}"
  336. servername="${unavailable}"
  337. serverpassword="${unavailable}"
  338. maxplayers="${zero}"
  339. else
  340. rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  341. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  342. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  343. # Not Set
  344. rconpassword=${rconpassword:-"NOT SET"}
  345. servername=${servername:-"NOT SET"}
  346. maxplayers=${maxplayers:-"0"}
  347. fi
  348. }
  349. fn_info_config_quake3(){
  350. if [ ! -f "${servercfgfullpath}" ]; then
  351. rconpassword="${unavailable}"
  352. servername="${unavailable}"
  353. serverpassword="${unavailable}"
  354. maxplayers="${zero}"
  355. else
  356. rconpassword=$(grep "zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  357. servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  358. serverpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  359. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  360. # Not Set
  361. rconpassword=${rconpassword:-"NOT SET"}
  362. servername=${servername:-"NOT SET"}
  363. serverpassword=${serverpassword:-"NOT SET"}
  364. maxplayers=${maxplayers:-"0"}
  365. fi
  366. }
  367. fn_info_config_quakelive(){
  368. if [ ! -f "${servercfgfullpath}" ]; then
  369. rconpassword="${unavailable}"
  370. servername="${unavailable}"
  371. serverpassword="${unavailable}"
  372. maxplayers="${zero}"
  373. port="${zero}"
  374. rconport="${zero}"
  375. statsport="${zero}"
  376. else
  377. rconpassword=$(grep "zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  378. servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  379. serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  380. maxplayers=$(grep "sv_maxClients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  381. port=$(grep "net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  382. rconport=$(grep "zmq_rcon_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  383. statsport=$(grep "zmq_stats_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  384. ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  385. ipsetinconfig=1
  386. ipinconfigvar="set net_ip"
  387. # Not Set
  388. rconpassword=${rconpassword:-"NOT SET"}
  389. servername=${servername:-"NOT SET"}
  390. serverpassword=${serverpassword:-"NOT SET"}
  391. maxplayers=${maxplayers:-"0"}
  392. port=${port:-"0"}
  393. rconport=${rconport:-"0"}
  394. statsport=${statsport:-"0"}
  395. fi
  396. }
  397. fn_info_config_realvirtuality(){
  398. if [ ! -f "${servercfgfullpath}" ]; then
  399. servername="${unavailable}"
  400. adminpassword="${unavailable}"
  401. serverpassword="${unavailable}"
  402. maxplayers="${zero}"
  403. else
  404. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  405. adminpassword=$(grep "passwordAdmin" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/passwordAdmin//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  406. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  407. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  408. # Not Set
  409. servername=${servername:-"NOT SET"}
  410. adminpassword=${adminpassword:-"NOT SET"}
  411. serverpassword=${serverpassword:-"NOT SET"}
  412. maxplayers=${maxplayers:-"0"}
  413. fi
  414. }
  415. fn_info_config_seriousengine35(){
  416. if [ ! -f "${servercfgfullpath}" ]; then
  417. servername="${unavailable}"
  418. rconpassword="${unavailable}"
  419. gamemode="${unavailable}"
  420. maxplayers="${zero}"
  421. port="${zero}"
  422. else
  423. servername=$(grep "prj_strMultiplayerSessionName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/prj_strMultiplayerSessionName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  424. rconpassword=$(grep "rcts_strAdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/rcts_strAdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  425. gamemode=$(grep "gam_idGameMode" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/gam_idGameMode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  426. maxplayers=$(grep "gam_ctMaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  427. port=$(grep "prj_uwPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  428. # Not Set
  429. servername=${servername:-"NOT SET"}
  430. rconpassword=${rconpassword:-"NOT SET"}
  431. gamemode=${gamemode:-"NOT SET"}
  432. maxplayers=${maxplayers:-"0"}
  433. port=${port:-"0"}
  434. fi
  435. }
  436. fn_info_config_source(){
  437. if [ ! -f "${servercfgfullpath}" ]; then
  438. servername="${unavailable}"
  439. serverpassword="${unavailable}"
  440. rconpassword="${unavailable}"
  441. else
  442. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  443. serverpassword=$(grep "sv_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/sv_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  444. rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  445. # Not Set
  446. servername=${servername:-"NOT SET"}
  447. serverpassword=${serverpassword:-"NOT SET"}
  448. rconpassword=${rconpassword:-"NOT SET"}
  449. fi
  450. }
  451. fn_info_config_starbound(){
  452. if [ ! -f "${servercfgfullpath}" ]; then
  453. servername="${unavailable}"
  454. queryenabled="${unavailable}"
  455. rconenabled="${unavailable}"
  456. rconpassword="${unavailable}"
  457. port="21025"
  458. queryport="21025"
  459. rconport="21026"
  460. maxplayers="8"
  461. else
  462. servername=$(grep "serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/serverName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  463. queryenabled=$(grep "runQueryServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runQueryServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  464. rconenabled=$(grep "runRconServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runRconServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  465. rconpassword=$(grep "rconServerPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/rconServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  466. port=$(grep "gameServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  467. queryport=$(grep "queryServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  468. rconport=$(grep "rconServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  469. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | tr -cd '[:digit:]')
  470. # Not Set
  471. servername=${servername:-"NOT SET"}
  472. queryenabled=${queryenabled:-"NOT SET"}
  473. rconenabled=${rconenabled:-"NOT SET"}
  474. rconpassword=${rconpassword:-"NOT SET"}
  475. port=${port:-"21025"}
  476. queryport=${queryport:-"21025"}
  477. rconport=${rconport:-"21026"}
  478. maxplayers=${maxplayers:-"8"}
  479. fi
  480. }
  481. fn_info_config_teamspeak3(){
  482. if [ ! -f "${servercfgfullpath}" ]; then
  483. dbplugin="${unavailable}"
  484. port="9987"
  485. queryport="10011"
  486. fileport="30033"
  487. else
  488. dbplugin=$(grep "dbplugin=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/dbplugin=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  489. port=$(grep "default_voice_port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  490. queryport=$(grep "query_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  491. fileport=$(grep "filetransfer_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  492. ip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  493. ipsetinconfig=1
  494. ipinconfigvar="voice_ip"
  495. # Not Set
  496. port=${port:-"9987"}
  497. queryport=${queryport:-"10011"}
  498. fileport=${fileport:-"30033"}
  499. fi
  500. }
  501. fn_info_config_mumble(){
  502. if [ ! -f "${servercfgfullpath}" ]; then
  503. port="64738"
  504. queryport="${port}"
  505. servername="Mumble"
  506. else
  507. port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  508. queryport="${port}"
  509. ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  510. ipsetinconfig=1
  511. ipinconfigvar="voice_ip"
  512. # Not Set
  513. port=${port:-"64738"}
  514. queryport=${queryport:-"64738"}
  515. servername="Mumble Port ${port}"
  516. fi
  517. }
  518. fn_info_config_samp(){
  519. if [ ! -f "${servercfgfullpath}" ]; then
  520. servername="unnamed server"
  521. serverpassword="${unavailable}"
  522. rconpassword="${unavailable}"
  523. port="7777"
  524. maxplayers="50"
  525. else
  526. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  527. rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/^rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  528. port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  529. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  530. # Not Set
  531. servername=${servername:-"NOT SET"}
  532. rconpassword=${rconpassword:-"NOT SET"}
  533. port=${port:-"8303"}
  534. maxplayers=${maxplayers:-"12"}
  535. fi
  536. }
  537. fn_info_config_teeworlds(){
  538. if [ ! -f "${servercfgfullpath}" ]; then
  539. servername="unnamed server"
  540. serverpassword="${unavailable}"
  541. rconpassword="${unavailable}"
  542. port="8303"
  543. maxplayers="12"
  544. else
  545. servername=$(grep "sv_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/^sv_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  546. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^password" | sed -e '/^#/d' -e 's/^password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  547. rconpassword=$(grep "sv_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/^sv_rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  548. port=$(grep "sv_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  549. maxplayers=$(grep "sv_max_clients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  550. # Not Set
  551. servername=${servername:-"NOT SET"}
  552. serverpassword=${serverpassword:-"NOT SET"}
  553. rconpassword=${rconpassword:-"NOT SET"}
  554. port=${port:-"8303"}
  555. maxplayers=${maxplayers:-"12"}
  556. fi
  557. }
  558. fn_info_config_terraria(){
  559. if [ ! -f "${servercfgfullpath}" ]; then
  560. servername="${unavailable}"
  561. port="${zero}"
  562. gameworld="${unavailable}"
  563. maxplayers="${zero}"
  564. else
  565. servername=$(grep "worldname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/worldname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  566. port=$(grep "port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  567. gameworld=$(grep "world=" "${servercfgfullpath}" | grep -v "//" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/world=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  568. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  569. # Not Set
  570. servername=${servername:-"NOT SET"}
  571. port=${port:-"0"}
  572. gameworld=${gameworld:-"NOT SET"}
  573. maxplayers=${maxplayers:-"0"}
  574. fi
  575. }
  576. fn_info_config_towerunite(){
  577. if [ ! -f "${servercfgfullpath}" ]; then
  578. servername="${unavailable}"
  579. maxplayers="${zero}"
  580. else
  581. servername=$(grep "ServerTitle" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerTitle//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  582. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  583. # Not Set
  584. servername=${servername:-"NOT SET"}
  585. maxplayers=${maxplayers:-"0"}
  586. fi
  587. }
  588. fn_info_config_unreal(){
  589. if [ ! -f "${servercfgfullpath}" ]; then
  590. servername="${unavailable}"
  591. serverpassword="${unavailable}"
  592. adminpassword="${unavailable}"
  593. port="${zero}"
  594. queryport="${zero}"
  595. gsqueryport="${zero}"
  596. webadminenabled="${unavailable}"
  597. webadminport="${zero}"
  598. webadminuser="${unavailable}"
  599. webadminpass="${unavailable}"
  600. else
  601. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  602. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  603. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  604. port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  605. queryport=$((port + 1))
  606. gsqueryport=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  607. webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  608. webadminport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  609. if [ "${engine}" == "unreal" ]; then
  610. webadminuser=$(grep "AdminUsername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminUsername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  611. webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 4 | grep "AdminPassword" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  612. else
  613. webadminuser=$(grep "AdminName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  614. webadminpass="${adminpassword}"
  615. fi
  616. # Not Set
  617. servername=${servername:-"NOT SET"}
  618. serverpassword=${serverpassword:-"NOT SET"}
  619. adminpassword=${adminpassword:-"NOT SET"}
  620. port=${port:-"0"}
  621. queryport=${queryport:-"0"}
  622. gsqueryport=${gsqueryport:-"0"}
  623. webadminenabled=${webadminenabled:-"NOT SET"}
  624. webadminport=${webadminport:-"0"}
  625. webadminuser=${webadminuser:-"NOT SET"}
  626. webadminpass=${webadminpass:-"NOT SET"}
  627. fi
  628. }
  629. fn_info_config_unreal3(){
  630. if [ ! -f "${servercfgfullpath}" ]; then
  631. servername="${unavailable}"
  632. serverpassword="${unavailable}"
  633. adminpassword="${unavailable}"
  634. webadminenabled="${unavailable}"
  635. webadminport="${zero}"
  636. webadminuser="${unavailable}"
  637. webadminpass="${unavailable}"
  638. else
  639. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  640. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  641. webadminenabled=$(grep "bEnabled" "${servercfgdir}/UTWeb.ini" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  642. webadminport=$(grep "ListenPort" "${servercfgdir}/UTWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  643. webadminuser="Admin"
  644. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  645. # Not Set
  646. servername=${servername:-"NOT SET"}
  647. serverpassword=${serverpassword:-"NOT SET"}
  648. adminpassword=${adminpassword:-"NOT SET"}
  649. port=${port:-"0"}
  650. webadminenabled=${webadminenabled:-"NOT SET"}
  651. webadminport=${webadminport:-"0"}
  652. webadminuser=${webadminuser:-"NOT SET"}
  653. webadminpass=${webadminpass:-"NOT SET"}
  654. fi
  655. }
  656. fn_info_config_kf2(){
  657. if [ ! -f "${servercfgfullpath}" ]; then
  658. servername="${unavailable}"
  659. serverpassword="${unavailable}"
  660. adminpassword="${unavailable}"
  661. port="${unavailable}"
  662. queryport="${unavailable}"
  663. webadminenabled="${unavailable}"
  664. webadminport="${zero}"
  665. webadminuser="${unavailable}"
  666. webadminpass="${unavailable}"
  667. else
  668. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  669. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  670. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  671. port=$(grep "Port" "${servercfgdir}/LinuxServer-KFEngine.ini" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  672. webadminenabled=$(grep "bEnabled" "${servercfgdir}/KFWeb.ini" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  673. webadminport=$(grep "ListenPort" "${servercfgdir}/KFWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  674. webadminuser="Admin"
  675. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  676. # Not Set
  677. servername=${servername:-"NOT SET"}
  678. serverpassword=${serverpassword:-"NOT SET"}
  679. adminpassword=${adminpassword:-"NOT SET"}
  680. port=${port:-"0"}
  681. webadminenabled=${webadminenabled:-"NOT SET"}
  682. webadminport=${webadminport:-"0"}
  683. webadminuser=${webadminuser:-"NOT SET"}
  684. webadminpass=${webadminpass:-"NOT SET"}
  685. fi
  686. }
  687. fn_info_config_sdtd(){
  688. if [ ! -f "${servercfgfullpath}" ]; then
  689. servername="${unavailable}"
  690. serverpassword="${unavailable}"
  691. port="${zero}"
  692. queryport="${zero}"
  693. webadminenabled="${unavailable}"
  694. webadminport="${zero}"
  695. webadminpass="${unavailable}"
  696. telnetenabled="${unavailable}"
  697. telnetport="${zero}"
  698. telnetpass="${unavailable}"
  699. maxplayers="${unavailable}"
  700. gamemode="${unavailable}"
  701. gameworld="${unavailable}"
  702. else
  703. servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  704. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  705. port=$(grep "ServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  706. queryport=$((port + 1))
  707. webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  708. webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  709. webadminpass=$(grep "ControlPanelPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  710. telnetenabled=$(grep "TelnetEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  711. telnetport=$(grep "TelnetPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  712. telnetpass=$(grep "TelnetPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  713. maxplayers=$(grep "ServerMaxPlayerCount" "${servercfgfullpath}" | tr -cd '[:digit:]')
  714. gamemode=$(grep "GameMode" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  715. gameworld=$(grep "GameWorld" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  716. # Not Set
  717. servername=${servername:-"NOT SET"}
  718. serverpassword=${serverpassword:-"NOT SET"}
  719. port=${port:-"0"}
  720. queryport=${queryport:-"0"}
  721. webadminenabled=${webadminenabled:-"NOT SET"}
  722. webadminport=${webadminport:-"0"}
  723. webadminpass=${webadminpass:-"NOT SET"}
  724. telnetenabled=${telnetenabled:-"NOT SET"}
  725. telnetport=${telnetport:-"0"}
  726. telnetpass=${telnetpass:-"NOT SET"}
  727. maxplayers=${maxplayers:-"NOT SET"}
  728. gamemode=${gamemode:-"NOT SET"}
  729. gameworld=${gameworld:-"NOT SET"}
  730. fi
  731. }
  732. fn_info_config_mta(){
  733. if [ ! -f "${servercfgfullpath}" ]; then
  734. ip="${zero}"
  735. port="${unavailable}"
  736. httpport="${unavailable}"
  737. ase="${unavailable}"
  738. servername="${unavailable}"
  739. serverpassword="${unavailable}"
  740. maxplayers="${zero}"
  741. else
  742. port=$(grep -m 1 "serverport" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<serverport>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
  743. httpport=$(grep -m 1 "httpport" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<httpport>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
  744. ase=$(grep -m 1 "ase" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<ase>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
  745. servername=$(grep -m 1 "servername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<servername>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
  746. serverpassword=$(grep -m 1 "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<password>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
  747. maxplayers=$(grep -m 1 "maxplayers" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<maxplayers>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
  748. if [ "${ase}" == "1" ]; then
  749. ase="Enabled"
  750. else
  751. ase="Disabled"
  752. fi
  753. ip=$(grep -m 1 "serverip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/<serverip>//g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
  754. ipsetinconfig=1
  755. ipinconfigvar="serverip"
  756. # Not Set
  757. port=${port:-"22003"}
  758. httpport=${httpport:-"22005"}
  759. ase=${ase:-"Disabled"}
  760. servername=${servername:-"NOT SET"}
  761. serverpassword=${serverpassword:-"NOT SET"}
  762. maxplayers=${maxplayers:-"0"}
  763. fi
  764. }
  765. fn_info_config_wolfensteinenemyterritory(){
  766. if [ ! -f "${servercfgfullpath}" ]; then
  767. rconpassword="${unavailable}"
  768. servername="${unavailable}"
  769. serverpassword="${unavailable}"
  770. maxplayers="${zero}"
  771. port="${zero}"
  772. else
  773. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  774. rconpassword=$(grep "set zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//g' -e '/^\//d' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  775. servername=$(grep "set sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  776. serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  777. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  778. ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  779. ipsetinconfig=1
  780. ipinconfigvar="set net_ip"
  781. # Not Set
  782. rconpassword=${rconpassword:-"NOT SET"}
  783. servername=${servername:-"NOT SET"}
  784. serverpassword=${serverpassword:-"NOT SET"}
  785. maxplayers=${maxplayers:-"0"}
  786. port=${port:-"27960"}
  787. fi
  788. }
  789. fn_info_config_etlegacy(){
  790. if [ ! -f "${servercfgfullpath}" ]; then
  791. rconpassword="${unavailable}"
  792. servername="${unavailable}"
  793. serverpassword="${unavailable}"
  794. maxplayers="${zero}"
  795. port="${zero}"
  796. else
  797. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  798. rconpassword=$(grep "set rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//g' -e '/^\//d' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  799. servername=$(grep "set sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  800. serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  801. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  802. ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  803. ipsetinconfig=1
  804. ipinconfigvar="set net_ip"
  805. # Not Set
  806. rconpassword=${rconpassword:-"NOT SET"}
  807. servername=${servername:-"NOT SET"}
  808. serverpassword=${serverpassword:-"NOT SET"}
  809. maxplayers=${maxplayers:-"0"}
  810. port=${port:-"27960"}
  811. fi
  812. }
  813. fn_info_config_squad(){
  814. if [ ! -f "${servercfgfullpath}" ]; then
  815. servername="${unavailable}"
  816. maxplayers="${unavailable}"
  817. else
  818. servername="$(cat ${servercfgfullpath} | grep "ServerName=" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')"
  819. maxplayers="$(cat ${servercfgfullpath} | grep "MaxPlayers=" | tr -cd '[:digit:]')"
  820. fi
  821. if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
  822. rconport=${unavailable}
  823. rconpassword=${unavailable}
  824. else
  825. rconport=$(cat ${servercfgdir}/Rcon.cfg | grep "Port=" | tr -cd '[:digit:]')
  826. rconpassword=$(cat ${servercfgdir}/Rcon.cfg | grep "Password=" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  827. fi
  828. rconport=${rconport:-"0"}
  829. if [ -z "${rconpassword}" ]||[ ${#rconpassword} == 1 ]; then
  830. rconpassword="NOT SET"
  831. fi
  832. servername=${servername:-"NOT SET"}
  833. serverpassword=${serverpassword:-"NOT SET"}
  834. maxplayers=${maxplayers:-"0"}
  835. }
  836. fn_info_config_stationeers(){
  837. if [ ! -f "${servercfgfullpath}" ]; then
  838. servername="${unavailable}"
  839. serverpassword="${unavailable}"
  840. rconpassword="${unavailable}"
  841. maxplayers="${unavailable}"
  842. else
  843. servername=$(grep "SERVERNAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  844. serverpassword=$(grep "PASSWORD" "${servercfgfullpath}" | grep "^PASSWORD" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  845. rconpassword=$(grep "RCONPASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/RCONPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  846. maxplayers=$(grep "MAXPLAYER" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/MAXPLAYER//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  847. # Not Set
  848. servername=${servername:-"NOT SET"}
  849. serverpassword=${serverpassword:-"NOT SET"}
  850. rconpassword=${rconpassword:-"NOT SET"}
  851. maxplayers=${maxplayers:-"0"}
  852. fi
  853. }
  854. # ARK: Survival Evolved
  855. if [ "${gamename}" == "ARK: Survivial Evolved" ]; then
  856. fn_info_config_ark
  857. # Ballistic Overkill
  858. elif [ "${gamename}" == "Ballistic Overkill" ]; then
  859. fn_info_config_ballistic_overkill
  860. # Battalion 1944
  861. elif [ "${gamename}" == "Battalion 1944" ]; then
  862. fn_info_config_battalion1944
  863. # Battlefield: 1942
  864. elif [ "${gamename}" == "Battlefield: 1942" ]; then
  865. fn_info_config_bf1942
  866. # Call of Duty
  867. elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]; then
  868. fn_info_config_cod
  869. # Call of Duty 2
  870. elif [ "${gamename}" == "Call of Duty 2" ]; then
  871. fn_info_config_cod2
  872. # Call of Duty 4
  873. elif [ "${gamename}" == "Call of Duty 4" ]; then
  874. fn_info_config_cod4
  875. # Call of Duty: World at War
  876. elif [ "${gamename}" == "Call of Duty: World at War" ]; then
  877. fn_info_config_codwaw
  878. # Dont Starve Together
  879. elif [ "${engine}" == "dontstarve" ]; then
  880. fn_info_config_dontstarve
  881. # Factorio
  882. elif [ "${gamename}" == "Factorio" ]; then
  883. fn_info_config_factorio
  884. # Just Cause 2
  885. elif [ "${gamename}" == "Just Cause 2" ]; then
  886. fn_info_config_justcause2
  887. # Just Cause 3
  888. elif [ "${gamename}" == "Just Cause 3" ]; then
  889. fn_info_config_justcause3
  890. # Killing Floor 2
  891. elif [ "${shortname}" == "kf2" ]; then
  892. fn_info_config_kf2
  893. # QuakeWorld
  894. elif [ "${gamename}" == "QuakeWorld" ]; then
  895. fn_info_config_quakeworld
  896. # Quake 2
  897. elif [ "${gamename}" == "Quake 2" ]; then
  898. fn_info_config_quake2
  899. # Quake 3
  900. elif [ "${gamename}" == "Quake 3: Arena" ]; then
  901. fn_info_config_quake3
  902. # Quake Live
  903. elif [ "${gamename}" == "Quake Live" ]; then
  904. fn_info_config_quakelive
  905. # Minecraft
  906. elif [ "${engine}" == "lwjgl2" ]; then
  907. fn_info_config_minecraft
  908. # Project Cars
  909. elif [ "${gamename}" == "Project Cars" ]; then
  910. fn_info_config_projectcars
  911. # Project Zomboid
  912. elif [ "${engine}" == "projectzomboid" ]; then
  913. fn_info_config_projectzomboid
  914. # ARMA 3
  915. elif [ "${engine}" == "realvirtuality" ]; then
  916. fn_info_config_realvirtuality
  917. # Serious Sam
  918. elif [ "${engine}" == "seriousengine35" ]; then
  919. fn_info_config_seriousengine35
  920. # Source Engine Games
  921. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
  922. fn_info_config_source
  923. # Starbound
  924. elif [ "${engine}" == "starbound" ]; then
  925. fn_info_config_starbound
  926. # TeamSpeak 3
  927. elif [ "${gamename}" == "TeamSpeak 3" ]; then
  928. fn_info_config_teamspeak3
  929. # Mumble
  930. elif [ "${gamename}" == "Mumble" ]; then
  931. fn_info_config_mumble
  932. # San Andreas Multiplayer
  933. elif [ "${gamename}" == "San Andreas Multiplayer" ]; then
  934. fn_info_config_samp
  935. # Teeworlds
  936. elif [ "${engine}" == "teeworlds" ]; then
  937. fn_info_config_teeworlds
  938. # Terraria
  939. elif [ "${engine}" == "terraria" ]; then
  940. fn_info_config_terraria
  941. # Tower Unite
  942. elif [ "${gamename}" == "Tower Unite" ]; then
  943. fn_info_config_towerunite
  944. # Unreal/Unreal 2 engine
  945. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  946. fn_info_config_unreal
  947. # Unreal 3 engine
  948. elif [ "${engine}" == "unreal3" ]; then
  949. fn_info_config_unreal3
  950. # 7 Day To Die (unity3d)
  951. elif [ "${gamename}" == "7 Days To Die" ]; then
  952. fn_info_config_sdtd
  953. elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
  954. fn_info_config_wolfensteinenemyterritory
  955. elif [ "${gamename}" == "ET: Legacy" ]; then
  956. fn_info_config_etlegacy
  957. elif [ "${gamename}" == "Multi Theft Auto" ]; then
  958. fn_info_config_mta
  959. elif [ "${gamename}" == "Squad" ]; then
  960. fn_info_config_squad
  961. # Stationeers
  962. elif [ "${gamename}" == "Stationeers" ]; then
  963. fn_info_config_stationeers
  964. fi