info_config.sh 44 KB

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