info_config.sh 41 KB

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