info_game.sh 84 KB

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