info_config.sh 45 KB

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