info_game.sh 88 KB

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