info_game.sh 85 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184
  1. #!/bin/bash
  2. # LinuxGSM info_game.sh module
  3. # Author: Daniel Gibbs
  4. # Contributors: http://linuxgsm.com/contrib
  5. # Website: https://linuxgsm.com
  6. # Description: Gathers various game server information.
  7. functionselfname="$(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_game_ac(){
  15. if [ ! -f "${servercfgfullpath}" ]; then
  16. httpport="${zero}"
  17. port="${zero}"
  18. queryport="${zero}"
  19. servername="${unavailable}"
  20. adminpassword="${unavailable}"
  21. else
  22. httpport=$(grep "HTTP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]')
  23. port=$(grep "TCP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]')
  24. queryport="${httpport}"
  25. servername=$(grep "NAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/NAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| head -n 1)
  26. adminpassword=$(grep "ADMIN_PASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMIN_PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  27. # Not Set
  28. httpport=${httpport:-"0"}
  29. port=${port:-"0"}
  30. queryport=${queryport:-"0"}
  31. servername=${servername:-"NOT SET"}
  32. adminpassword=${adminpassword:-"NOT SET"}
  33. fi
  34. }
  35. fn_info_game_ark(){
  36. # Config
  37. if [ ! -f "${servercfgfullpath}" ]; then
  38. servername="${unavailable}"
  39. adminpassword="${unavailable}"
  40. serverpassword="${unavailable}"
  41. else
  42. servername=$(grep "SessionName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/SessionName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  43. adminpassword=$(grep "ServerAdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerAdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' )
  44. serverpassword=$( grep "ServerPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  45. # Not Set
  46. servername=${servername:-"NOT SET"}
  47. adminpassword=${adminpassword:-"NOT SET"}
  48. serverpassword=${serverpassword:-"NOT SET"}
  49. fi
  50. # Parameters
  51. port=${port:-"0"}
  52. queryport=${queryport:-"0"}
  53. rconport=${rconport:-"0"}
  54. rawport=$((port+1))
  55. maxplayers=${maxplayers:-"0"}
  56. }
  57. fn_info_game_arma3(){
  58. # Config
  59. if [ ! -f "${servercfgfullpath}" ]; then
  60. servername="${unavailable}"
  61. adminpassword="${unavailable}"
  62. serverpassword="${unavailable}"
  63. maxplayers="${zero}"
  64. else
  65. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  66. adminpassword=$(grep "passwordAdmin" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/passwordAdmin//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  67. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  68. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  69. # Not Set
  70. servername=${servername:-"NOT SET"}
  71. adminpassword=${adminpassword:-"NOT SET"}
  72. serverpassword=${serverpassword:-"NOT SET"}
  73. maxplayers=${maxplayers:-"0"}
  74. fi
  75. # Parameters
  76. port=${port:-"2302"}
  77. voiceport=${port:-"2302"}
  78. queryport=$((port+1))
  79. steammasterport=$((port+2))
  80. voiceunusedport=$((port+3))
  81. battleeyeport=$((port+4))
  82. }
  83. fn_info_game_av() {
  84. if [ ! -f "${servercfgfullpath}" ]; then
  85. maxplayers="${unavailable}"
  86. servername="${unavailable}"
  87. serverpassword="${unavailable}"
  88. rconpassword="${unavailable}"
  89. rconport="${unavailable}"
  90. rconenabled="${unavailable}"
  91. queryport="${unavailable}"
  92. else
  93. maxplayers=$(grep "maxPlayers=" "${servercfgfullpath}" | sed 's/maxPlayers=//')
  94. servername=$(grep "name=" "${servercfgfullpath}" | sed 's/name=//')
  95. serverpassword=$(grep "password=" "${servercfgfullpath}" | sed 's/password=//')
  96. port=$(grep "port=" "${servercfgfullpath}" | sed 's/port=//')
  97. queryport=$((port+3))
  98. steamqueryport=$((port+20))
  99. steammasterport=$((port+21))
  100. rconport=$(grep "rconPort=" "${servercfgfullpath}" | sed 's/rconPort=//')
  101. rconpassword=$(grep "rconPassword=" "${servercfgfullpath}" | sed 's/rconPassword=//')
  102. if [ -n "${rconpassword}" ]; then
  103. rconenabled="true"
  104. fi
  105. # Not set
  106. maxplayers=${maxplayers:-"NOT SET"}
  107. servername=${servername:-"NOT SET"}
  108. serverpassword=${serverpassword:-"NOT SET"}
  109. rconpassword=${rconpassword:-"NOT SET"}
  110. rconport=${rconport:-"0"}
  111. rconenabled=${rconenabled:-"false"}
  112. queryport=${queryport:-"0"}
  113. fi
  114. }
  115. fn_info_game_bf1942(){
  116. if [ ! -f "${servercfgfullpath}" ]; then
  117. servername="${unavailable}"
  118. serverpassword="${unavailable}"
  119. maxplayers="${zero}"
  120. port="${zero}"
  121. queryport="${zero}"
  122. else
  123. servername=$(grep -E "^game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
  124. serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
  125. maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  126. port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  127. queryport="22000"
  128. configip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
  129. ipsetinconfig=1
  130. ipinconfigvar="game.serverIP"
  131. # Not Set
  132. servername=${servername:-"NOT SET"}
  133. serverpassword=${serverpassword:-"NOT SET"}
  134. maxplayers=${maxplayers:-"0"}
  135. port=${port:-"0"}
  136. fi
  137. }
  138. fn_info_game_bfv(){
  139. if [ ! -f "${servercfgfullpath}" ]; then
  140. servername="${unavailable}"
  141. serverpassword="${unavailable}"
  142. maxplayers="${zero}"
  143. port="${zero}"
  144. queryport="${zero}"
  145. else
  146. servername=$(grep "game.serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName//g' | tr -d '=\";,:' | xargs)
  147. serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
  148. maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  149. port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  150. queryport="23000"
  151. configip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
  152. ipsetinconfig=1
  153. ipinconfigvar="game.serverIP"
  154. # Not Set
  155. servername=${servername:-"NOT SET"}
  156. serverpassword=${serverpassword:-"NOT SET"}
  157. maxplayers=${maxplayers:-"0"}
  158. port=${port:-"0"}
  159. fi
  160. }
  161. fn_info_game_bo(){
  162. if [ ! -f "${servercfgfullpath}" ]; then
  163. servername="${unavailable}"
  164. serverpassword="${unavailable}"
  165. port="${zero}"
  166. queryport="${zero}"
  167. maxplayers="${unavailable}"
  168. else
  169. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  170. serverpassword=$(grep "Password=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  171. port=$(grep "ServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  172. queryport=$((port+1))
  173. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  174. # Not Set
  175. servername=${servername:-"NOT SET"}
  176. serverpassword=${serverpassword:-"NOT SET"}
  177. port=${port:-"0"}
  178. queryport=${queryport:-"0"}
  179. maxplayers=${maxplayers:-"NOT SET"}
  180. fi
  181. }
  182. fn_info_game_bt(){
  183. # Config
  184. if [ ! -f "${servercfgfullpath}" ]; then
  185. servername="${unavailable}"
  186. serverpassword="${unavailable}"
  187. port="${zero}"
  188. queryport="${zero}"
  189. maxplayers="${unavailable}"
  190. else
  191. servername=$(grep -Po 'name="\K.*(?=")' "${servercfgfullpath}") # Assuming GNU grep is used
  192. serverpassword=$(grep -Po 'password="\K.*(?=")' "${servercfgfullpath}") # Assuming GNU grep is used
  193. port=$(grep " port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  194. queryport=$(grep "queryport=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  195. maxplayers=$(grep "maxplayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  196. # Not set
  197. servername=${servername:-"NOT SET"}
  198. serverpassword=${serverpassword:-"NOT SET"}
  199. port=${port:-"0"}
  200. queryport=${queryport:-"0"}
  201. maxplayers=${maxplayers:-"0"}
  202. fi
  203. # Parameters
  204. port=${port:-"0"}
  205. queryport=${queryport:-"0"}
  206. }
  207. fn_info_game_bt1944(){
  208. # Config
  209. if [ ! -f "${servercfgfullpath}" ]; then
  210. servername="${unavailable}"
  211. serverpassword="${unavailable}"
  212. gamemode="${unavailable}"
  213. else
  214. servername=$(grep -m2 "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  215. serverpassword=$(grep "Password" "${servercfgfullpath}" | grep -v "RCONPassword" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  216. gamemode=$(grep -m2 "PlayMode" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/PlayMode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  217. # Not Set
  218. servername=${servername:-"NOT SET"}
  219. serverpassword=${serverpassword:-"NOT SET"}
  220. gamemode=${gamemode:-"NOT SET"}
  221. fi
  222. # Parameters
  223. port=${port:-"0"}
  224. rconport=$((port+2))
  225. queryport=${queryport:-"0"}
  226. }
  227. fn_info_game_cmw(){
  228. if [ ! -f "${servercfgfullpath}" ]; then
  229. servername="${unavailable}"
  230. serverpassword="${unavailable}"
  231. adminpassword="${unavailable}"
  232. rconport="${unavailable}"
  233. else
  234. servername=$(grep -E "^ServerName" "${servercfgfullpath}" | sed 's/^ServerName=//')
  235. rconport=$(grep -E "^RConPort=" "${servercfgdir}/DefaultGame.ini" | tr -cd '[:digit:]')
  236. # Not Set
  237. servername=${servername:-"NOT SET"}
  238. rconport=${port:-"0"}
  239. fi
  240. }
  241. fn_info_game_cod(){
  242. # Config
  243. if [ ! -f "${servercfgfullpath}" ]; then
  244. servername="${unavailable}"
  245. rconpassword="${unavailable}"
  246. else
  247. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  248. 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]*$//')
  249. # Not Set
  250. servername=${servername:-"NOT SET"}
  251. rconpassword=${rconpassword=:-"NOT SET"}
  252. fi
  253. # Parameters
  254. defaultmap=${defaultmap:-"NOT SET"}
  255. maxplayers=${maxplayers:-"0"}
  256. port=${port:-"0"}
  257. queryport=${port:-"0"}
  258. }
  259. fn_info_game_cod2(){
  260. if [ ! -f "${servercfgfullpath}" ]; then
  261. servername="${unavailable}"
  262. rconpassword="${unavailable}"
  263. else
  264. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  265. 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]*$//')
  266. # Not Set
  267. servername=${servername:-"NOT SET"}
  268. rconpassword=${rconpassword=:-"NOT SET"}
  269. fi
  270. }
  271. fn_info_game_cod4(){
  272. if [ ! -f "${servercfgfullpath}" ]; then
  273. servername="${unavailable}"
  274. rconpassword="${unavailable}"
  275. else
  276. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  277. 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]*$//')
  278. # Not Set
  279. servername=${servername:-"NOT SET"}
  280. rconpassword=${rconpassword=:-"NOT SET"}
  281. fi
  282. }
  283. fn_info_game_codwaw(){
  284. if [ ! -f "${servercfgfullpath}" ]; then
  285. servername="${unavailable}"
  286. rconpassword="${unavailable}"
  287. else
  288. servername=$(grep "sv_hostname " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs)
  289. 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]*$//')
  290. # Not Set
  291. servername=${servername:-"NOT SET"}
  292. rconpassword=${rconpassword=:-"NOT SET"}
  293. fi
  294. }
  295. fn_info_game_col(){
  296. if [ -f "${servercfgfullpath}" ]; then
  297. servername=$(jq -r '.ServerSettings.ServerName' "${servercfgfullpath}")
  298. serverpassword=$(jq -r '.ServerSettings.ServerPassword' "${servercfgfullpath}")
  299. maxplayers=$(jq -r '.ServerSettings.MaxPlayerCount' "${servercfgfullpath}")
  300. port=$(jq -r '.ServerSettings.ServerGamePort' "${servercfgfullpath}")
  301. steamport=$(jq -r '.ServerSettings.ServerSteamPort' "${servercfgfullpath}")
  302. rconpassword=$(jq -r '.ServerSettings.RCONPassword' "${servercfgfullpath}")
  303. configip=$(jq -r '.ServerSettings.ServerIP' "${servercfgfullpath}")
  304. # password not set
  305. serverpassword=${serverpassword:-"NOT SET"}
  306. queryport=${port:-"0"}
  307. else
  308. servername=${servername:-"NOT SET"}
  309. serverpassword=${serverpassword:-"NOT SET"}
  310. maxplayers=${maxplayers:-"0"}
  311. port=${port:-"27004"}
  312. steamport=${steamport:-"27005"}
  313. rconpassword=${rconpassword:-"NOT SET"}
  314. fi
  315. }
  316. fn_info_game_dodr(){
  317. if [ ! -f "${servercfgfullpath}" ]; then
  318. maxplayers="${zero}"
  319. else
  320. maxplayers=$(sed -nr 's/^iServerMaxPlayers=(.*)$/\1/p' "${servercfgfullpath}")
  321. # Not Set
  322. maxplayers=${maxplayers:-"NOT SET"}
  323. fi
  324. }
  325. fn_info_game_dst(){
  326. # Config
  327. if [ ! -f "${clustercfgfullpath}" ]; then
  328. servername="${unavailable}"
  329. serverpassword="${unavailable}"
  330. maxplayers="${zero}"
  331. gamemode="${unavailable}"
  332. tickrate="${zero}"
  333. masterport="${zero}"
  334. else
  335. 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]*$//')
  336. 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]*$//')
  337. maxplayers=$(grep "max_players" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  338. 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]*$//')
  339. tickrate=$(grep "tick_rate" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  340. masterport=$(grep "master_port" "${clustercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  341. configip=$(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]*$//')
  342. ipsetinconfig=1
  343. ipinconfigvar="bind_ip"
  344. # Not Set
  345. servername=${servername:-"NOT SET"}
  346. serverpassword=${serverpassword:-"NOT SET"}
  347. maxplayers=${maxplayers:-"0"}
  348. gamemode=${gamemode:-"NOT SET"}
  349. tickrate=${tickrate:-"0"}
  350. masterport=${masterport:-"0"}
  351. fi
  352. if [ ! -f "${servercfgfullpath}" ]; then
  353. port="${zero}"
  354. steamauthport="${zero}"
  355. steammasterport="${zero}"
  356. else
  357. port=$(grep "server_port" "${servercfgfullpath}" | grep "^server_port" | grep -v "#" | tr -cd '[:digit:]')
  358. steamauthport=$(grep "authentication_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  359. steammasterport=$(grep "master_server_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  360. # Not Set
  361. port=${port:-"0"}
  362. steamauthport=${steamauthport:-"0"}
  363. steammasterport=${steammasterport:-"0"}
  364. fi
  365. # Parameters
  366. sharding=${sharding:-"NOT SET"}
  367. master=${master:-"NOT SET"}
  368. shard=${shard:-"NOT SET"}
  369. cluster=${cluster:-"NOT SET"}
  370. cave=${cave:-"NOT SET"}
  371. }
  372. fn_info_game_eco(){
  373. if [ ! -f "${servercfgfullpath}" ]; then
  374. configip="${unavailable}"
  375. servername="${unavailable}"
  376. serverpassword="${unavailable}"
  377. maxplayers="${zero}"
  378. tickrate="${zero}"
  379. port="${zero}"
  380. webadminport="${zero}"
  381. else
  382. configip=$(jq -r '.IPAddress' "${servercfgfullpath}")
  383. servername=$(jq -r '.Description' "${servercfgfullpath}")
  384. serverpassword=$(jq -r '.Password' "${servercfgfullpath}")
  385. maxplayers=$(jq -r '.MaxConnections' "${servercfgfullpath}")
  386. tickrate=$(jq -r '.Rate' "${servercfgfullpath}")
  387. port=$(jq -r '.GameServerPort' "${servercfgfullpath}")
  388. webadminport=$(jq -r '.WebServerPort' "${servercfgfullpath}")
  389. # Not Set
  390. configip=${configip:-"NOT SET"}
  391. servername=${servername:-"NOT SET"}
  392. serverpassword=${serverpassword:-"NOT SET"}
  393. maxplayers=${maxplayers=:-"0"}
  394. port=${port=:-"0"}
  395. webadminport=${webadminport=:-"0"}
  396. fi
  397. }
  398. fn_info_game_etl(){
  399. if [ ! -f "${servercfgfullpath}" ]; then
  400. rconpassword="${unavailable}"
  401. servername="${unavailable}"
  402. serverpassword="${unavailable}"
  403. maxplayers="${zero}"
  404. port="${zero}"
  405. queryport="${zero}"
  406. else
  407. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  408. queryport="${port}"
  409. rconpassword=$(grep "set rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//g' -e '/^\//d' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  410. 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]*$//')
  411. 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]*$//')
  412. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  413. configip=$(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]*$//')
  414. ipsetinconfig=1
  415. ipinconfigvar="set net_ip"
  416. # Not Set
  417. rconpassword=${rconpassword:-"NOT SET"}
  418. servername=${servername:-"NOT SET"}
  419. serverpassword=${serverpassword:-"NOT SET"}
  420. maxplayers=${maxplayers:-"0"}
  421. port=${port:-"27960"}
  422. queryport=${queryport:-"27960"}
  423. fi
  424. }
  425. fn_info_game_fctr(){
  426. # Config
  427. if [ ! -f "${servercfgfullpath}" ]; then
  428. servername="Factorio Server"
  429. serverpassword="${unavailable}"
  430. maxplayers="${zero}"
  431. authtoken=${authtoken:-"NOT SET"}
  432. savegameinterval="${unavailable}"
  433. versioncount="${unavailable}"
  434. else
  435. servername=$(jq -r '.name' "${servercfgfullpath}")
  436. serverpassword=$(jq -r '.game_password' "${servercfgfullpath}")
  437. maxplayers=$(jq -r '.max_players' "${servercfgfullpath}")
  438. authtoken=$(jq -r '.token' "${servercfgfullpath}")
  439. savegameinterval=$(jq -r '.autosave_interval' "${servercfgfullpath}")
  440. versioncount=$(jq -r '.autosave_slots' "${servercfgfullpath}")
  441. # Not Set
  442. servername=${servername:-"NOT SET"}
  443. serverpassword=${serverpassword:-"NOT SET"}
  444. maxplayers=${maxplayers:-"0"}
  445. authtoken=${authtoken:-"NOT SET"}
  446. savegameinterval=${savegameinterval:-"0"}
  447. versioncount=${versioncount:-"0"}
  448. fi
  449. # Parameters
  450. port=${port:-"0"}
  451. rconport=${rconport:-"0"}
  452. rconpassword=${rconpassword:-"NOT SET"}
  453. }
  454. fn_info_game_jc2(){
  455. if [ ! -f "${servercfgfullpath}" ]; then
  456. servername="${unavailable}"
  457. serverpassword="${unavailable}"
  458. maxplayers="${zero}"
  459. port="${zero}"
  460. queryport="${zero}"
  461. else
  462. servername=$(grep "Name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  463. serverdescription=$(grep "Description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  464. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  465. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  466. port=$(grep "BindPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
  467. queryport="${port}"
  468. configip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  469. ipsetinconfig=1
  470. ipinconfigvar="BindIP"
  471. # Not Set
  472. servername=${servername:-"NOT SET"}
  473. serverpassword=${serverpassword:-"NOT SET"}
  474. maxplayers=${maxplayers:-"0"}
  475. port=${port:-"0"}
  476. queryport=${queryport:-"0"}
  477. fi
  478. }
  479. fn_info_game_hw(){
  480. servername=${servername:-"NOT SET"}
  481. port=${port:-"0"}
  482. queryport=${queryport:-"0"}
  483. maxplayers=${maxplayers:-"0"}
  484. defaultmap=${defaultmap:-"NOT SET"}
  485. creativemode=${creativemode:-"NOT SET"}
  486. }
  487. fn_info_game_inss(){
  488. # Parameters
  489. port=${port:-"0"}
  490. queryport=${queryport:-"0"}
  491. rconport=${rconport:-"0"}
  492. servername=${servername:-"NOT SET"}
  493. serverpassword=${serverpassword:-"NOT SET"}
  494. defaultmap=${defaultmap:-"NOT SET"}
  495. defaultscenario=${defaultscenario:-"NOT SET"}
  496. maxplayers=${maxplayers:-"0"}
  497. }
  498. fn_info_game_jc3(){
  499. if [ ! -f "${servercfgfullpath}" ]; then
  500. servername="${unavailable}"
  501. serverdescription="${unavailable}"
  502. serverpassword="${unavailable}"
  503. maxplayers="${zero}"
  504. port="${zero}"
  505. queryPort="${zero}"
  506. steamport="${zero}"
  507. httpport="${zero}"
  508. tickrate="${zero}"
  509. else
  510. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  511. serverdescription=$(grep "description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  512. serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  513. maxplayers=$(grep "\"maxPlayers\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  514. port=$(grep "\"port\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  515. queryport=$(grep "\"queryPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  516. steamport=$(grep "\"steamPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  517. httpport=$(grep "\"httpPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  518. tickrate=$(grep "\"maxTickRate\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
  519. configip=$(grep "host" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/host//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  520. ipsetinconfig=1
  521. ipinconfigvar="host"
  522. # Not Set
  523. servername=${servername:-"NOT SET"}
  524. serverdescription=${serverdescription:-"NOT SET"}
  525. serverpassword=${serverpassword:-"NOT SET"}
  526. maxplayers=${maxplayers=:-"0"}
  527. port=${port=:-"0"}
  528. queryport=${queryport=:-"0"}
  529. steamport=${steamport=:-"0"}
  530. httpport=${httpport=:-"0"}
  531. tickrate=${tickrate=:-"0"}
  532. fi
  533. }
  534. fn_info_game_jk2(){
  535. # Config
  536. if [ ! -f "${servercfgfullpath}" ]; then
  537. rconpassword="${unavailable}"
  538. servername="${unavailable}"
  539. serverpassword="${unavailable}"
  540. maxplayers="${zero}"
  541. else
  542. rconpassword=$(grep "seta rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  543. servername=$(grep "seta sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  544. serverpassword=$(grep "seta g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  545. maxplayers=$(grep "seta sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  546. serverversion=$(grep "seta mv_serverversion" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta mv_serverversion//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  547. # Not Set
  548. rconpassword=${rconpassword:-"NOT SET"}
  549. servername=${servername:-"NOT SET"}
  550. serverpassword=${serverpassword:-"NOT SET"}
  551. maxplayers=${maxplayers:-"0"}
  552. fi
  553. # Parameters
  554. queryport="${port:-"0"}"
  555. }
  556. fn_info_game_kf(){
  557. if [ ! -f "${servercfgfullpath}" ]; then
  558. servername="${unavailable}"
  559. serverpassword="${unavailable}"
  560. adminpassword="${unavailable}"
  561. port="${zero}"
  562. queryport="${zero}"
  563. queryportgs="${zero}"
  564. steamport="${zero}"
  565. steammasterport="${zero}"
  566. lanport="${zero}"
  567. httpport="${zero}"
  568. webadminenabled="${unavailable}"
  569. webadminuser="${unavailable}"
  570. webadminpass="${unavailable}"
  571. else
  572. servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  573. serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  574. adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  575. port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  576. queryport=$((port+1))
  577. queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  578. steamport="20560"
  579. steammasterport="28852"
  580. lanport=$(grep "LANServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  581. httpport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  582. webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  583. webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  584. webadminpass="${adminpassword}"
  585. # Not Set
  586. servername=${servername:-"NOT SET"}
  587. serverpassword=${serverpassword:-"NOT SET"}
  588. adminpassword=${adminpassword:-"NOT SET"}
  589. port=${port:-"0"}
  590. queryport=${queryport:-"0"}
  591. queryportgs=${queryportgs:-"0"}
  592. steamport=${steamport:-"0"}
  593. steammasterport=${steammasterport:-"0"}
  594. lanport=${lanport:-"0"}
  595. httpport=${httpport:-"0"}
  596. webadminenabled=${webadminenabled:-"NOT SET"}
  597. webadminuser=${webadminuser:-"NOT SET"}
  598. webadminpass=${webadminpass:-"NOT SET"}
  599. fi
  600. }
  601. fn_info_game_kf2(){
  602. # Config
  603. if [ ! -f "${servercfgfullpath}" ]; then
  604. servername="${unavailable}"
  605. serverpassword="${unavailable}"
  606. adminpassword="${unavailable}"
  607. port="${unavailable}"
  608. queryport="${unavailable}"
  609. webadminenabled="${unavailable}"
  610. httpport="${zero}"
  611. webadminuser="${unavailable}"
  612. webadminpass="${unavailable}"
  613. else
  614. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  615. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  616. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  617. port=$(grep "Port" "${servercfgdir}/LinuxServer-KFEngine.ini" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  618. 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]*$//')
  619. httpport=$(grep "ListenPort" "${servercfgdir}/KFWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  620. webadminuser="Admin"
  621. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  622. # Not Set
  623. servername=${servername:-"NOT SET"}
  624. serverpassword=${serverpassword:-"NOT SET"}
  625. adminpassword=${adminpassword:-"NOT SET"}
  626. port=${port:-"0"}
  627. webadminenabled=${webadminenabled:-"NOT SET"}
  628. httpport=${webadminport:-"0"}
  629. webadminuser=${webadminuser:-"NOT SET"}
  630. webadminpass=${webadminpass:-"NOT SET"}
  631. fi
  632. # Parameters
  633. queryport=${queryport:-"0"}
  634. defaultmap=${defaultmap:-"NOT SET"}
  635. }
  636. fn_info_game_mc(){
  637. if [ ! -f "${servercfgfullpath}" ]; then
  638. servername="${unavailable}"
  639. rconpassword="${unavailable}"
  640. rconport="${zero}"
  641. maxplayers="${zero}"
  642. port="${zero}"
  643. queryport="${zero}"
  644. queryenabled="${unavailable}"
  645. gamemode="${unavailable}"
  646. gameworld="${unavailable}"
  647. else
  648. servername=$(grep "motd" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/motd//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  649. 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]*$//')
  650. rconport=$(grep "rcon.port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  651. maxplayers=$(grep "max-players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  652. port=$(grep "server-port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  653. queryport=$(grep "query.port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  654. if [ -z "${queryport}" ]; then
  655. queryport=${port:-"0"}
  656. fi
  657. queryenabled=$(grep "enable-query" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/enable-query//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  658. gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  659. 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]*$//')
  660. configip=$(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]*$//')
  661. ipsetinconfig=1
  662. ipinconfigvar="server-ip"
  663. # Not Set
  664. servername=${servername:-"NOT SET"}
  665. rconpassword=${rconpassword:-"NOT SET"}
  666. rconport=${rconport:-"NOT SET"}
  667. maxplayers=${maxplayers:-"NOT SET"}
  668. port=${port:-"NOT SET"}
  669. queryport=${queryport:-"NOT SET"}
  670. queryenabled="${queryenabled:-"NOT SET"}"
  671. gamemode=${gamemode:-"NOT SET"}
  672. gameworld=${gameworld:-"NOT SET"}
  673. fi
  674. }
  675. fn_info_game_mcb(){
  676. if [ ! -f "${servercfgfullpath}" ]; then
  677. servername="${unavailable}"
  678. maxplayers="${zero}"
  679. port="${zero}"
  680. portipv6="${zero}"
  681. queryport="${zero}"
  682. gamemode="${unavailable}"
  683. gameworld="${unavailable}"
  684. else
  685. servername=$(grep "server-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  686. maxplayers=$(grep "max-players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  687. port=$(grep "server-port\b" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  688. portipv6=$(grep "server-portv6\b" "${servercfgfullpath}" | sed 's/v6//g' | grep -v "#" | tr -cd '[:digit:]')
  689. queryport=${port:-"0"}
  690. gamemode=$(grep "gamemode" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/gamemode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  691. 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]*$//')
  692. # Not Set
  693. servername=${servername:-"NOT SET"}
  694. maxplayers=${maxplayers:-"NOT SET"}
  695. port=${port:-"NOT SET"}
  696. portipv6=${portipv6:-"NOT SET"}
  697. queryport=${queryport:-"NOT SET"}
  698. gamemode=${gamemode:-"NOT SET"}
  699. gameworld=${gameworld:-"NOT SET"}
  700. fi
  701. }
  702. fn_info_game_mh(){
  703. # Config
  704. if [ ! -f "${servercfgfullpath}" ]; then
  705. servername="${unavailable}"
  706. serverpassword="${unavailable}"
  707. rconpassword="${unavailable}"
  708. maxplayers="${unavailable}"
  709. else
  710. servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  711. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  712. rconpassword=$(grep "AdminPassword" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  713. maxplayers=$(grep "MaxSlots" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  714. # Not set
  715. servername=${servername:-"NOT SET"}
  716. serverpassword=${serverpassword:-"NOT SET"}
  717. rconpassword=${rconpassword:-"NOT SET"}
  718. maxplayers=${maxplayers:-"0"}
  719. fi
  720. # Parameters
  721. port=${port:-"0"}
  722. queryport=${queryport:-"0"}
  723. beaconport=${beaconport:-"0"}
  724. }
  725. fn_info_game_mohaa(){
  726. # Config
  727. if [ ! -f "${servercfgfullpath}" ]; then
  728. rconpassword="${unavailable}"
  729. servername="${unavailable}"
  730. serverpassword="${unavailable}"
  731. maxplayers="${zero}"
  732. else
  733. rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  734. servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  735. serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  736. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  737. # Not Set
  738. rconpassword=${rconpassword:-"NOT SET"}
  739. servername=${servername:-"NOT SET"}
  740. serverpassword=${serverpassword:-"NOT SET"}
  741. maxplayers=${maxplayers:-"0"}
  742. fi
  743. # Parameters
  744. port=${port:-"0"}
  745. queryport=${port:-"0"}
  746. defaultmap=${defaultmap:-"NOT SET"}
  747. }
  748. fn_info_game_mom(){
  749. # Config
  750. if [ ! -f "${servercfgfullpath}" ]; then
  751. servername="${unavailable}"
  752. serverpassword="${unavailable}"
  753. maxplayer="${zero}"
  754. defaultmap="${unavailable}"
  755. else
  756. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  757. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/ServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  758. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/MaxPlayers//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  759. defaultmap=$(grep "MapName" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/MapName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  760. # Not Set
  761. servername=${servername:-"NOT SET"}
  762. serverpassword=${serverpassword:-"NOT SET"}
  763. maxplayer=${maxplayers:-"NOT SET"}
  764. defaultmap=${defaultmap:-"NOT SET"}
  765. fi
  766. # Parameters
  767. port=${port:-"7777"}
  768. beaconport=${queryport:-"15000"}
  769. }
  770. fn_info_game_mta(){
  771. # Config
  772. if [ ! -f "${servercfgfullpath}" ]; then
  773. configip="${zero}"
  774. port="${unavailable}"
  775. httpport="${unavailable}"
  776. ase="${unavailable}"
  777. servername="${unavailable}"
  778. serverpassword="${unavailable}"
  779. maxplayers="${zero}"
  780. else
  781. 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:]')
  782. 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:]')
  783. 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 "<")
  784. 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 "<")
  785. 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:]')
  786. 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:]')
  787. if [ "${ase}" == "1" ]; then
  788. ase="Enabled"
  789. else
  790. ase="Disabled"
  791. fi
  792. # configip=$(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 "<")
  793. # ipsetinconfig=1
  794. # ipinconfigvar="serverip"
  795. # Not Set
  796. port=${port:-"22003"}
  797. httpport=${httpport:-"22005"}
  798. ase=${ase:-"Disabled"}
  799. servername=${servername:-"NOT SET"}
  800. serverpassword=${serverpassword:-"NOT SET"}
  801. maxplayers=${maxplayers:-"0"}
  802. fi
  803. # Parameters
  804. queryport=$((port+123))
  805. }
  806. fn_info_game_mumble(){
  807. if [ ! -f "${servercfgfullpath}" ]; then
  808. port="64738"
  809. queryport="${port}"
  810. servername="Mumble"
  811. else
  812. port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  813. queryport="${port}"
  814. configip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  815. ipsetinconfig=1
  816. ipinconfigvar="voice_ip"
  817. # Not Set
  818. port=${port:-"64738"}
  819. queryport=${queryport:-"64738"}
  820. servername="Mumble Port ${port}"
  821. fi
  822. }
  823. fn_info_game_onset(){
  824. if [ ! -f "${servercfgfullpath}" ]; then
  825. servername="${unavailable}"
  826. maxplayers="${zero}"
  827. port="${zero}"
  828. httpport="${zero}"
  829. queryport="${zero}"
  830. else
  831. servername=$(grep -v "servername_short" "${servercfgfullpath}" | grep "servername" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/servername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' )
  832. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  833. port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  834. httpport=$((port-2))
  835. queryport=$((port-1))
  836. # Not Set
  837. servername=${servername:-"NOT SET"}
  838. maxplayers=${maxplayers:-"NOT SET"}
  839. port=${port:-"NOT SET"}
  840. httpport=${httpport:-"NOT SET"}
  841. queryport=${queryport:-"NOT SET"}
  842. fi
  843. }
  844. fn_info_game_pc(){
  845. if [ ! -f "${servercfgfullpath}" ]; then
  846. servername="${unavailable}"
  847. serverpassword="${unavailable}"
  848. maxplayers="${zero}"
  849. port="${zero}"
  850. queryport="${zero}"
  851. steamport="${zero}"
  852. else
  853. servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  854. serverpassword=$(grep "password " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  855. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  856. port=$(grep "hostPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  857. queryport=$(grep "queryPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  858. steamport=$(grep "steamPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  859. # Not Set
  860. servername=${servername:-"NOT SET"}
  861. serverpassword=${serverpassword:-"NOT SET"}
  862. maxplayers=${maxplayers:-"NOT SET"}
  863. port=${port:-"NOT SET"}
  864. queryport=${queryport:-"NOT SET"}
  865. steamport=${steamport:-"NOT SET"}
  866. fi
  867. }
  868. fn_info_game_pstbs(){
  869. if [ ! -f "${servercfgfullpath}" ]; then
  870. servername="${unavailable}"
  871. maxplayers="${unavailable}"
  872. reservedslots="${unavailable}"
  873. else
  874. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')
  875. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  876. reservedslots=$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  877. fi
  878. if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
  879. rconport=${unavailable}
  880. rconpassword=${unavailable}
  881. else
  882. rconport=$(grep "Port=" "${servercfgdir}/Rcon.cfg" | tr -cd '[:digit:]')
  883. rconpassword=$(grep "Password=" "${servercfgdir}/Rcon.cfg" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  884. fi
  885. rconport=${rconport:-"0"}
  886. if [ -z "${rconpassword}" ]||[ ${#rconpassword} == 1 ]; then
  887. rconpassword="NOT SET"
  888. fi
  889. servername=${servername:-"NOT SET"}
  890. serverpassword=${serverpassword:-"NOT SET"}
  891. maxplayers=${maxplayers:-"0"}
  892. numreservedslots=${numreservedslots:-"0"}
  893. }
  894. fn_info_game_pvr(){
  895. # Config
  896. if [ ! -f "${servercfgfullpath}" ]; then
  897. servername="${unavailable}"
  898. maxplayers="${unavailable}"
  899. else
  900. servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  901. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  902. # Not set
  903. servername=${servername:-"NOT SET"}
  904. maxplayers=${maxplayers:-"0"}
  905. fi
  906. # Parameters
  907. port=${port:-"0"}
  908. port401=$((port+400))
  909. queryport=${port:-"0"}
  910. }
  911. fn_info_game_pz(){
  912. # Config
  913. if [ ! -f "${servercfgfullpath}" ]; then
  914. servername="${unavailable}"
  915. serverpassword="${unavailable}"
  916. rconpassword="${unavailable}"
  917. maxplayers="${zero}"
  918. port="${zero}"
  919. gameworld="${unavailable}"
  920. else
  921. servername=$(grep "PublicName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  922. 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]*$//')
  923. rconpassword=$(grep "RCONPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/RCONPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  924. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  925. port=$(grep "DefaultPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  926. 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]*$//')
  927. # Not Set
  928. servername=${servername:-"NOT SET"}
  929. serverpassword=${serverpassword:-"NOT SET"}
  930. rconpassword=${rconpassword:-"NOT SET"}
  931. maxplayers=${maxplayers:-"NOT SET"}
  932. port=${port:-"NOT SET"}
  933. gameworld=${gameworld:-"NOT SET"}
  934. fi
  935. # Parameters
  936. adminpassword=${adminpassword:-"NOT SET"}
  937. queryport=${port:-"0"}
  938. }
  939. fn_info_game_q2(){
  940. # Config
  941. if [ ! -f "${servercfgfullpath}" ]; then
  942. rconpassword="${unavailable}"
  943. servername="${unavailable}"
  944. serverpassword="${unavailable}"
  945. maxplayers="${zero}"
  946. else
  947. 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]*$//')
  948. 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]*$//')
  949. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  950. # Not Set
  951. rconpassword=${rconpassword:-"NOT SET"}
  952. servername=${servername:-"NOT SET"}
  953. maxplayers=${maxplayers:-"0"}
  954. fi
  955. # Parameters
  956. port=${port:-"0"}
  957. queryport=${port:-"0"}
  958. defaultmap=${defaultmap:-"NOT SET"}
  959. }
  960. fn_info_game_q3(){
  961. if [ ! -f "${servercfgfullpath}" ]; then
  962. rconpassword="${unavailable}"
  963. servername="${unavailable}"
  964. serverpassword="${unavailable}"
  965. maxplayers="${zero}"
  966. else
  967. 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]*$//')
  968. 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]*$//')
  969. 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]*$//')
  970. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  971. # Not Set
  972. rconpassword=${rconpassword:-"NOT SET"}
  973. servername=${servername:-"NOT SET"}
  974. serverpassword=${serverpassword:-"NOT SET"}
  975. maxplayers=${maxplayers:-"0"}
  976. fi
  977. }
  978. fn_info_game_ql(){
  979. if [ ! -f "${servercfgfullpath}" ]; then
  980. rconpassword="${unavailable}"
  981. servername="${unavailable}"
  982. serverpassword="${unavailable}"
  983. maxplayers="${zero}"
  984. port="${zero}"
  985. queryport="${zero}"
  986. rconport="${zero}"
  987. statsport="${zero}"
  988. else
  989. 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]*$//')
  990. 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]*$//')
  991. 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]*$//')
  992. maxplayers=$(grep "sv_maxClients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  993. port=$(grep "net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  994. queryport="${port}"
  995. rconport=$(grep "zmq_rcon_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  996. statsport=$(grep "zmq_stats_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  997. configip=$(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]*$//')
  998. ipsetinconfig=1
  999. ipinconfigvar="set net_ip"
  1000. # Not Set
  1001. rconpassword=${rconpassword:-"NOT SET"}
  1002. servername=${servername:-"NOT SET"}
  1003. serverpassword=${serverpassword:-"NOT SET"}
  1004. maxplayers=${maxplayers:-"0"}
  1005. port=${port:-"0"}
  1006. queryport=${queryport:-"0"}
  1007. rconport=${rconport:-"0"}
  1008. statsport=${statsport:-"0"}
  1009. fi
  1010. }
  1011. fn_info_game_qw(){
  1012. # Config
  1013. if [ ! -f "${servercfgfullpath}" ]; then
  1014. rconpassword="${unavailable}"
  1015. servername="${unavailable}"
  1016. serverpassword="${unavailable}"
  1017. maxplayers="${zero}"
  1018. port="${zero}"
  1019. else
  1020. 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]*$//' | cut -f1 -d "/")
  1021. 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]*$//' | cut -f1 -d "/")
  1022. maxplayers=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1023. # Not Set
  1024. rconpassword=${rconpassword:-"NOT SET"}
  1025. servername=${servername:-"NOT SET"}
  1026. maxplayers=${maxplayers:-"0"}
  1027. fi
  1028. # Parameters
  1029. port=${port:-"0"}
  1030. queryport=${port:-"0"}
  1031. }
  1032. fn_info_game_ro(){
  1033. if [ ! -f "${servercfgfullpath}" ]; then
  1034. servername="${unavailable}"
  1035. serverpassword="${unavailable}"
  1036. adminpassword="${unavailable}"
  1037. port="${zero}"
  1038. queryport="${zero}"
  1039. steamport="${zero}"
  1040. steammasterport="${zero}"
  1041. lanport="${zero}"
  1042. httpport="${zero}"
  1043. webadminenabled="${unavailable}"
  1044. webadminuser="${unavailable}"
  1045. webadminpass="${unavailable}"
  1046. else
  1047. servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1048. serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1049. adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1050. port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1051. queryport=$((port+1))
  1052. steamport="20610"
  1053. steammasterport="28902"
  1054. lanport=$(grep "LANServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1055. httpport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1056. webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1057. webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1058. webadminpass="${adminpassword}"
  1059. # Not Set
  1060. servername=${servername:-"NOT SET"}
  1061. serverpassword=${serverpassword:-"NOT SET"}
  1062. adminpassword=${adminpassword:-"NOT SET"}
  1063. port=${port:-"0"}
  1064. queryport=${queryport:-"0"}
  1065. steamport=${steamport:-"0"}
  1066. steammasterport=${steammasterport:-"0"}
  1067. lanport=${lanport:-"0"}
  1068. httpport=${httpport:-"0"}
  1069. webadminenabled=${webadminenabled:-"NOT SET"}
  1070. webadminuser=${webadminuser:-"NOT SET"}
  1071. webadminpass=${webadminpass:-"NOT SET"}
  1072. fi
  1073. }
  1074. fn_info_game_rtcw(){
  1075. # Config
  1076. if [ ! -f "${servercfgfullpath}" ]; then
  1077. rconpassword="${unavailable}"
  1078. servername="${unavailable}"
  1079. serverpassword="${unavailable}"
  1080. maxplayers="${zero}"
  1081. else
  1082. 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]*$//')
  1083. 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]*$//')
  1084. 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]*$//')
  1085. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1086. # Not Set
  1087. rconpassword=${rconpassword:-"NOT SET"}
  1088. servername=${servername:-"NOT SET"}
  1089. serverpassword=${serverpassword:-"NOT SET"}
  1090. maxplayers=${maxplayers:-"0"}
  1091. fi
  1092. # Parameters
  1093. port=${port:-"0"}
  1094. queryport=${port:-"0"}
  1095. defaultmap=${defaultmap:-"NOT SET"}
  1096. }
  1097. fn_info_game_rust(){
  1098. # Parameters
  1099. servername=${servername:-"NOT SET"}
  1100. port=${port:-"0"}
  1101. queryport=${port:-"0"}
  1102. appport=${appport:-"0"}
  1103. rconport=${rconport:-"0"}
  1104. gamemode=${gamemode:-"NOT SET"}
  1105. maxplayers=${maxplayers:-"0"}
  1106. rconpassword=${rconpassword:-"NOT SET"}
  1107. rconweb=${rconweb:-"NOT SET"}
  1108. tickrate=${tickrate:-"0"}
  1109. saveinterval=${saveinterval:-"0"}
  1110. serverlevel=${serverlevel:-"NOT SET"}
  1111. worldsize=${worldsize:-"0"}
  1112. }
  1113. fn_info_game_rw(){
  1114. # Config
  1115. if [ ! -f "${servercfgfullpath}" ]; then
  1116. servername="${unavailable}"
  1117. rconpassword="${unavailable}"
  1118. rconport="${zero}"
  1119. maxplayers="${zero}"
  1120. port="${zero}"
  1121. port2="${zero}"
  1122. port3="${zero}"
  1123. port4="${zero}"
  1124. queryport="${zero}"
  1125. gamemode="${unavailable}"
  1126. gameworld="${unavailable}"
  1127. else
  1128. servername=$(grep "server_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1129. serverpassword=$(grep "server_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1130. 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]*$//')
  1131. rconport=$(grep "rcon_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1132. maxplayers=$(grep "settings_max_players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1133. port=$(grep "server_port" "${servercfgfullpath}" | grep -v "database_mysql_server_port" | grep -v "#" | tr -cd '[:digit:]')
  1134. port2=$((port+1))
  1135. port3=$((port+2))
  1136. port4=$((port+3))
  1137. queryport="${port}"
  1138. gamemode=$(grep "settings_default_gamemode=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/settings_default_gamemode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1139. gameworld=$(grep "server_world_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_world_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1140. #javaram=$(grep "server_memory" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server_memory//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1141. configip=$(grep "server_ip" "${servercfgfullpath}" | grep -v "database_mysql_server_ip" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1142. ipsetinconfig=1
  1143. ipinconfigvar="server-ip"
  1144. # Not Set
  1145. servername=${servername:-"NOT SET"}
  1146. rconpassword=${rconpassword:-"NOT SET"}
  1147. rconport=${rconport:-"NOT SET"}
  1148. maxplayers=${maxplayers:-"NOT SET"}
  1149. port=${port:-"NOT SET"}
  1150. gamemode=${gamemode:-"NOT SET"}
  1151. gameworld=${gameworld:-"NOT SET"}
  1152. fi
  1153. # Parameters
  1154. servername=${servername:-"NOT SET"}
  1155. port=${port:-"0"}
  1156. httpqueryport=$((port-1))
  1157. }
  1158. fn_info_game_samp(){
  1159. # Config
  1160. if [ ! -f "${servercfgfullpath}" ]; then
  1161. servername="unnamed server"
  1162. serverpassword="${unavailable}"
  1163. rconpassword="${unavailable}"
  1164. port="7777"
  1165. rconport="${port}"
  1166. maxplayers="50"
  1167. else
  1168. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1169. 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]*$//')
  1170. port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1171. rconport="${port}"
  1172. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1173. # Not Set
  1174. servername=${servername:-"NOT SET"}
  1175. rconpassword=${rconpassword:-"NOT SET"}
  1176. port=${port:-"7777"}
  1177. rconport="${port}"
  1178. maxplayers=${maxplayers:-"12"}
  1179. fi
  1180. # Parameters
  1181. queryport=${port:-"0"}
  1182. }
  1183. fn_info_game_sb(){
  1184. if [ ! -f "${servercfgfullpath}" ]; then
  1185. servername="${unavailable}"
  1186. queryenabled="${unavailable}"
  1187. rconenabled="${unavailable}"
  1188. rconpassword="${unavailable}"
  1189. port="21025"
  1190. queryport="21025"
  1191. rconport="21026"
  1192. maxplayers="8"
  1193. else
  1194. servername=$(grep "serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/serverName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1195. queryenabled=$(grep "runQueryServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runQueryServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1196. rconenabled=$(grep "runRconServer" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/runRconServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1197. rconpassword=$(grep "rconServerPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e 's/rconServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1198. port=$(grep "gameServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1199. queryport=$(grep "queryServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1200. rconport=$(grep "rconServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1201. maxplayers=$(grep "maxPlayers" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1202. # Not Set
  1203. servername=${servername:-"NOT SET"}
  1204. queryenabled=${queryenabled:-"NOT SET"}
  1205. rconenabled=${rconenabled:-"NOT SET"}
  1206. rconpassword=${rconpassword:-"NOT SET"}
  1207. port=${port:-"21025"}
  1208. queryport=${queryport:-"21025"}
  1209. rconport=${rconport:-"21026"}
  1210. maxplayers=${maxplayers:-"8"}
  1211. fi
  1212. }
  1213. fn_info_game_sbots(){
  1214. # Config
  1215. if [ ! -f "${servercfgfullpath}" ]; then
  1216. servername="${unavailable}"
  1217. maxplayers="${unavailable}"
  1218. else
  1219. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')
  1220. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1221. # Not Set
  1222. servername=${servername:-"NOT SET"}
  1223. serverpassword=${serverpassword:-"NOT SET"}
  1224. maxplayers=${maxplayers:-"0"}
  1225. fi
  1226. # Parameters
  1227. port=${port:-"0"}
  1228. queryport=${queryport:-"0"}
  1229. servername=${servername:-"NOT SET"}
  1230. serverpassword=${serverpassword:-"NOT SET"}
  1231. defaultmap=${defaultmap:-"NOT SET"}
  1232. maxplayers=${maxplayers:-"0"}
  1233. }
  1234. fn_info_game_scpsl(){
  1235. # Config
  1236. if [ -f "${servercfgfullpath}" ]; then
  1237. servername=$(sed -nr 's/^server_name: (.*)$/\1/p' "${servercfgfullpath}")
  1238. maxplayers=$(sed -nr 's/^max_players: (.*)$/\1/p' "${servercfgfullpath}")
  1239. configip=$(sed -nr 's/^ipv4_bind_ip: (.*)$/\1/p' "${servercfgfullpath}")
  1240. tickrate=$(sed -nr 's/^server_tickrate: (.*)$/\1/p' "${servercfgfullpath}")
  1241. adminpassword=$(sed -nr 's/^administrator_query_password: (.*)$/\1/p' "${servercfgfullpath}")
  1242. if [ "${adminpassword}" == "none" ]; then
  1243. adminpassword="NOT SET"
  1244. fi
  1245. else
  1246. servername=${servername:-"NOT SET"}
  1247. maxplayers=${maxplayers:-"0"}
  1248. configip=${configip:-"0.0.0.0"}
  1249. tickrate=${tickrate:-"NOT SET"}
  1250. adminpassword=${adminpassword:-"NOT SET"}
  1251. fi
  1252. # Parameters
  1253. queryport="${port:-"0"}"
  1254. }
  1255. fn_info_game_sdtd(){
  1256. if [ ! -f "${servercfgfullpath}" ]; then
  1257. servername="${unavailable}"
  1258. serverpassword="${unavailable}"
  1259. port="${zero}"
  1260. port3="${zero}"
  1261. queryport="${zero}"
  1262. webadminenabled="${unavailable}"
  1263. webadminport="${zero}"
  1264. webadminpass="${unavailable}"
  1265. telnetenabled="${unavailable}"
  1266. telnetport="${zero}"
  1267. telnetpass="${unavailable}"
  1268. telnetip="${unavailable}"
  1269. maxplayers="${unavailable}"
  1270. gamemode="${unavailable}"
  1271. gameworld="${unavailable}"
  1272. else
  1273. servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1274. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1275. port=$(grep "ServerPort" "${servercfgfullpath}" | grep -Eo 'value="[0-9]+"' | tr -cd '[:digit:]')
  1276. port3=$((port+2))
  1277. queryport=${port:-"0"}
  1278. webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1279. webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1280. webadminpass=$(grep "ControlPanelPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1281. telnetenabled=$(grep "TelnetEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1282. telnetport=$(grep "TelnetPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1283. telnetpass=$(grep "TelnetPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1284. # Telnet IP will be localhost if no password is set
  1285. # check_ip will set the IP first. This will overwrite it.
  1286. if [ -z "${telnetpass}" ]; then
  1287. telnetip="127.0.0.1"
  1288. fi
  1289. maxplayers=$(grep "ServerMaxPlayerCount" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1290. gamemode=$(grep "GameMode" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1291. gameworld=$(grep "GameWorld" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  1292. # Not Set
  1293. servername=${servername:-"NOT SET"}
  1294. serverpassword=${serverpassword:-"NOT SET"}
  1295. port=${port:-"0"}
  1296. queryport=${queryport:-"0"}
  1297. webadminenabled=${webadminenabled:-"NOT SET"}
  1298. webadminport=${webadminport:-"0"}
  1299. webadminpass=${webadminpass:-"NOT SET"}
  1300. telnetenabled=${telnetenabled:-"NOT SET"}
  1301. telnetport=${telnetport:-"0"}
  1302. telnetpass=${telnetpass:-"NOT SET"}
  1303. maxplayers=${maxplayers:-"NOT SET"}
  1304. gamemode=${gamemode:-"NOT SET"}
  1305. gameworld=${gameworld:-"NOT SET"}
  1306. fi
  1307. }
  1308. fn_info_game_sof2(){
  1309. # Config
  1310. if [ ! -f "${servercfgfullpath}" ]; then
  1311. rconpassword="${unavailable}"
  1312. servername="${unavailable}"
  1313. serverpassword="${unavailable}"
  1314. maxplayers="${zero}"
  1315. else
  1316. 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]*$//')
  1317. 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]*$//')
  1318. 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]*$//')
  1319. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1320. # Not Set
  1321. rconpassword=${rconpassword:-"NOT SET"}
  1322. servername=${servername:-"NOT SET"}
  1323. serverpassword=${serverpassword:-"NOT SET"}
  1324. maxplayers=${maxplayers:-"0"}
  1325. fi
  1326. # Parameters
  1327. port=${port:-"0"}
  1328. queryport=${port:-"0"}
  1329. defaultmap=${defaultmap:-"NOT SET"}
  1330. }
  1331. fn_info_game_sol(){
  1332. if [ ! -f "${servercfgfullpath}" ]; then
  1333. adminpassword="${unavailable}"
  1334. maxplayers="${unavailable}"
  1335. port="${zero}"
  1336. queryport="${zero}"
  1337. servername="${unavailable}"
  1338. serverpassword="${unavailable}"
  1339. else
  1340. adminpassword=$(grep "Admin_Password=" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1341. maxplayers=$(grep "Max_Players=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1342. port=$(grep "Port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1343. queryport="${port}"
  1344. filesport=$((port+10))
  1345. servername=$(grep "Server_Name=" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1346. serverpassword=$(grep "Game_Password=" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1347. # Not set
  1348. adminpassword=${adminpassword:-"NOT SET"}
  1349. maxplayers=${maxplayers:-"0"}
  1350. port=${port:-"23073"}
  1351. queryport=${queryport:-"23083"}
  1352. servername=${servername:-"NOT SET"}
  1353. serverpassword=${serverpassword:-"NOT SET"}
  1354. fi
  1355. }
  1356. fn_info_game_source(){
  1357. # Config
  1358. if [ ! -f "${servercfgfullpath}" ]; then
  1359. servername="${unavailable}"
  1360. serverpassword="${unavailable}"
  1361. rconpassword="${unavailable}"
  1362. else
  1363. servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1364. 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]*$//')
  1365. 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]*$//')
  1366. # Not Set
  1367. servername=${servername:-"NOT SET"}
  1368. serverpassword=${serverpassword:-"NOT SET"}
  1369. rconpassword=${rconpassword:-"NOT SET"}
  1370. fi
  1371. # Parameters
  1372. defaultmap=${defaultmap:-"NOT SET"}
  1373. maxplayers=${maxplayers:-"0"}
  1374. port=${port:-"0"}
  1375. rconport=${port:-"0"}
  1376. queryport=${port:-"0"}
  1377. clientport=${clientport:-"0"}
  1378. # Steamport can be between 26901-26910 and is normaly automatically set.
  1379. # Some servers might support -steamport parameter to set
  1380. if [ "${steamport}" == "0" ]||[ -v "${steamport}" ]; then
  1381. steamport="$(echo "${ssinfo}" | grep "${srcdslinuxpid}" | awk '{print $5}' | grep ":269" | cut -d ":" -f2)"
  1382. fi
  1383. }
  1384. fn_info_game_spark(){
  1385. defaultmap=${defaultmap:-"NOT SET"}
  1386. maxplayers=${maxplayers:-"0"}
  1387. port=${port:-"0"}
  1388. queryport=$((port+1))
  1389. servername=${servername:-"NOT SET"}
  1390. serverpassword=${serverpassword:-"NOT SET"}
  1391. webadminuser=${webadminuser:-"NOT SET"}
  1392. webadminpass=${webadminpass:-"NOT SET"}
  1393. webadminport=${webadminport:-"0"}
  1394. # Commented out as displaying not set in details parameters
  1395. #mods=${mods:-"NOT SET"}
  1396. }
  1397. fn_info_game_squad(){
  1398. if [ ! -f "${servercfgfullpath}" ]; then
  1399. servername="${unavailable}"
  1400. maxplayers="${unavailable}"
  1401. else
  1402. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1403. maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1404. fi
  1405. if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
  1406. rconport=${unavailable}
  1407. rconpassword=${unavailable}
  1408. else
  1409. rconport=$(grep "Port=" "${servercfgdir}/Rcon.cfg" | tr -cd '[:digit:]')
  1410. rconpassword=$(grep "Password=" "${servercfgdir}/Rcon.cfg" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1411. fi
  1412. rconport=${rconport:-"0"}
  1413. if [ -z "${rconpassword}" ]||[ ${#rconpassword} == 1 ]; then
  1414. rconpassword="NOT SET"
  1415. fi
  1416. servername=${servername:-"NOT SET"}
  1417. serverpassword=${serverpassword:-"NOT SET"}
  1418. maxplayers=${maxplayers:-"0"}
  1419. }
  1420. fn_info_game_st(){
  1421. # Config
  1422. if [ ! -f "${servercfgfullpath}" ]; then
  1423. servername="${unavailable}"
  1424. serverpassword="${unavailable}"
  1425. rconpassword="${unavailable}"
  1426. maxplayers="${unavailable}"
  1427. else
  1428. servername=$(grep "SERVERNAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1429. 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]*$//')
  1430. rconpassword=$(grep "RCONPASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/RCONPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1431. maxplayers=$(grep "MAXPLAYER" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/MAXPLAYER//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1432. # Not Set
  1433. servername=${servername:-"NOT SET"}
  1434. serverpassword=${serverpassword:-"NOT SET"}
  1435. rconpassword=${rconpassword:-"NOT SET"}
  1436. maxplayers=${maxplayers:-"0"}
  1437. fi
  1438. # Parameters
  1439. port=${port:-"0"}
  1440. queryport=${queryport:-"0"}
  1441. httpport=${port:-"0"}
  1442. worldtype=${worldtype:-"NOT SET"}
  1443. autosaveinterval=${autosaveinterval:-"0"}
  1444. clearinterval=${clearinterval:-"0"}
  1445. worldname=${worldname:-"NOT SET"}
  1446. }
  1447. fn_info_game_terraria(){
  1448. if [ ! -f "${servercfgfullpath}" ]; then
  1449. servername="${unavailable}"
  1450. port="${zero}"
  1451. gameworld="${unavailable}"
  1452. maxplayers="${zero}"
  1453. queryport="${zero}"
  1454. else
  1455. servername=$(grep "worldname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/worldname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1456. port=$(grep "port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1457. queryport=${port:-"0"}
  1458. 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]*$//')
  1459. maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1460. # Not Set
  1461. servername=${servername:-"NOT SET"}
  1462. port=${port:-"0"}
  1463. queryport=${queryport:-"0"}
  1464. gameworld=${gameworld:-"NOT SET"}
  1465. maxplayers=${maxplayers:-"0"}
  1466. fi
  1467. }
  1468. fn_info_game_stn(){
  1469. if [ -f "${servercfgfullpath}" ]; then
  1470. servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}")
  1471. configip=$(sed -nr 's/^ServerIP=([0-9]+)/\1/p' "${servercfgfullpath}")
  1472. port=$(sed -nr 's/^ServerPort=([0-9]+)/\1/p' "${servercfgfullpath}")
  1473. serverpassword=$(sed -nr 's/^ServerPassword=(.*)$/\1/p' "${servercfgfullpath}")
  1474. queryport=$((port + 1))
  1475. else
  1476. servername="${unavailable}"
  1477. configip=${configip:-"0.0.0.0"}
  1478. port="${zero}"
  1479. queryport="${zero}"
  1480. serverpassword=${serverpassword:-"NOT SET"}
  1481. fi
  1482. }
  1483. fn_info_game_ts3(){
  1484. if [ ! -f "${servercfgfullpath}" ]; then
  1485. dbplugin="${unavailable}"
  1486. port="9987"
  1487. queryport="10011"
  1488. querysshport="10022"
  1489. queryhttpport="10080"
  1490. queryhttpsport="10443"
  1491. fileport="30033"
  1492. telnetport="10011"
  1493. else
  1494. dbplugin=$(grep "dbplugin=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/dbplugin=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1495. port=$(grep "default_voice_port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1496. queryport=$(grep "query_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1497. querysshport=$(grep "query_ssh_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1498. queryhttpport=$(grep "query_http_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1499. queryhttpsport=$(grep "query_https_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1500. fileport=$(grep "filetransfer_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1501. telnetport="${queryport}"
  1502. configip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | sed 's/,.*//' | tr -d '=\";,' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1503. ipsetinconfig=1
  1504. ipinconfigvar="voice_ip"
  1505. # Not Set
  1506. dbplugin=${dbplugin:-"NOT SET"}
  1507. port=${port:-"9987"}
  1508. queryport=${queryport:-"10011"}
  1509. querysshport=${querysshport:-"10022"}
  1510. queryhttpport=${queryhttpport:-"10080"}
  1511. queryhttpsport=${queryhttpsport:-"10443"}
  1512. fileport=${fileport:-"30033"}
  1513. telnetport=${telnetport:-"10011"}
  1514. fi
  1515. }
  1516. fn_info_game_tu(){
  1517. # Config
  1518. if [ ! -f "${servercfgfullpath}" ]; then
  1519. servername="${unavailable}"
  1520. maxplayers="${zero}"
  1521. else
  1522. servername=$(grep "ServerTitle" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerTitle//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1523. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1524. # Not Set
  1525. servername=${servername:-"NOT SET"}
  1526. maxplayers=${maxplayers:-"0"}
  1527. fi
  1528. # Parameters
  1529. port=${port:-"0"}
  1530. steamport=$((port+1))
  1531. queryport=${queryport:-"0"}
  1532. }
  1533. fn_info_game_tw(){
  1534. # Config
  1535. if [ ! -f "${servercfgfullpath}" ]; then
  1536. servername="unnamed server"
  1537. serverpassword="${unavailable}"
  1538. rconpassword="${unavailable}"
  1539. port="8303"
  1540. queryport="8303"
  1541. maxplayers="12"
  1542. else
  1543. 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]*$//')
  1544. 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]*$//')
  1545. 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]*$//')
  1546. port=$(grep "sv_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1547. queryport="${port}"
  1548. maxplayers=$(grep "sv_max_clients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1549. # Not Set
  1550. servername=${servername:-"NOT SET"}
  1551. serverpassword=${serverpassword:-"NOT SET"}
  1552. rconpassword=${rconpassword:-"NOT SET"}
  1553. port=${port:-"8303"}
  1554. queryport=${port:-"8303"}
  1555. maxplayers=${maxplayers:-"12"}
  1556. fi
  1557. # Parameters
  1558. queryport="${port:-"0"}"
  1559. }
  1560. fn_info_game_unreal(){
  1561. # Config
  1562. if [ ! -f "${servercfgfullpath}" ]; then
  1563. servername="${unavailable}"
  1564. serverpassword="${unavailable}"
  1565. adminpassword="${unavailable}"
  1566. port="${zero}"
  1567. queryport="${zero}"
  1568. queryportgs="${zero}"
  1569. webadminenabled="${unavailable}"
  1570. webadminport="${zero}"
  1571. webadminuser="${unavailable}"
  1572. webadminpass="${unavailable}"
  1573. else
  1574. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1575. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1576. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1577. port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
  1578. queryport=$((port+1))
  1579. queryportgs=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1580. beaconport=$(grep "ServerBeaconPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1581. webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1582. httpport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1583. webadminuser=$(grep "AdminUsername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminUsername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1584. webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 4 | grep "AdminPassword" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
  1585. # Not Set
  1586. servername=${servername:-"NOT SET"}
  1587. serverpassword=${serverpassword:-"NOT SET"}
  1588. adminpassword=${adminpassword:-"NOT SET"}
  1589. port=${port:-"0"}
  1590. queryport=${queryport:-"0"}
  1591. beaconport=${beaconport:-"8777"}
  1592. queryportgs=${queryportgs:-"0"}
  1593. webadminenabled=${webadminenabled:-"NOT SET"}
  1594. webadminport=${webadminport:-"0"}
  1595. webadminuser=${webadminuser:-"NOT SET"}
  1596. webadminpass=${webadminpass:-"NOT SET"}
  1597. fi
  1598. # Parameters
  1599. defaultmap=${defaultmap:-"NOT SET"}
  1600. }
  1601. fn_info_game_unreal2(){
  1602. # Config
  1603. if [ ! -f "${servercfgfullpath}" ]; then
  1604. servername="${unavailable}"
  1605. serverpassword="${unavailable}"
  1606. adminpassword="${unavailable}"
  1607. port="${zero}"
  1608. queryport="${zero}"
  1609. queryportgs="${zero}"
  1610. webadminenabled="${unavailable}"
  1611. webadminport="${zero}"
  1612. webadminuser="${unavailable}"
  1613. webadminpass="${unavailable}"
  1614. else
  1615. servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1616. serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1617. adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1618. port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1619. queryport=$((port+1))
  1620. queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1621. webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1622. webadminport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1623. webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1624. webadminpass="${adminpassword}"
  1625. # Not Set
  1626. servername=${servername:-"NOT SET"}
  1627. serverpassword=${serverpassword:-"NOT SET"}
  1628. adminpassword=${adminpassword:-"NOT SET"}
  1629. port=${port:-"0"}
  1630. queryport=${queryport:-"0"}
  1631. queryportgs=${queryportgs:-"0"}
  1632. webadminenabled=${webadminenabled:-"NOT SET"}
  1633. webadminport=${webadminport:-"0"}
  1634. webadminuser=${webadminuser:-"NOT SET"}
  1635. webadminpass=${webadminpass:-"NOT SET"}
  1636. fi
  1637. # Parameters
  1638. defaultmap=${defaultmap:-"NOT SET"}
  1639. }
  1640. fn_info_game_unt(){
  1641. servername=${selfname:-"NOT SET"}
  1642. port=${port:-"0"}
  1643. queryport=$((port+1))
  1644. }
  1645. fn_info_game_ut(){
  1646. # Config
  1647. if [ ! -f "${servercfgfullpath}" ]; then
  1648. servername="${unavailable}"
  1649. else
  1650. servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
  1651. # Not set
  1652. servername=${servername:-"NOT SET"}
  1653. fi
  1654. # Parameters
  1655. port=${port:-"0"}
  1656. queryport=$((port+1))
  1657. }
  1658. fn_info_game_ut2k4(){
  1659. if [ ! -f "${servercfgfullpath}" ]; then
  1660. servername="${unavailable}"
  1661. serverpassword="${unavailable}"
  1662. adminpassword="${unavailable}"
  1663. port="${zero}"
  1664. queryport="${zero}"
  1665. queryportgs="${zero}"
  1666. lanport="${zero}"
  1667. webadminenabled="${unavailable}"
  1668. httpport="${zero}"
  1669. webadminuser="${unavailable}"
  1670. webadminpass="${unavailable}"
  1671. else
  1672. servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1673. serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1674. adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1675. port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1676. queryport=$((port+1))
  1677. queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1678. lanport=$(grep "LANServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  1679. webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1680. httpport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
  1681. webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
  1682. webadminpass="${adminpassword}"
  1683. # Not Set
  1684. servername=${servername:-"NOT SET"}
  1685. serverpassword=${serverpassword:-"NOT SET"}
  1686. adminpassword=${adminpassword:-"NOT SET"}
  1687. port=${port:-"0"}
  1688. queryport=${queryport:-"0"}
  1689. queryportgs=${queryportgs:-"0"}
  1690. lanport=${lanport:-"0"}
  1691. webadminenabled=${webadminenabled:-"NOT SET"}
  1692. httpport=${httpport:-"0"}
  1693. webadminuser=${webadminuser:-"NOT SET"}
  1694. webadminpass=${webadminpass:-"NOT SET"}
  1695. fi
  1696. }
  1697. fn_info_game_ut3(){
  1698. # Config
  1699. if [ ! -f "${servercfgfullpath}" ]; then
  1700. servername="${unavailable}"
  1701. serverpassword="${unavailable}"
  1702. adminpassword="${unavailable}"
  1703. maxplayers="${unavailable}"
  1704. webadminenabled="${unavailable}"
  1705. webadminport="${zero}"
  1706. webadminuser="${unavailable}"
  1707. webadminpass="${unavailable}"
  1708. else
  1709. servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1710. serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1711. adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1712. maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1713. 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]*$//')
  1714. webadminport=$(grep "ListenPort" "${servercfgdir}/UTWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
  1715. webadminuser="Admin"
  1716. webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1717. # Not Set
  1718. servername=${servername:-"NOT SET"}
  1719. serverpassword=${serverpassword:-"NOT SET"}
  1720. adminpassword=${adminpassword:-"NOT SET"}
  1721. maxplayers=${maxplayers:-"NOT SET"}
  1722. webadminenabled=${webadminenabled:-"NOT SET"}
  1723. webadminport=${webadminport:-"0"}
  1724. webadminuser=${webadminuser:-"NOT SET"}
  1725. webadminpass=${webadminpass:-"NOT SET"}
  1726. fi
  1727. # Parameters
  1728. port=${port:-"0"}
  1729. queryport=${queryport:-"0"}
  1730. defaultmap=${defaultmap:-"NOT SET"}
  1731. }
  1732. fn_info_game_vh(){
  1733. port=${port:-"0"}
  1734. if [ "${public}" != "0" ]; then
  1735. queryport=$((port+1))
  1736. else
  1737. querymode="1"
  1738. fi
  1739. gameworld=${gameworld:-"NOT SET"}
  1740. serverpassword=${serverpassword:-"NOT SET"}
  1741. servername=${servername:-"NOT SET"}
  1742. }
  1743. fn_info_game_wet(){
  1744. if [ ! -f "${servercfgfullpath}" ]; then
  1745. rconpassword="${unavailable}"
  1746. servername="${unavailable}"
  1747. serverpassword="${unavailable}"
  1748. maxplayers="${zero}"
  1749. port="${zero}"
  1750. queryport="${zero}"
  1751. else
  1752. port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1753. queryport="${port}"
  1754. 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]*$//')
  1755. 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]*$//')
  1756. 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]*$//')
  1757. maxplayers=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
  1758. configip=$(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]*$//')
  1759. ipsetinconfig=1
  1760. ipinconfigvar="set net_ip"
  1761. # Not Set
  1762. rconpassword=${rconpassword:-"NOT SET"}
  1763. servername=${servername:-"NOT SET"}
  1764. serverpassword=${serverpassword:-"NOT SET"}
  1765. maxplayers=${maxplayers:-"0"}
  1766. port=${port:-"27960"}
  1767. queryport=${queryport:-"27960"}
  1768. fi
  1769. }
  1770. fn_info_game_wf(){
  1771. # Config
  1772. if [ ! -f "${servercfgfullpath}" ]; then
  1773. rconpassword="${unavailable}"
  1774. servername="${unavailable}"
  1775. maxplayers="${zero}"
  1776. else
  1777. 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]*$//')
  1778. 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]*$//')
  1779. maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1780. # Not Set
  1781. rconpassword=${rconpassword:-"NOT SET"}
  1782. servername=${servername:-"NOT SET"}
  1783. maxplayers=${maxplayers:-"0"}
  1784. fi
  1785. # Parameters
  1786. port=${port:-"0"}
  1787. queryport="${port:-"0"}"
  1788. webadminport=${webadminport:-"0"}
  1789. }
  1790. fn_info_game_wmc(){
  1791. if [ -f "${servercfgfullpath}" ]; then
  1792. servername=$(sed -e '/^listeners:/,/^[a-z]/!d' "${servercfgfullpath}" | sed -nr 's/^[ ]+motd: (.*)$/\1/p' | tr -d "'" | sed 's/&1//')
  1793. queryport=$(sed -nr 's/^[ -]+query_port: ([0-9]+)/\1/p' "${servercfgfullpath}")
  1794. queryenabled=$(sed -nr 's/^[ ]+query_enabled: (.*)$/\1/p' "${servercfgfullpath}")
  1795. port=$(sed -nr 's/^[ ]+host: [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:([0-9]+)/\1/p' "${servercfgfullpath}")
  1796. # the normal max_players does only show in on the client side and has no effect how many players can connect
  1797. maxplayers=$(sed -nr 's/^player_limit: ([-]*[0-9])/\1/p' "${servercfgfullpath}")
  1798. configip=$(sed -nr 's/^[ ]+host: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+):[0-9]+/\1/p' "${servercfgfullpath}")
  1799. if [ "${maxplayers}" == "-1" ]||[ "${maxplayers}" == "0" ]; then
  1800. maxplayers="UNLIMITED"
  1801. fi
  1802. else
  1803. servername="${unavailable}"
  1804. maxplayers="${zero}"
  1805. port="${zero}"
  1806. queryport="${zero}"
  1807. queryenabled="${unavailable}"
  1808. fi
  1809. }
  1810. fn_info_game_wurm(){
  1811. if [ ! -f "${servercfgfullpath}" ]; then
  1812. port="${zero}"
  1813. queryport="${zero}"
  1814. rconpassword="${unavailable}"
  1815. servername="${unavailable}"
  1816. serverpassword="${unavailable}"
  1817. adminpassword="${unavailable}"
  1818. maxplayers="${zero}"
  1819. else
  1820. port=$(grep "EXTERNALPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1821. queryport=$(grep "QUERYPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1822. servername=$(grep "SERVERNAME=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1823. serverpassword=$(grep "SERVERPASSWORD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1824. adminpassword=$(grep "ADMINPWD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMINPWD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1825. maxplayers=$(grep "MAXPLAYERS=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  1826. configip=$(grep "IP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/IP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
  1827. ipsetinconfig=1
  1828. ipinconfigvar="IP"
  1829. # Not Set
  1830. port=${port:-"3724"}
  1831. queryport=${queryport:-"27017"}
  1832. servername=${servername:-"NOT SET"}
  1833. serverpassword=${serverpassword:-"NOT SET"}
  1834. adminpassword=${adminpassword:-"NOT SET"}
  1835. maxplayers=${maxplayers:-"0"}
  1836. fi
  1837. }
  1838. unavailable="${red}UNAVAILABLE${default}"
  1839. zero="${red}0${default}"
  1840. if [ "${shortname}" == "ac" ]; then
  1841. fn_info_game_ac
  1842. elif [ "${shortname}" == "ark" ]; then
  1843. fn_info_game_ark
  1844. elif [ "${shortname}" == "arma3" ]; then
  1845. fn_info_game_arma3
  1846. elif [ "${shortname}" == "av" ]; then
  1847. fn_info_game_av
  1848. elif [ "${shortname}" == "bf1942" ]; then
  1849. fn_info_game_bf1942
  1850. elif [ "${shortname}" == "bfv" ]; then
  1851. fn_info_game_bfv
  1852. elif [ "${shortname}" == "bo" ]; then
  1853. fn_info_game_bo
  1854. elif [ "${shortname}" == "bt" ]; then
  1855. fn_info_game_bt
  1856. elif [ "${shortname}" == "bt1944" ]; then
  1857. fn_info_game_bt1944
  1858. elif [ "${shortname}" == "cmw" ]; then
  1859. fn_info_game_cmw
  1860. elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]; then
  1861. fn_info_game_cod
  1862. elif [ "${shortname}" == "cod2" ]; then
  1863. fn_info_game_cod2
  1864. elif [ "${shortname}" == "cod4" ]; then
  1865. fn_info_game_cod4
  1866. elif [ "${shortname}" == "codwaw" ]; then
  1867. fn_info_game_codwaw
  1868. elif [ "${shortname}" == "col" ]; then
  1869. fn_info_game_col
  1870. elif [ "${shortname}" == "dodr" ]; then
  1871. fn_info_game_dodr
  1872. elif [ "${shortname}" == "dst" ]; then
  1873. fn_info_game_dst
  1874. elif [ "${shortname}" == "eco" ]; then
  1875. fn_info_game_eco
  1876. elif [ "${shortname}" == "etl" ]; then
  1877. fn_info_game_etl
  1878. elif [ "${shortname}" == "fctr" ]; then
  1879. fn_info_game_fctr
  1880. elif [ "${shortname}" == "hw" ]; then
  1881. fn_info_game_hw
  1882. elif [ "${shortname}" == "inss" ]; then
  1883. fn_info_game_inss
  1884. elif [ "${shortname}" == "jc2" ]; then
  1885. fn_info_game_jc2
  1886. elif [ "${shortname}" == "jc3" ]; then
  1887. fn_info_game_jc3
  1888. elif [ "${shortname}" == "jk2" ]; then
  1889. fn_info_game_jk2
  1890. elif [ "${shortname}" == "kf" ]; then
  1891. fn_info_game_kf
  1892. elif [ "${shortname}" == "kf2" ]; then
  1893. fn_info_game_kf2
  1894. elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "pmc" ]; then
  1895. fn_info_game_mc
  1896. elif [ "${shortname}" == "mcb" ]; then
  1897. fn_info_game_mcb
  1898. elif [ "${shortname}" == "mh" ]; then
  1899. fn_info_game_mh
  1900. elif [ "${shortname}" == "mohaa" ]; then
  1901. fn_info_game_mohaa
  1902. elif [ "${shortname}" == "mom" ]; then
  1903. fn_info_game_mom
  1904. elif [ "${shortname}" == "mta" ]; then
  1905. fn_info_game_mta
  1906. elif [ "${shortname}" == "mumble" ]; then
  1907. fn_info_game_mumble
  1908. elif [ "${shortname}" == "onset" ]; then
  1909. fn_info_game_onset
  1910. elif [ "${shortname}" == "pc" ]; then
  1911. fn_info_game_pc
  1912. elif [ "${shortname}" == "pstbs" ]; then
  1913. fn_info_game_pstbs
  1914. elif [ "${shortname}" == "pvr" ];then
  1915. fn_info_game_pvr
  1916. elif [ "${shortname}" == "pz" ]; then
  1917. fn_info_game_pz
  1918. elif [ "${shortname}" == "q2" ]; then
  1919. fn_info_game_q2
  1920. elif [ "${shortname}" == "q3" ]; then
  1921. fn_info_game_q3
  1922. elif [ "${shortname}" == "ql" ]; then
  1923. fn_info_game_ql
  1924. elif [ "${shortname}" == "qw" ]; then
  1925. fn_info_game_qw
  1926. elif [ "${shortname}" == "ro" ]; then
  1927. fn_info_game_ro
  1928. elif [ "${shortname}" == "rtcw" ]; then
  1929. fn_info_game_rtcw
  1930. elif [ "${shortname}" == "rust" ]; then
  1931. fn_info_game_rust
  1932. elif [ "${shortname}" == "rw" ]; then
  1933. fn_info_game_rw
  1934. elif [ "${shortname}" == "samp" ]; then
  1935. fn_info_game_samp
  1936. elif [ "${shortname}" == "sb" ]; then
  1937. fn_info_game_sb
  1938. elif [ "${shortname}" == "sbots" ]; then
  1939. fn_info_game_sbots
  1940. elif [ "${shortname}" == "scpsl" ]||[ "${shortname}" == "scpslsm" ]; then
  1941. fn_info_game_scpsl
  1942. elif [ "${shortname}" == "sdtd" ]; then
  1943. fn_info_game_sdtd
  1944. elif [ "${shortname}" == "sof2" ]; then
  1945. fn_info_game_sof2
  1946. elif [ "${shortname}" == "sol" ]; then
  1947. fn_info_game_sol
  1948. elif [ "${engine}" == "spark" ]; then
  1949. fn_info_game_spark
  1950. elif [ "${shortname}" == "squad" ]; then
  1951. fn_info_game_squad
  1952. elif [ "${shortname}" == "st" ]; then
  1953. fn_info_game_st
  1954. elif [ "${shortname}" == "stn" ]; then
  1955. fn_info_game_stn
  1956. elif [ "${shortname}" == "terraria" ]; then
  1957. fn_info_game_terraria
  1958. elif [ "${shortname}" == "tu" ]; then
  1959. fn_info_game_tu
  1960. elif [ "${shortname}" == "tw" ]; then
  1961. fn_info_game_tw
  1962. elif [ "${shortname}" == "unt" ]; then
  1963. fn_info_game_unt
  1964. elif [ "${shortname}" == "ut" ]; then
  1965. fn_info_game_ut
  1966. elif [ "${shortname}" == "ut2k4" ]; then
  1967. fn_info_game_ut2k4
  1968. elif [ "${shortname}" == "ut3" ]; then
  1969. fn_info_game_ut3
  1970. elif [ "${shortname}" == "vh" ]; then
  1971. fn_info_game_vh
  1972. elif [ "${shortname}" == "vints" ]; then
  1973. fn_info_game_vints
  1974. elif [ "${shortname}" == "wet" ]; then
  1975. fn_info_game_wet
  1976. elif [ "${shortname}" == "wf" ]; then
  1977. fn_info_game_wf
  1978. elif [ "${shortname}" == "wmc" ]; then
  1979. fn_info_game_wmc
  1980. elif [ "${shortname}" == "wurm" ]; then
  1981. fn_info_game_wurm
  1982. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then
  1983. fn_info_game_source
  1984. elif [ "${engine}" == "unreal" ]; then
  1985. fn_info_game_unreal
  1986. elif [ "${engine}" == "unreal2" ]; then
  1987. fn_info_game_unreal2
  1988. fi