info_config.sh 51 KB

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