info_config.sh 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  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. queryport="${zero}"
  21. else
  22. servername=$(grep "Name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  23. serverdescription=$(grep "Description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  24. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  25. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  26. port=$(grep "BindPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  27. queryport="${port}"
  28. ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  29. ipsetinconfig=1
  30. ipinconfigvar="BindIP"
  31. # Not Set
  32. servername=${servername:-"NOT SET"}
  33. serverpassword=${serverpassword:-"NOT SET"}
  34. maxplayers=${maxplayers:-"0"}
  35. port=${port:-"0"}
  36. queryport=${queryport:-"0"}
  37. fi
  38. }
  39. fn_info_config_justcause3(){
  40. if [ ! -f "${servercfgfullpath}" ]; then
  41. servername="${unavailable}"
  42. serverdescription="${unavailable}"
  43. serverpassword="${unavailable}"
  44. maxplayers="${zero}"
  45. port="${zero}"
  46. queryPort="${zero}"
  47. steamport="${zero}"
  48. tickrate="${zero}"
  49. else
  50. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  51. serverdescription=$(grep "description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  52. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  53. maxplayers=$(grep "\"maxPlayers\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  54. port=$(grep "\"port\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  55. queryport=$(grep "\"queryPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  56. steamport=$(grep "\"steamPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  57. tickrate=$(grep "\"maxTickRate\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  58. ip=$(grep "host" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/host//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  59. ipsetinconfig=1
  60. ipinconfigvar="host"
  61. # Not Set
  62. servername=${servername:-"NOT SET"}
  63. serverdescription=${serverdescription:-"NOT SET"}
  64. serverpassword=${serverpassword:-"NOT SET"}
  65. maxplayers=${maxplayers=:-"0"}
  66. port=${port=:-"0"}
  67. queryport=${queryport=:-"0"}
  68. steamport=${steamport=:-"0"}
  69. tickrate=${tickrate=:-"0"}
  70. fi
  71. }
  72. fn_info_config_ark(){
  73. if [ ! -f "${servercfgfullpath}" ]; then
  74. servername="${unavailable}"
  75. else
  76. servername=$(grep "SessionName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/SessionName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  77. # Not Set
  78. servername=${servername:-"NOT SET"}
  79. fi
  80. }
  81. fn_info_config_ballistic_overkill(){
  82. if [ ! -f "${servercfgfullpath}" ]; then
  83. servername="${unavailable}"
  84. serverpassword="${unavailable}"
  85. port="${zero}"
  86. queryport="${zero}"
  87. maxplayers="${unavailable}"
  88. else
  89. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  90. serverpassword=$(grep "Password=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  91. port=$(grep "ServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  92. queryport=$((port + 1))
  93. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  94. # Not Set
  95. servername=${servername:-"NOT SET"}
  96. serverpassword=${serverpassword:-"NOT SET"}
  97. port=${port:-"0"}
  98. queryport=${queryport:-"0"}
  99. maxplayers=${maxplayers:-"NOT SET"}
  100. fi
  101. }
  102. fn_info_config_barotrauma(){
  103. if [ ! -f "${servercfgfullpath}" ]; then
  104. servername="${unavailable}"
  105. serverpassword="${unavailable}"
  106. port="${zero}"
  107. queryport="${zero}"
  108. maxplayers="${unavailable}"
  109. else
  110. servername=$(grep -Po 'name="\K.*(?=")' "${servercfgfullpath}") # Assuming GNU grep is used
  111. serverpassword=$(grep -Po 'password="\K.*(?=")' "${servercfgfullpath}") # Assuming GNU grep is used
  112. port=$(grep " port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  113. queryport=$(grep "queryport=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  114. maxplayers=$(grep "maxplayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  115. # Not set
  116. servername=${servername:-"NOT SET"}
  117. serverpassword=${serverpassword:-"NOT SET"}
  118. port=${port:-"0"}
  119. queryport=${queryport:-"0"}
  120. maxplayers=${maxplayers:-"0"}
  121. fi
  122. }
  123. fn_info_config_battalion1944(){
  124. if [ ! -f "${servercfgfullpath}" ]; then
  125. servername="${unavailable}"
  126. serverpassword="${unavailable}"
  127. else
  128. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  129. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  130. # Not Set
  131. servername=${servername:-"NOT SET"}
  132. serverpassword=${serverpassword:-"NOT SET"}
  133. fi
  134. }
  135. fn_info_config_bf1942(){
  136. if [ ! -f "${servercfgfullpath}" ]; then
  137. servername="${unavailable}"
  138. serverpassword="${unavailable}"
  139. maxplayers="${zero}"
  140. port="${zero}"
  141. queryport="${zero}"
  142. else
  143. servername=$(grep "game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
  144. serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
  145. maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  146. port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  147. queryport="22000"
  148. ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
  149. ipsetinconfig=1
  150. ipinconfigvar="game.serverIP"
  151. # Not Set
  152. servername=${servername:-"NOT SET"}
  153. serverpassword=${serverpassword:-"NOT SET"}
  154. maxplayers=${maxplayers:-"0"}
  155. port=${port:-"0"}
  156. fi
  157. }
  158. fn_info_config_cod(){
  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_cod2(){
  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_cod4(){
  183. if [ ! -f "${servercfgfullpath}" ]; then
  184. servername="${unavailable}"
  185. rconpassword="${unavailable}"
  186. else
  187. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  188. 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]*$//')
  189. # Not Set
  190. servername=${servername:-"NOT SET"}
  191. rconpassword=${rconpassword=:-"NOT SET"}
  192. fi
  193. }
  194. fn_info_config_codwaw(){
  195. if [ ! -f "${servercfgfullpath}" ]; then
  196. servername="${unavailable}"
  197. rconpassword="${unavailable}"
  198. else
  199. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  200. 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]*$//')
  201. # Not Set
  202. servername=${servername:-"NOT SET"}
  203. rconpassword=${rconpassword=:-"NOT SET"}
  204. fi
  205. }
  206. fn_info_config_dontstarve(){
  207. if [ ! -f "${clustercfgfullpath}" ]; then
  208. servername="${unavailable}"
  209. serverpassword="${unavailable}"
  210. maxplayers="${zero}"
  211. gamemode="${unavailable}"
  212. tickrate="${zero}"
  213. masterport="${zero}"
  214. else
  215. 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]*$//')
  216. 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]*$//')
  217. maxplayers=$(grep "max_players" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  218. 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]*$//')
  219. tickrate=$(grep "tick_rate" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  220. masterport=$(grep "master_port" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  221. 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]*$//')
  222. ipsetinconfig=1
  223. ipinconfigvar="bind_ip"
  224. # Not Set
  225. servername=${servername:-"NOT SET"}
  226. serverpassword=${serverpassword:-"NOT SET"}
  227. maxplayers=${maxplayers:-"0"}
  228. gamemode=${gamemode:-"NOT SET"}
  229. tickrate=${tickrate:-"0"}
  230. masterport=${masterport:-"0"}
  231. fi
  232. if [ ! -f "${servercfgfullpath}" ]; then
  233. port="${zero}"
  234. steamauthenticationport="${zero}"
  235. steammasterserverport="${zero}"
  236. else
  237. port=$(grep "server_port" "${servercfgfullpath}" | grep "^server_port" | grep -v "#" | tr -cd '[:digit:]')
  238. steamauthenticationport=$(grep "authentication_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  239. steammasterserverport=$(grep "master_server_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  240. # Not Set
  241. port=${port:-"0"}
  242. steamauthenticationport=${steamauthenticationport:-"0"}
  243. steammasterserverport=${steammasterserverport:-"0"}
  244. fi
  245. }
  246. fn_info_config_eco(){
  247. if [ ! -f "${servercfgfullpath}" ]; then
  248. servername="${unavailable}"
  249. serverpassword="${unavailable}"
  250. maxplayers="${zero}"
  251. gamemode="${unavailable}"
  252. tickrate="${zero}"
  253. port="${zero}"
  254. webadminport="${zero}"
  255. public=""
  256. else
  257. servername=$(grep "Description" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  258. serverpassword=$(grep "Password" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  259. maxplayers=$(grep "MaxConnections" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/MaxConnections//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  260. port=$(grep "\"GameServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
  261. webadminport=$(grep "\"WebServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
  262. public=$(grep "PublicServer" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  263. # Not Set
  264. servername=${servername:-"NOT SET"}
  265. serverpassword=${serverpassword:-"NOT SET"}
  266. maxplayers=${maxplayers=:-"0"}
  267. port=${port=:-"0"}
  268. webadminport=${webadminport=:-"0"}
  269. public=${public=:-"NOT SET"}
  270. fi
  271. }
  272. fn_info_config_factorio(){
  273. if [ ! -f "${servercfgfullpath}" ]; then
  274. servername="Factorio Server"
  275. serverpassword="${unavailable}"
  276. maxplayers="${zero}"
  277. else
  278. servername="Factorio Server"
  279. 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]*$//')
  280. maxplayers=$(grep "\"max_players\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  281. # Not Set
  282. servername=${servername:-"NOT SET"}
  283. serverpassword=${serverpassword:-"NOT SET"}
  284. maxplayers=${maxplayers=:-"0"}
  285. fi
  286. }
  287. fn_info_config_inss(){
  288. if [ ! -f "${servercfgfullpath}" ]; then
  289. rconenabled="${unavailable}"
  290. rconpassword="${unavailable}"
  291. rconport="${zero}"
  292. maxplayers="${zero}"
  293. port="${zero}"
  294. queryport="${zero}"
  295. queryenabled="${unavailable}"
  296. rconport="${zero}"
  297. gamemode="${unavailable}"
  298. gameworld="${unavailable}"
  299. else
  300. rconenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  301. rconpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  302. rconport=$(grep "ListenPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  303. # Not Set
  304. rconenabled=${rconenabled:-"NOT SET"}
  305. rconpassword=${rconpassword:-"NOT SET"}
  306. rconport=${rconport:-"0"}
  307. fi
  308. }
  309. fn_info_config_minecraft(){
  310. if [ ! -f "${servercfgfullpath}" ]; then
  311. servername="${unavailable}"
  312. rconpassword="${unavailable}"
  313. rconport="${zero}"
  314. maxplayers="${zero}"
  315. port="${zero}"
  316. queryport="${zero}"
  317. queryenabled="${unavailable}"
  318. gamemode="${unavailable}"
  319. gameworld="${unavailable}"
  320. else
  321. servername=$(grep "motd" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/motd//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  322. 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]*$//')
  323. rconport=$(grep "rcon.port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  324. maxplayers=$(grep "max-players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  325. port=$(grep "server-port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  326. queryport=$(grep "query.port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  327. if [ -z "${queryport}" ]; then
  328. queryport=${port}
  329. fi
  330. queryenabled=$(grep "enable-query" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/enable-query//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  331. gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  332. 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]*$//')
  333. 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]*$//')
  334. ipsetinconfig=1
  335. ipinconfigvar="server-ip"
  336. # Not Set
  337. servername=${servername:-"NOT SET"}
  338. rconpassword=${rconpassword:-"NOT SET"}
  339. rconport=${rconport:-"NOT SET"}
  340. maxplayers=${maxplayers:-"NOT SET"}
  341. port=${port:-"NOT SET"}
  342. queryport=${queryport:-"NOT SET"}
  343. queryenabled="${queryenabled:-"NOT SET"}"
  344. gamemode=${gamemode:-"NOT SET"}
  345. gameworld=${gameworld:-"NOT SET"}
  346. fi
  347. }
  348. fn_info_config_mohaa(){
  349. if [ ! -f "${servercfgfullpath}" ]; then
  350. rconpassword="${unavailable}"
  351. servername="${unavailable}"
  352. serverpassword="${unavailable}"
  353. maxplayers="${zero}"
  354. else
  355. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  356. servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  357. serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  358. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  359. # Not Set
  360. rconpassword=${rconpassword:-"NOT SET"}
  361. servername=${servername:-"NOT SET"}
  362. serverpassword=${serverpassword:-"NOT SET"}
  363. maxplayers=${maxplayers:-"0"}
  364. fi
  365. }
  366. #Post Scriptum: The bloody Seventh
  367. fn_info_config_pstbs(){
  368. if [ ! -f "${servercfgfullpath}" ]; then
  369. servername="${unavailable}"
  370. maxplayers="${unavailable}"
  371. reservedslots="${unavailable}"
  372. else
  373. servername="$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')"
  374. maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
  375. reservedslots="$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
  376. fi
  377. if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
  378. rconport=${unavailable}
  379. rconpassword=${unavailable}
  380. else
  381. rconport=$(grep "Port=" "${servercfgdir}/Rcon.cfg" | tr -cd '[:digit:]')
  382. rconpassword=$(grep "Password=" "${servercfgdir}/Rcon.cfg" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  383. fi
  384. rconport=${rconport:-"0"}
  385. if [ -z "${rconpassword}" ]||[ ${#rconpassword} == 1 ]; then
  386. rconpassword="NOT SET"
  387. fi
  388. servername=${servername:-"NOT SET"}
  389. serverpassword=${serverpassword:-"NOT SET"}
  390. maxplayers=${maxplayers:-"0"}
  391. numreservedslots=${numreservedslots:-"0"}
  392. }
  393. fn_info_config_projectcars(){
  394. if [ ! -f "${servercfgfullpath}" ]; then
  395. servername="${unavailable}"
  396. serverpassword="${unavailable}"
  397. maxplayers="${zero}"
  398. port="${zero}"
  399. queryport="${zero}"
  400. steamport="${zero}"
  401. else
  402. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  403. serverpassword=$(grep "password " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  404. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  405. port=$(grep "hostPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  406. queryport=$(grep "queryPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  407. steamport=$(grep "steamPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  408. # Not Set
  409. servername=${servername:-"NOT SET"}
  410. serverpassword=${serverpassword:-"NOT SET"}
  411. maxplayers=${maxplayers:-"NOT SET"}
  412. port=${port:-"NOT SET"}
  413. queryport=${queryport:-"NOT SET"}
  414. steamport=${steamport:-"NOT SET"}
  415. fi
  416. }
  417. fn_info_config_projectzomboid(){
  418. if [ ! -f "${servercfgfullpath}" ]; then
  419. servername="${unavailable}"
  420. serverpassword="${unavailable}"
  421. rconpassword="${unavailable}"
  422. maxplayers="${zero}"
  423. port="${zero}"
  424. gameworld="${unavailable}"
  425. else
  426. servername=$(grep "PublicName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  427. 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]*$//')
  428. rconpassword=$(grep "RCONPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/RCONPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  429. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  430. port=$(grep "DefaultPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  431. 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]*$//')
  432. # Not Set
  433. servername=${servername:-"NOT SET"}
  434. serverpassword=${serverpassword:-"NOT SET"}
  435. rconpassword=${rconpassword:-"NOT SET"}
  436. maxplayers=${maxplayers:-"NOT SET"}
  437. port=${port:-"NOT SET"}
  438. gameworld=${gameworld:-"NOT SET"}
  439. fi
  440. }
  441. fn_info_config_quakeworld(){
  442. if [ ! -f "${servercfgfullpath}" ]; then
  443. rconpassword="${unavailable}"
  444. servername="${unavailable}"
  445. serverpassword="${unavailable}"
  446. maxplayers="${zero}"
  447. port="${zero}"
  448. else
  449. 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]*$//')
  450. 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]*$//')
  451. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  452. # Not Set
  453. rconpassword=${rconpassword:-"NOT SET"}
  454. servername=${servername:-"NOT SET"}
  455. maxplayers=${maxplayers:-"0"}
  456. fi
  457. }
  458. fn_info_config_quake2(){
  459. if [ ! -f "${servercfgfullpath}" ]; then
  460. rconpassword="${unavailable}"
  461. servername="${unavailable}"
  462. serverpassword="${unavailable}"
  463. maxplayers="${zero}"
  464. else
  465. 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]*$//')
  466. 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]*$//')
  467. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  468. # Not Set
  469. rconpassword=${rconpassword:-"NOT SET"}
  470. servername=${servername:-"NOT SET"}
  471. maxplayers=${maxplayers:-"0"}
  472. fi
  473. }
  474. fn_info_config_quake3(){
  475. if [ ! -f "${servercfgfullpath}" ]; then
  476. rconpassword="${unavailable}"
  477. servername="${unavailable}"
  478. serverpassword="${unavailable}"
  479. maxplayers="${zero}"
  480. else
  481. 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]*$//')
  482. 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]*$//')
  483. 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]*$//')
  484. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  485. # Not Set
  486. rconpassword=${rconpassword:-"NOT SET"}
  487. servername=${servername:-"NOT SET"}
  488. serverpassword=${serverpassword:-"NOT SET"}
  489. maxplayers=${maxplayers:-"0"}
  490. fi
  491. }
  492. fn_info_config_quakelive(){
  493. if [ ! -f "${servercfgfullpath}" ]; then
  494. rconpassword="${unavailable}"
  495. servername="${unavailable}"
  496. serverpassword="${unavailable}"
  497. maxplayers="${zero}"
  498. port="${zero}"
  499. queryport="${zero}"
  500. rconport="${zero}"
  501. statsport="${zero}"
  502. else
  503. 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]*$//')
  504. 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]*$//')
  505. 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]*$//')
  506. maxplayers=$(grep "sv_maxClients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  507. port=$(grep "net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  508. queryport="${port}"
  509. rconport=$(grep "zmq_rcon_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  510. statsport=$(grep "zmq_stats_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  511. 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]*$//')
  512. ipsetinconfig=1
  513. ipinconfigvar="set net_ip"
  514. # Not Set
  515. rconpassword=${rconpassword:-"NOT SET"}
  516. servername=${servername:-"NOT SET"}
  517. serverpassword=${serverpassword:-"NOT SET"}
  518. maxplayers=${maxplayers:-"0"}
  519. port=${port:-"0"}
  520. queryport=${queryport:-"0"}
  521. rconport=${rconport:-"0"}
  522. statsport=${statsport:-"0"}
  523. fi
  524. }
  525. fn_info_config_realvirtuality(){
  526. if [ ! -f "${servercfgfullpath}" ]; then
  527. servername="${unavailable}"
  528. adminpassword="${unavailable}"
  529. serverpassword="${unavailable}"
  530. maxplayers="${zero}"
  531. else
  532. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  533. adminpassword=$(grep "passwordAdmin" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/passwordAdmin//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  534. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  535. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  536. # Not Set
  537. servername=${servername:-"NOT SET"}
  538. adminpassword=${adminpassword:-"NOT SET"}
  539. serverpassword=${serverpassword:-"NOT SET"}
  540. maxplayers=${maxplayers:-"0"}
  541. fi
  542. }
  543. fn_info_config_risingworld(){
  544. if [ ! -f "${servercfgfullpath}" ]; then
  545. servername="${unavailable}"
  546. rconpassword="${unavailable}"
  547. rconport="${zero}"
  548. maxplayers="${zero}"
  549. port="${zero}"
  550. gamemode="${unavailable}"
  551. gameworld="${unavailable}"
  552. else
  553. servername=$(grep "server_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  554. serverpassword=$(grep "server_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  555. 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]*$//')
  556. rconport=$(grep "rcon_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  557. maxplayers=$(grep "settings_max_players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  558. port=$(grep "server_port" "${servercfgfullpath}" | grep -v "database_mysql_server_port" | grep -v "#" | tr -cd '[:digit:]')
  559. gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  560. gameworld=$(grep "server_world_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_world_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  561. javaram=$(grep "server_memory" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_memory//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  562. ip=$(grep "server_ip" "${servercfgfullpath}" | grep -v "database_mysql_server_ip" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  563. ipsetinconfig=1
  564. ipinconfigvar="server-ip"
  565. # Not Set
  566. servername=${servername:-"NOT SET"}
  567. rconpassword=${rconpassword:-"NOT SET"}
  568. rconport=${rconport:-"NOT SET"}
  569. maxplayers=${maxplayers:-"NOT SET"}
  570. port=${port:-"NOT SET"}
  571. gamemode=${gamemode:-"NOT SET"}
  572. gameworld=${gameworld:-"NOT SET"}
  573. fi
  574. }
  575. fn_info_config_rtcw(){
  576. if [ ! -f "${servercfgfullpath}" ]; then
  577. rconpassword="${unavailable}"
  578. servername="${unavailable}"
  579. serverpassword="${unavailable}"
  580. maxplayers="${zero}"
  581. else
  582. 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]*$//')
  583. 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]*$//')
  584. 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]*$//')
  585. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  586. # Not Set
  587. rconpassword=${rconpassword:-"NOT SET"}
  588. servername=${servername:-"NOT SET"}
  589. serverpassword=${serverpassword:-"NOT SET"}
  590. maxplayers=${maxplayers:-"0"}
  591. fi
  592. }
  593. fn_info_config_seriousengine35(){
  594. if [ ! -f "${servercfgfullpath}" ]; then
  595. servername="${unavailable}"
  596. rconpassword="${unavailable}"
  597. gamemode="${unavailable}"
  598. maxplayers="${zero}"
  599. port="${zero}"
  600. else
  601. 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]*$//')
  602. 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]*$//')
  603. 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]*$//')
  604. maxplayers=$(grep "gam_ctMaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  605. port=$(grep "prj_uwPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  606. # Not Set
  607. servername=${servername:-"NOT SET"}
  608. rconpassword=${rconpassword:-"NOT SET"}
  609. gamemode=${gamemode:-"NOT SET"}
  610. maxplayers=${maxplayers:-"0"}
  611. port=${port:-"0"}
  612. fi
  613. }
  614. #StickyBots
  615. fn_info_config_sbots(){
  616. if [ ! -f "${servercfgfullpath}" ]; then
  617. servername="${unavailable}"
  618. maxplayers="${unavailable}"
  619. else
  620. servername="$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')"
  621. maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
  622. fi
  623. servername=${servername:-"NOT SET"}
  624. serverpassword=${serverpassword:-"NOT SET"}
  625. maxplayers=${maxplayers:-"0"}
  626. }
  627. fn_info_config_sof2(){
  628. if [ ! -f "${servercfgfullpath}" ]; then
  629. rconpassword="${unavailable}"
  630. servername="${unavailable}"
  631. serverpassword="${unavailable}"
  632. maxplayers="${zero}"
  633. else
  634. 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]*$//')
  635. 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]*$//')
  636. 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]*$//')
  637. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  638. # Not Set
  639. rconpassword=${rconpassword:-"NOT SET"}
  640. servername=${servername:-"NOT SET"}
  641. serverpassword=${serverpassword:-"NOT SET"}
  642. maxplayers=${maxplayers:-"0"}
  643. fi
  644. }
  645. fn_info_config_source(){
  646. if [ ! -f "${servercfgfullpath}" ]; then
  647. servername="${unavailable}"
  648. serverpassword="${unavailable}"
  649. rconpassword="${unavailable}"
  650. else
  651. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  652. 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]*$//')
  653. 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]*$//')
  654. # Not Set
  655. servername=${servername:-"NOT SET"}
  656. serverpassword=${serverpassword:-"NOT SET"}
  657. rconpassword=${rconpassword:-"NOT SET"}
  658. fi
  659. }
  660. fn_info_config_starbound(){
  661. if [ ! -f "${servercfgfullpath}" ]; then
  662. servername="${unavailable}"
  663. queryenabled="${unavailable}"
  664. rconenabled="${unavailable}"
  665. rconpassword="${unavailable}"
  666. port="21025"
  667. queryport="21025"
  668. rconport="21026"
  669. maxplayers="8"
  670. else
  671. servername=$(grep "serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/serverName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  672. queryenabled=$(grep "runQueryServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runQueryServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  673. rconenabled=$(grep "runRconServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runRconServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  674. rconpassword=$(grep "rconServerPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/rconServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  675. port=$(grep "gameServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  676. queryport=$(grep "queryServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  677. rconport=$(grep "rconServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  678. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | tr -cd '[:digit:]')
  679. # Not Set
  680. servername=${servername:-"NOT SET"}
  681. queryenabled=${queryenabled:-"NOT SET"}
  682. rconenabled=${rconenabled:-"NOT SET"}
  683. rconpassword=${rconpassword:-"NOT SET"}
  684. port=${port:-"21025"}
  685. queryport=${queryport:-"21025"}
  686. rconport=${rconport:-"21026"}
  687. maxplayers=${maxplayers:-"8"}
  688. fi
  689. }
  690. fn_info_config_teamspeak3(){
  691. if [ ! -f "${servercfgfullpath}" ]; then
  692. dbplugin="${unavailable}"
  693. port="9987"
  694. queryport="10011"
  695. fileport="30033"
  696. else
  697. dbplugin=$(grep "dbplugin=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/dbplugin=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  698. port=$(grep "default_voice_port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  699. queryport=$(grep "query_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  700. fileport=$(grep "filetransfer_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  701. 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]*$//')
  702. ipsetinconfig=1
  703. ipinconfigvar="voice_ip"
  704. # Not Set
  705. port=${port:-"9987"}
  706. queryport=${queryport:-"10011"}
  707. fileport=${fileport:-"30033"}
  708. fi
  709. }
  710. fn_info_config_mumble(){
  711. if [ ! -f "${servercfgfullpath}" ]; then
  712. port="64738"
  713. queryport="${port}"
  714. servername="Mumble"
  715. else
  716. port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  717. queryport="${port}"
  718. ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  719. ipsetinconfig=1
  720. ipinconfigvar="voice_ip"
  721. # Not Set
  722. port=${port:-"64738"}
  723. queryport=${queryport:-"64738"}
  724. servername="Mumble Port ${port}"
  725. fi
  726. }
  727. fn_info_config_samp(){
  728. if [ ! -f "${servercfgfullpath}" ]; then
  729. servername="unnamed server"
  730. serverpassword="${unavailable}"
  731. rconpassword="${unavailable}"
  732. port="7777"
  733. maxplayers="50"
  734. else
  735. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  736. 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]*$//')
  737. port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  738. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  739. # Not Set
  740. servername=${servername:-"NOT SET"}
  741. rconpassword=${rconpassword:-"NOT SET"}
  742. port=${port:-"8303"}
  743. maxplayers=${maxplayers:-"12"}
  744. fi
  745. }
  746. fn_info_config_teeworlds(){
  747. if [ ! -f "${servercfgfullpath}" ]; then
  748. servername="unnamed server"
  749. serverpassword="${unavailable}"
  750. rconpassword="${unavailable}"
  751. port="8303"
  752. maxplayers="12"
  753. else
  754. 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]*$//')
  755. 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]*$//')
  756. 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]*$//')
  757. port=$(grep "sv_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  758. maxplayers=$(grep "sv_max_clients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  759. # Not Set
  760. servername=${servername:-"NOT SET"}
  761. serverpassword=${serverpassword:-"NOT SET"}
  762. rconpassword=${rconpassword:-"NOT SET"}
  763. port=${port:-"8303"}
  764. maxplayers=${maxplayers:-"12"}
  765. fi
  766. }
  767. fn_info_config_terraria(){
  768. if [ ! -f "${servercfgfullpath}" ]; then
  769. servername="${unavailable}"
  770. port="${zero}"
  771. gameworld="${unavailable}"
  772. maxplayers="${zero}"
  773. else
  774. servername=$(grep "worldname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/worldname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  775. port=$(grep "port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  776. 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]*$//')
  777. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  778. # Not Set
  779. servername=${servername:-"NOT SET"}
  780. port=${port:-"0"}
  781. gameworld=${gameworld:-"NOT SET"}
  782. maxplayers=${maxplayers:-"0"}
  783. fi
  784. }
  785. fn_info_config_towerunite(){
  786. if [ ! -f "${servercfgfullpath}" ]; then
  787. servername="${unavailable}"
  788. maxplayers="${zero}"
  789. else
  790. servername=$(grep "ServerTitle" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerTitle//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  791. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  792. # Not Set
  793. servername=${servername:-"NOT SET"}
  794. maxplayers=${maxplayers:-"0"}
  795. fi
  796. }
  797. fn_info_config_unreal(){
  798. if [ ! -f "${servercfgfullpath}" ]; then
  799. servername="${unavailable}"
  800. serverpassword="${unavailable}"
  801. adminpassword="${unavailable}"
  802. port="${zero}"
  803. queryport="${zero}"
  804. gsqueryport="${zero}"
  805. webadminenabled="${unavailable}"
  806. webadminport="${zero}"
  807. webadminuser="${unavailable}"
  808. webadminpass="${unavailable}"
  809. else
  810. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  811. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  812. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  813. port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  814. queryport=$((port + 1))
  815. gsqueryport=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  816. webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  817. webadminport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  818. if [ "${engine}" == "unreal" ]; then
  819. webadminuser=$(grep "AdminUsername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminUsername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  820. 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]*$//'| sed 's/\r$//')
  821. else
  822. webadminuser=$(grep "AdminName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  823. webadminpass="${adminpassword}"
  824. fi
  825. # Not Set
  826. servername=${servername:-"NOT SET"}
  827. serverpassword=${serverpassword:-"NOT SET"}
  828. adminpassword=${adminpassword:-"NOT SET"}
  829. port=${port:-"0"}
  830. queryport=${queryport:-"0"}
  831. gsqueryport=${gsqueryport:-"0"}
  832. webadminenabled=${webadminenabled:-"NOT SET"}
  833. webadminport=${webadminport:-"0"}
  834. webadminuser=${webadminuser:-"NOT SET"}
  835. webadminpass=${webadminpass:-"NOT SET"}
  836. fi
  837. }
  838. fn_info_config_unreal3(){
  839. if [ ! -f "${servercfgfullpath}" ]; then
  840. servername="${unavailable}"
  841. serverpassword="${unavailable}"
  842. adminpassword="${unavailable}"
  843. webadminenabled="${unavailable}"
  844. webadminport="${zero}"
  845. webadminuser="${unavailable}"
  846. webadminpass="${unavailable}"
  847. else
  848. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  849. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  850. 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]*$//')
  851. webadminport=$(grep "ListenPort" "${servercfgdir}/UTWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  852. webadminuser="Admin"
  853. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  854. # Not Set
  855. servername=${servername:-"NOT SET"}
  856. serverpassword=${serverpassword:-"NOT SET"}
  857. adminpassword=${adminpassword:-"NOT SET"}
  858. port=${port:-"0"}
  859. webadminenabled=${webadminenabled:-"NOT SET"}
  860. webadminport=${webadminport:-"0"}
  861. webadminuser=${webadminuser:-"NOT SET"}
  862. webadminpass=${webadminpass:-"NOT SET"}
  863. fi
  864. }
  865. fn_info_config_warfork(){
  866. if [ ! -f "${servercfgfullpath}" ]; then
  867. rconpassword="${unavailable}"
  868. servername="${unavailable}"
  869. maxplayers="${zero}"
  870. else
  871. 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]*$//')
  872. 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]*$//')
  873. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  874. # Not Set
  875. rconpassword=${rconpassword:-"NOT SET"}
  876. servername=${servername:-"NOT SET"}
  877. maxplayers=${maxplayers:-"0"}
  878. fi
  879. }
  880. fn_info_config_kf2(){
  881. if [ ! -f "${servercfgfullpath}" ]; then
  882. servername="${unavailable}"
  883. serverpassword="${unavailable}"
  884. adminpassword="${unavailable}"
  885. port="${unavailable}"
  886. queryport="${unavailable}"
  887. webadminenabled="${unavailable}"
  888. webadminport="${zero}"
  889. webadminuser="${unavailable}"
  890. webadminpass="${unavailable}"
  891. else
  892. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  893. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  894. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  895. port=$(grep "Port" "${servercfgdir}/LinuxServer-KFEngine.ini" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  896. 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]*$//')
  897. webadminport=$(grep "ListenPort" "${servercfgdir}/KFWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  898. webadminuser="Admin"
  899. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  900. # Not Set
  901. servername=${servername:-"NOT SET"}
  902. serverpassword=${serverpassword:-"NOT SET"}
  903. adminpassword=${adminpassword:-"NOT SET"}
  904. port=${port:-"0"}
  905. webadminenabled=${webadminenabled:-"NOT SET"}
  906. webadminport=${webadminport:-"0"}
  907. webadminuser=${webadminuser:-"NOT SET"}
  908. webadminpass=${webadminpass:-"NOT SET"}
  909. fi
  910. }
  911. fn_info_config_sdtd(){
  912. if [ ! -f "${servercfgfullpath}" ]; then
  913. servername="${unavailable}"
  914. serverpassword="${unavailable}"
  915. port="${zero}"
  916. queryport="${zero}"
  917. webadminenabled="${unavailable}"
  918. webadminport="${zero}"
  919. webadminpass="${unavailable}"
  920. telnetenabled="${unavailable}"
  921. telnetport="${zero}"
  922. telnetpass="${unavailable}"
  923. maxplayers="${unavailable}"
  924. gamemode="${unavailable}"
  925. gameworld="${unavailable}"
  926. else
  927. servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  928. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  929. port=$(grep "ServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  930. queryport=${port:-"0"}
  931. webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  932. webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  933. webadminpass=$(grep "ControlPanelPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  934. telnetenabled=$(grep "TelnetEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  935. telnetport=$(grep "TelnetPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  936. telnetpass=$(grep "TelnetPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  937. maxplayers=$(grep "ServerMaxPlayerCount" "${servercfgfullpath}" | tr -cd '[:digit:]')
  938. gamemode=$(grep "GameMode" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  939. gameworld=$(grep "GameWorld" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  940. # Not Set
  941. servername=${servername:-"NOT SET"}
  942. serverpassword=${serverpassword:-"NOT SET"}
  943. port=${port:-"0"}
  944. queryport=${queryport:-"0"}
  945. webadminenabled=${webadminenabled:-"NOT SET"}
  946. webadminport=${webadminport:-"0"}
  947. webadminpass=${webadminpass:-"NOT SET"}
  948. telnetenabled=${telnetenabled:-"NOT SET"}
  949. telnetport=${telnetport:-"0"}
  950. telnetpass=${telnetpass:-"NOT SET"}
  951. maxplayers=${maxplayers:-"NOT SET"}
  952. gamemode=${gamemode:-"NOT SET"}
  953. gameworld=${gameworld:-"NOT SET"}
  954. fi
  955. }
  956. fn_info_config_mta(){
  957. if [ ! -f "${servercfgfullpath}" ]; then
  958. ip="${zero}"
  959. port="${unavailable}"
  960. httpport="${unavailable}"
  961. ase="${unavailable}"
  962. servername="${unavailable}"
  963. serverpassword="${unavailable}"
  964. maxplayers="${zero}"
  965. else
  966. 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:]')
  967. 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:]')
  968. 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:]')
  969. 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 "<")
  970. 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 "<")
  971. 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:]')
  972. if [ "${ase}" == "1" ]; then
  973. ase="Enabled"
  974. else
  975. ase="Disabled"
  976. fi
  977. 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 "<")
  978. ipsetinconfig=1
  979. ipinconfigvar="serverip"
  980. # Not Set
  981. port=${port:-"22003"}
  982. httpport=${httpport:-"22005"}
  983. ase=${ase:-"Disabled"}
  984. servername=${servername:-"NOT SET"}
  985. serverpassword=${serverpassword:-"NOT SET"}
  986. maxplayers=${maxplayers:-"0"}
  987. fi
  988. }
  989. fn_info_config_wolfensteinenemyterritory(){
  990. if [ ! -f "${servercfgfullpath}" ]; then
  991. rconpassword="${unavailable}"
  992. servername="${unavailable}"
  993. serverpassword="${unavailable}"
  994. maxplayers="${zero}"
  995. port="${zero}"
  996. queryport="${zero}"
  997. else
  998. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  999. queryport="${port}"
  1000. 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]*$//')
  1001. 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]*$//')
  1002. 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]*$//')
  1003. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1004. 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]*$//')
  1005. ipsetinconfig=1
  1006. ipinconfigvar="set net_ip"
  1007. # Not Set
  1008. rconpassword=${rconpassword:-"NOT SET"}
  1009. servername=${servername:-"NOT SET"}
  1010. serverpassword=${serverpassword:-"NOT SET"}
  1011. maxplayers=${maxplayers:-"0"}
  1012. port=${port:-"27960"}
  1013. queryport=${queryport:-"27960"}
  1014. fi
  1015. }
  1016. fn_info_config_etlegacy(){
  1017. if [ ! -f "${servercfgfullpath}" ]; then
  1018. rconpassword="${unavailable}"
  1019. servername="${unavailable}"
  1020. serverpassword="${unavailable}"
  1021. maxplayers="${zero}"
  1022. port="${zero}"
  1023. queryport="${zero}"
  1024. else
  1025. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1026. queryport="${port}"
  1027. 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]*$//')
  1028. 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]*$//')
  1029. 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]*$//')
  1030. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1031. 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]*$//')
  1032. ipsetinconfig=1
  1033. ipinconfigvar="set net_ip"
  1034. # Not Set
  1035. rconpassword=${rconpassword:-"NOT SET"}
  1036. servername=${servername:-"NOT SET"}
  1037. serverpassword=${serverpassword:-"NOT SET"}
  1038. maxplayers=${maxplayers:-"0"}
  1039. port=${port:-"27960"}
  1040. queryport=${queryport:-"27960"}
  1041. fi
  1042. }
  1043. fn_info_config_wurmunlimited(){
  1044. if [ ! -f "${servercfgfullpath}" ]; then
  1045. port="${zero}"
  1046. queryport="${zero}"
  1047. rconpassword="${unavailable}"
  1048. servername="${unavailable}"
  1049. serverpassword="${unavailable}"
  1050. adminpassword="${unavailable}"
  1051. maxplayers="${zero}"
  1052. else
  1053. port=$(grep "EXTERNALPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1054. queryport=$(grep "QUERYPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1055. servername=$(grep "SERVERNAME=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1056. serverpassword=$(grep "SERVERPASSWORD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1057. adminpassword=$(grep "ADMINPWD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMINPWD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1058. maxplayers=$(grep "MAXPLAYERS=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1059. ip=$(grep "IP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/IP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1060. ipsetinconfig=1
  1061. ipinconfigvar="IP"
  1062. # Not Set
  1063. port=${port:-"3724"}
  1064. queryport=${queryport:-"27017"}
  1065. servername=${servername:-"NOT SET"}
  1066. serverpassword=${serverpassword:-"NOT SET"}
  1067. adminpassword=${adminpassword:-"NOT SET"}
  1068. maxplayers=${maxplayers:-"0"}
  1069. fi
  1070. }
  1071. fn_info_config_squad(){
  1072. if [ ! -f "${servercfgfullpath}" ]; then
  1073. servername="${unavailable}"
  1074. maxplayers="${unavailable}"
  1075. else
  1076. servername="$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')"
  1077. maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
  1078. fi
  1079. if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
  1080. rconport=${unavailable}
  1081. rconpassword=${unavailable}
  1082. else
  1083. rconport=$(grep "Port=" "${servercfgdir}/Rcon.cfg" | tr -cd '[:digit:]')
  1084. rconpassword=$(grep "Password=" "${servercfgdir}/Rcon.cfg" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1085. fi
  1086. rconport=${rconport:-"0"}
  1087. if [ -z "${rconpassword}" ]||[ ${#rconpassword} == 1 ]; then
  1088. rconpassword="NOT SET"
  1089. fi
  1090. servername=${servername:-"NOT SET"}
  1091. serverpassword=${serverpassword:-"NOT SET"}
  1092. maxplayers=${maxplayers:-"0"}
  1093. }
  1094. fn_info_config_stationeers(){
  1095. if [ ! -f "${servercfgfullpath}" ]; then
  1096. servername="${unavailable}"
  1097. serverpassword="${unavailable}"
  1098. rconpassword="${unavailable}"
  1099. maxplayers="${unavailable}"
  1100. else
  1101. servername=$(grep "SERVERNAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1102. 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]*$//')
  1103. rconpassword=$(grep "RCONPASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/RCONPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1104. maxplayers=$(grep "MAXPLAYER" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/MAXPLAYER//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1105. # Not Set
  1106. servername=${servername:-"NOT SET"}
  1107. serverpassword=${serverpassword:-"NOT SET"}
  1108. rconpassword=${rconpassword:-"NOT SET"}
  1109. maxplayers=${maxplayers:-"0"}
  1110. fi
  1111. }
  1112. fn_info_config_mordhau(){
  1113. if [ ! -f "${servercfgfullpath}" ]; then
  1114. servername="${unavailable}"
  1115. serverpassword="${unavailable}"
  1116. rconpassword="${unavailable}"
  1117. maxplayers="${unavailable}"
  1118. else
  1119. servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1120. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1121. rconpassword=$(grep "AdminPassword" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1122. maxplayers=$(grep "MaxSlots" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1123. # Not set
  1124. servername=${servername:-"NOT SET"}
  1125. serverpassword=${serverpassword:-"NOT SET"}
  1126. rconpassword=${rconpassword:-"NOT SET"}
  1127. maxplayers=${maxplayers:-"0"}
  1128. fi
  1129. }
  1130. fn_info_config_soldat(){
  1131. if [ ! -f "${servercfgfullpath}" ]; then
  1132. servername="${unavailable}"
  1133. serverpassword="${unavailable}"
  1134. adminpassword="${unavailable}"
  1135. else
  1136. servername=$(grep "Server_Name" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1137. serverpassword=$(grep "Game_Password" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1138. adminpassword=$(grep "Admin_Password" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1139. fi
  1140. }
  1141. # ARK: Survival Evolved
  1142. if [ "${shortname}" == "ark" ]; then
  1143. fn_info_config_ark
  1144. # Ballistic Overkill
  1145. elif [ "${shortname}" == "bo" ]; then
  1146. fn_info_config_ballistic_overkill
  1147. # Barotrauma
  1148. elif [ "${shortname}" == "bt" ]; then
  1149. fn_info_config_barotrauma
  1150. # Battalion 1944
  1151. elif [ "${shortname}" == "bt1944" ]; then
  1152. fn_info_config_battalion1944
  1153. # Battlefield: 1942
  1154. elif [ "${shortname}" == "bf1942" ]; then
  1155. fn_info_config_bf1942
  1156. # Call of Duty
  1157. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]; then
  1158. fn_info_config_cod
  1159. # Call of Duty 2
  1160. elif [ "${shortname}" == "cod2" ]; then
  1161. fn_info_config_cod2
  1162. # Call of Duty 4
  1163. elif [ "${shortname}" == "cod4" ]; then
  1164. fn_info_config_cod4
  1165. # Call of Duty: World at War
  1166. elif [ "${shortname}" == "codwaw" ]; then
  1167. fn_info_config_codwaw
  1168. # Dont Starve Together
  1169. elif [ "${shortname}" == "dst" ]; then
  1170. fn_info_config_dontstarve
  1171. # Eco
  1172. elif [ "${shortname}" == "eco" ]; then
  1173. fn_info_config_eco
  1174. # Factorio
  1175. elif [ "${shortname}" == "fctr" ]; then
  1176. fn_info_config_factorio
  1177. # Insurgency: Sandstorm
  1178. elif [ "${shortname}" == "inss" ]; then
  1179. fn_info_config_inss
  1180. # Just Cause 2
  1181. elif [ "${shortname}" == "jc2" ]; then
  1182. fn_info_config_justcause2
  1183. # Just Cause 3
  1184. elif [ "${shortname}" == "jc3" ]; then
  1185. fn_info_config_justcause3
  1186. # Killing Floor 2
  1187. elif [ "${shortname}" == "kf2" ]; then
  1188. fn_info_config_kf2
  1189. # Medal of Honor: Allied Assault
  1190. elif [ "${shortname}" == "mohaa" ]; then
  1191. fn_info_config_mohaa
  1192. # QuakeWorld
  1193. elif [ "${shortname}" == "qw" ]; then
  1194. fn_info_config_quakeworld
  1195. # Quake 2
  1196. elif [ "${shortname}" == "q2" ]; then
  1197. fn_info_config_quake2
  1198. # Quake 3
  1199. elif [ "${shortname}" == "q3" ]; then
  1200. fn_info_config_quake3
  1201. # Quake Live
  1202. elif [ "${shortname}" == "ql" ]; then
  1203. fn_info_config_quakelive
  1204. # Minecraft
  1205. elif [ "${shortname}" == "mc" ]; then
  1206. fn_info_config_minecraft
  1207. # Post Scriptum: The Bloody Seventh
  1208. elif [ "${shortname}" == "pstbs" ]; then
  1209. fn_info_config_pstbs
  1210. # Project Cars
  1211. elif [ "${shortname}" == "pc" ]; then
  1212. fn_info_config_projectcars
  1213. # Project Zomboid
  1214. elif [ "${shortname}" == "pz" ]; then
  1215. fn_info_config_projectzomboid
  1216. # ARMA 3
  1217. elif [ "${shortname}" == "arma3" ]; then
  1218. fn_info_config_realvirtuality
  1219. # Return to Castle Wolfenstein
  1220. elif [ "${shortname}" == "rtcw" ]; then
  1221. fn_info_config_rtcw
  1222. # Rising World
  1223. elif [ "${shortname}" == "rw" ]; then
  1224. fn_info_config_risingworld
  1225. # Serious Sam
  1226. elif [ "${shortname}" == "ss3" ]; then
  1227. fn_info_config_seriousengine35
  1228. # Soldat
  1229. elif [ "${shortname}" == "sol" ]; then
  1230. fn_info_config_soldat
  1231. # Soldier Of Fortune 2: Gold Edition
  1232. elif [ "${shortname}" == "sof2" ]; then
  1233. fn_info_config_sof2
  1234. # Source Engine Games
  1235. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
  1236. fn_info_config_source
  1237. # Starbound
  1238. elif [ "${shortname}" == "sb" ]; then
  1239. fn_info_config_starbound
  1240. # Teamspeak 3
  1241. elif [ "${shortname}" == "ts3" ]; then
  1242. fn_info_config_teamspeak3
  1243. # Mumble
  1244. elif [ "${shortname}" == "mumble" ]; then
  1245. fn_info_config_mumble
  1246. # San Andreas Multiplayer
  1247. elif [ "${shortname}" == "samp" ]; then
  1248. fn_info_config_samp
  1249. # StickyBots
  1250. elif [ "${shortname}" == "pstbs" ]; then
  1251. fn_info_config_sbots
  1252. # Teeworlds
  1253. elif [ "${shortname}" == "tw" ]; then
  1254. fn_info_config_teeworlds
  1255. # Terraria
  1256. elif [ "${shortname}" == "terraria" ]; then
  1257. fn_info_config_terraria
  1258. # Tower Unite
  1259. elif [ "${shortname}" == "tu" ]; then
  1260. fn_info_config_towerunite
  1261. # Unreal/Unreal 2 engine
  1262. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  1263. fn_info_config_unreal
  1264. # Unreal 3 engine
  1265. elif [ "${engine}" == "unreal3" ]; then
  1266. fn_info_config_unreal3
  1267. # 7 Day To Die (unity3d)
  1268. elif [ "${shortname}" == "sdtd" ]; then
  1269. fn_info_config_sdtd
  1270. elif [ "${shortname}" == "wet" ]; then
  1271. fn_info_config_wolfensteinenemyterritory
  1272. elif [ "${shortname}" == "wf" ]; then
  1273. fn_info_config_warfork
  1274. elif [ "${shortname}" == "etl" ]; then
  1275. fn_info_config_etlegacy
  1276. elif [ "${shortname}" == "wurm" ]; then
  1277. fn_info_config_wurmunlimited
  1278. elif [ "${shortname}" == "mta" ]; then
  1279. fn_info_config_mta
  1280. elif [ "${shortname}" == "squad" ]; then
  1281. fn_info_config_squad
  1282. # Stationeers
  1283. elif [ "${shortname}" == "st" ]; then
  1284. fn_info_config_stationeers
  1285. elif [ "${shortname}" == "mh" ]; then
  1286. fn_info_config_mordhau
  1287. fi