info_config.sh 43 KB

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