info_config.sh 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. #!/bin/bash
  2. # LGSM info_config.sh function
  3. # Author: Daniel Gibbs
  4. # Contributor: UltimateByte
  5. # Website: https://gameservermanagers.com
  6. # Description: Gets specific details from config files.
  7. local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
  8. ## Examples of filtering to get info from config files
  9. # sed 's/foo//g' - remove foo
  10. # tr -cd '[:digit:]' leave only digits
  11. # tr -d '=\"; ' remove selected characters =\";
  12. # grep -v "foo" filter out lines that contain foo
  13. # cut -f1 -d "/" remove everything after /
  14. unavailable="${red}UNAVAILABLE${default}"
  15. zero="${red}0${default}"
  16. fn_info_config_avalanche(){
  17. if [ ! -f "${servercfgfullpath}" ]; then
  18. servername="${unavailable}"
  19. serverpassword="${unavailable}"
  20. slots="${zero}"
  21. port="${zero}"
  22. else
  23. servername=$(grep "Name" "${servercfgfullpath}" | sed 's/Name//g' | tr -d '=", \n')
  24. serverpassword=$(grep "Password" "${servercfgfullpath}" | sed 's/Password//g' | tr -d '=", \n')
  25. slots=$(grep "MaxPlayers" "${servercfgfullpath}" | tr -cd '[:digit:]')
  26. port=$(grep "BindPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  27. # Not Set
  28. servername=${servername:-"NOT SET"}
  29. serverpassword=${serverpassword:-"NOT SET"}
  30. slots=${slots:-"0"}
  31. port=${port:-"0"}
  32. # check if the ip exists in the config file. Failing this will fall back to the default.
  33. ipconfigcheck=$(grep "BindIP" "${servercfgfullpath}" | sed 's/BindIP//g' | tr -d '=", \n')
  34. if [ -n "${ipconfigcheck}" ]; then
  35. ip="${ipconfigcheck}"
  36. fi
  37. fi
  38. }
  39. fn_info_config_dontstarve(){
  40. if [ ! -f "${servercfgfullpath}" ]; then
  41. servername="${unavailable}"
  42. serverpassword="${unavailable}"
  43. slots="${zero}"
  44. gamemode="${unavailable}"
  45. tickrate="${zero}"
  46. port="${zero}"
  47. else
  48. servername=$(grep "default_server_name = " "${servercfgfullpath}" | sed 's/default_server_name = //g')
  49. serverpassword=$(grep "server_password = " "${servercfgfullpath}" | grep -v "#" | sed 's/server_password = //g')
  50. slots=$(grep "max_players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  51. gamemode=$(grep "game_mode = " "${servercfgfullpath}" | grep -v "#" | sed 's/game_mode = //g')
  52. tickrate=$(grep "tick_rate" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  53. port=$(grep "server_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  54. # Not Set
  55. servername=${servername:-"NOT SET"}
  56. serverpassword=${serverpassword:-"NOT SET"}
  57. slots=${slots:-"0"}
  58. gamemode=${gamemode:-"NOT SET"}
  59. tickrate=${tickrate:-"0"}
  60. port=${port:-"0"}
  61. fi
  62. }
  63. fn_info_config_minecraft(){
  64. if [ ! -f "${servercfgfullpath}" ]; then
  65. servername="${unavailable}"
  66. rconpassword="${unavailable}"
  67. rconport="${zero}"
  68. slots="${zero}"
  69. port="${zero}"
  70. gamemode="${zero}"
  71. gameworld="${unavailable}"
  72. else
  73. # check if the ip exists in the config file. Failing this will fall back to the default.
  74. ipconfigcheck=$(grep "server-ip=" "${servercfgfullpath}" | sed 's/server-ip=//g')
  75. if [ -n "${ipconfigcheck}" ]; then
  76. ip="${ipconfigcheck}"
  77. fi
  78. servername=$(grep "motd=" "${servercfgfullpath}" | sed 's/motd=//g' | tr -d '=\";' | sed 's/\\n.*//g')
  79. rconpassword=$(grep "rcon.password=" "${servercfgfullpath}" | sed 's/rcon.password=//g' | tr -d '=\"; ')
  80. rconport=$(grep "rcon.port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  81. slots=$(grep "max-players=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  82. port=$(grep "server-port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  83. gamemode=$(grep "gamemode=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  84. gameworld=$(grep "level-name=" "${servercfgfullpath}" | sed 's/level-name=//g' | tr -d '=\"; ')
  85. # Not Set
  86. servername=${servername:-"NOT SET"}
  87. rconpassword=${rconpassword:-"NOT SET"}
  88. rconport=${rconport:-"NOT SET"}
  89. slots=${slots:-"NOT SET"}
  90. port=${port:-"NOT SET"}
  91. gamemode=${gamemode:-"NOT SET"}
  92. gameworld=${gameworld:-"NOT SET"}
  93. fi
  94. }
  95. fn_info_config_projectzomboid(){
  96. if [ ! -f "${servercfgfullpath}" ]; then
  97. servername="${unavailable}"
  98. serverpassword="${unavailable}"
  99. rconpassword="${unavailable}"
  100. slots="${zero}"
  101. port="${zero}"
  102. gameworld="${unavailable}"
  103. else
  104. servername=$(grep "PublicName=" "${servercfgfullpath}" | sed 's/PublicName=//g' | tr -d '=\";\n')
  105. serverpassword=$(grep "^Password=$" "${servercfgfullpath}" | sed 's/Password=//g' | tr -d '=\"; ')
  106. rconpassword=$(grep "RCONPassword=" "${servercfgfullpath}" | sed 's/RCONPassword=//g' | tr -d '=\"; ')
  107. slots=$(grep "MaxPlayers=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  108. port=$(grep "DefaultPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  109. gameworld=$(grep "Map=" "${servercfgfullpath}" | sed 's/Map=//g' | tr -d '\n')
  110. # Not Set
  111. servername=${servername:-"NOT SET"}
  112. serverpassword=${serverpassword:-"NOT SET"}
  113. rconpassword=${rconpassword:-"NOT SET"}
  114. slots=${slots:-"NOT SET"}
  115. port=${port:-"NOT SET"}
  116. gameworld=${gameworld:-"NOT SET"}
  117. fi
  118. }
  119. fn_info_config_idtech3(){
  120. if [ ! -f "${servercfgfullpath}" ]; then
  121. servername="${unavailable}"
  122. serverpassword="${unavailable}"
  123. slots="${zero}"
  124. else
  125. servername=$(grep "set sv_hostname " "${servercfgfullpath}" | sed 's/set sv_hostname //g' | tr -d '=\"; ')
  126. serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed 's/set g_password//g' | tr -d '=\"; '| cut -f1 -d "/")
  127. slots=$(grep "set sv_maxClients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  128. # Not Set
  129. servername=${servername:-"NOT SET"}
  130. serverpassword=${serverpassword:-"NOT SET"}
  131. slots=${slots:-"0"}
  132. fi
  133. }
  134. fn_info_config_realvirtuality(){
  135. if [ ! -f "${servercfgfullpath}" ]; then
  136. servername="${unavailable}"
  137. adminpassword="${unavailable}"
  138. serverpassword="${unavailable}"
  139. slots="${zero}"
  140. else
  141. servername=$(grep "hostname" "${servercfgfullpath}" | grep -v "//" | awk -F '"' '{print $2}')
  142. adminpassword=$(grep "passwordAdmin" "${servercfgfullpath}" | grep -v "//" | sed 's/\passwordAdmin//g' | tr -d '=\"; ')
  143. serverpassword=$(grep "password =" "${servercfgfullpath}" | grep -v "//" | sed 's/\password//g' | tr -d '=\"; ')
  144. slots=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  145. # Not Set
  146. servername=${servername:-"NOT SET"}
  147. adminpassword=${adminpassword:-"NOT SET"}
  148. serverpassword=${serverpassword:-"NOT SET"}
  149. slots=${slots:-"0"}
  150. fi
  151. }
  152. fn_info_config_seriousengine35(){
  153. if [ ! -f "${servercfgfullpath}" ]; then
  154. servername="${unavailable}"
  155. rconpassword="${unavailable}"
  156. gamemode="${unavailable}"
  157. slots="${zero}"
  158. port="${zero}"
  159. else
  160. servername=$(grep "prj_strMultiplayerSessionName" "${servercfgfullpath}" | sed 's/prj_strMultiplayerSessionName = //g' | tr -d '=\"; ')
  161. rconpassword=$(grep "rcts_strAdminPassword" "${servercfgfullpath}" | sed 's/rcts_strAdminPassword = //g' | tr -d '=\"; ')
  162. gamemode=$(grep "gam_idGameMode" "${servercfgfullpath}" | grep -v "#" | sed 's/gam_idGameMode//g' | tr -d '=\"; ')
  163. slots=$(grep "gam_ctMaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
  164. port=$(grep "prj_uwPort" "${servercfgfullpath}" | tr -d '\r' | tr -cd '[:digit:]')
  165. # Not Set
  166. servername=${servername:-"NOT SET"}
  167. rconpassword=${rconpassword:-"NOT SET"}
  168. gamemode=${gamemode:-"NOT SET"}
  169. slots=${slots:-"0"}
  170. port=${port:-"0"}
  171. fi
  172. }
  173. fn_info_config_source(){
  174. if [ ! -f "${servercfgfullpath}" ]; then
  175. servername="${unavailable}"
  176. serverpassword="${unavailable}"
  177. rconpassword="${unavailable}"
  178. else
  179. servername=$(grep "hostname" "${servercfgfullpath}" | sed 's/hostname //g' | sed 's/"//g'| cut -f1 -d "/")
  180. serverpassword=$(grep "sv_password" "${servercfgfullpath}" | sed 's/sv_password //g' | sed 's/"//g'| cut -f1 -d "/")
  181. rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed 's/rcon_password //g' | sed 's/"//g'| cut -f1 -d "/")
  182. # Not Set
  183. servername=${servername:-"NOT SET"}
  184. serverpassword=${serverpassword:-"NOT SET"}
  185. rconpassword=${rconpassword:-"NOT SET"}
  186. fi
  187. }
  188. fn_info_config_starbound(){
  189. if [ ! -f "${servercfgfullpath}" ]; then
  190. servername="${unavailable}"
  191. rconpassword="${unavailable}"
  192. port="21025"
  193. queryport="21025"
  194. rconport="21026"
  195. slots="8"
  196. else
  197. servername=$(grep "serverName" "${servercfgfullpath}" | sed 's/"serverName" \: //g' | grep -oP '"\K[^"]+(?=["])')
  198. rconpassword=$(grep "rconServerPassword" "${servercfgfullpath}" | sed 's/"rconServerPassword" \: //g' | grep -oP '"\K[^"]+(?=["])')
  199. port=$(grep "gameServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  200. queryport=$(grep "queryServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  201. rconport=$(grep "rconServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  202. slots=$(grep "maxPlayers" "${servercfgfullpath}" | tr -cd '[:digit:]')
  203. # Not Set
  204. servername=${servername:-"NOT SET"}
  205. rconpassword=${rconpassword:-"NOT SET"}
  206. port=${port:-"21025"}
  207. queryport=${queryport:-"21025"}
  208. rconport=${rconport:-"21026"}
  209. slots=${slots:-"8"}
  210. fi
  211. }
  212. fn_info_config_teamspeak3(){
  213. if [ ! -f "${servercfgfullpath}" ]; then
  214. dbplugin="${unavailable}"
  215. port="9987"
  216. queryport="10011"
  217. fileport="30033"
  218. else
  219. # check if the ip exists in the config file. Failing this will fall back to the default.
  220. ipconfigcheck=$(grep "voice_ip=" "${servercfgfullpath}" | sed 's/voice_ip=//g')
  221. if [ -n "${ipconfigcheck}" ]; then
  222. ip="${ipconfigcheck}"
  223. fi
  224. dbplugin=$(grep "dbplugin=" "${servercfgfullpath}" | sed 's/dbplugin=//g')
  225. port=$(grep "default_voice_port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  226. queryport=$(grep "query_port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  227. fileport=$(grep "filetransfer_port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  228. # Not Set
  229. port=${port:-"9987"}
  230. queryport=${queryport:-"10011"}
  231. fileport=${fileport:-"30033"}
  232. fi
  233. }
  234. fn_info_config_mumble(){
  235. if [ ! -f "${servercfgfullpath}" ]; then
  236. port="64738"
  237. queryport="${port}"
  238. servername="Mumble"
  239. else
  240. # check if the ip exists in the config file. Failing this will fall back to the default.
  241. ipconfigcheck=$(cat "${servercfgfullpath}" | grep "host=" | awk -F'=' '{ print $2}')
  242. if [ -n "${ipconfigcheck}" ]; then
  243. ip="${ipconfigcheck}"
  244. fi
  245. port=$(cat "${servercfgfullpath}" | grep 'port=' | awk -F'=' '{ print $2 }')
  246. queryport="${port}"
  247. # Not Set
  248. port=${port:-"64738"}
  249. queryport=${queryport:-"64738"}
  250. servername="Mumble Port ${port}"
  251. fi
  252. }
  253. fn_info_config_teeworlds(){
  254. if [ ! -f "${servercfgfullpath}" ]; then
  255. servername="unnamed server"
  256. serverpassword="${unavailable}"
  257. rconpassword="${unavailable}"
  258. port="8303"
  259. slots="12"
  260. else
  261. servername=$(grep "sv_name" "${servercfgfullpath}" | sed 's/sv_name //g' | sed 's/"//g')
  262. serverpassword=$(grep "password " "${servercfgfullpath}" | awk '!/sv_rcon_password/'| sed 's/password //g' | tr -d '=\"; ')
  263. rconpassword=$(grep "sv_rcon_password" "${servercfgfullpath}" | sed 's/sv_rcon_password //g' | tr -d '=\"; ')
  264. port=$(grep "sv_port" "${servercfgfullpath}" | tr -cd '[:digit:]')
  265. slots=$(grep "sv_max_clients" "${servercfgfullpath}" | tr -cd '[:digit:]')
  266. # Not Set
  267. servername=${servername:-"NOT SET"}
  268. serverpassword=${serverpassword:-"NOT SET"}
  269. rconpassword=${rconpassword:-"NOT SET"}
  270. port=${port:-"8303"}
  271. slots=${slots:-"12"}
  272. fi
  273. }
  274. fn_info_config_terraria(){
  275. if [ ! -f "${servercfgfullpath}" ]; then
  276. servername="${unavailable}"
  277. port="${zero}"
  278. gameworld="${unavailable}"
  279. slots="${zero}"
  280. else
  281. servername=$(grep "worldname=" "${servercfgfullpath}" | sed 's/worldname=//g')
  282. port=$(grep "port=" "${servercfgfullpath}" | tr -cd '[:digit:]')
  283. gameworld=$(grep "world=" "${servercfgfullpath}" | sed 's/world=//g')
  284. slots=$(grep "maxplayers=" "${servercfgfullpath}" | sed 's/maxplayers=//g')
  285. # Not Set
  286. servername=${servername:-"NOT SET"}
  287. port=${port:-"0"}
  288. gameworld=${gameworld:-"NOT SET"}
  289. slots=${slots:-"0"}
  290. fi
  291. }
  292. fn_info_config_unreal(){
  293. if [ ! -f "${servercfgfullpath}" ]; then
  294. servername="${unavailable}"
  295. serverpassword="${unavailable}"
  296. adminpassword="${unavailable}"
  297. port="${zero}"
  298. gsqueryport="${zero}"
  299. webadminenabled="${unavailable}"
  300. webadminport="${zero}"
  301. webadminuser="${unavailable}"
  302. webadminpass="${unavailable}"
  303. else
  304. servername=$(grep "ServerName=" "${servercfgfullpath}" | sed 's/ServerName=//g')
  305. serverpassword=$(grep "GamePassword=" "${servercfgfullpath}" | sed 's/GamePassword=//g')
  306. adminpassword=$(grep "AdminPassword=" "${servercfgfullpath}" | sed 's/AdminPassword=//g')
  307. port=$(grep "Port=" "${servercfgfullpath}" | grep -v "Master" | grep -v "LAN" | grep -v "Proxy" | grep -v "Listen" | tr -d '\r' | tr -cd '[:digit:]')
  308. gsqueryport=$(grep "OldQueryPortNumber=" "${servercfgfullpath}" | tr -d '\r' | tr -cd '[:digit:]')
  309. webadminenabled=$(grep "bEnabled=" "${servercfgfullpath}" | sed 's/bEnabled=//g' | tr -d '\r')
  310. webadminport=$(grep "ListenPort=" "${servercfgfullpath}" | tr -d '\r' | tr -cd '[:digit:]')
  311. if [ "${engine}" == "unreal" ]; then
  312. webadminuser=$(grep "AdminUsername=" "${servercfgfullpath}" | sed 's/AdminUsername=//g')
  313. webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 2 | grep "AdminPassword=" | sed 's/AdminPassword=//g')
  314. else
  315. webadminuser=$(grep "AdminName=" "${servercfgfullpath}" | sed 's/AdminName=//g')
  316. webadminpass="${adminpassword}"
  317. fi
  318. # Not Set
  319. servername=${servername:-"NOT SET"}
  320. serverpassword=${serverpassword:-"NOT SET"}
  321. adminpassword=${adminpassword:-"NOT SET"}
  322. port=${port:-"0"}
  323. gsqueryport=${gsqueryport:-"0"}
  324. webadminenabled=${webadminenabled:-"NOT SET"}
  325. webadminport=${webadminport:-"0"}
  326. webadminuser=${webadminuser:-"NOT SET"}
  327. webadminpass=${webadminpass:-"NOT SET"}
  328. fi
  329. }
  330. fn_info_config_sdtd(){
  331. if [ ! -f "${servercfgfullpath}" ]; then
  332. servername="${unavailable}"
  333. serverpassword="${unavailable}"
  334. port="${zero}"
  335. queryport="${zero}"
  336. webadminenabled="${unavailable}"
  337. webadminport="${zero}"
  338. webadminpass="${unavailable}"
  339. telnetenabled="${unavailable}"
  340. telnetport="${zero}"
  341. telnetpass="${unavailable}"
  342. slots="${unavailable}"
  343. gamemode="${unavailable}"
  344. gameworld="${unavailable}"
  345. else
  346. servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  347. serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  348. port=$(grep "ServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  349. queryport=$((port + 1))
  350. webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  351. webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  352. webadminpass=$(grep "ControlPanelPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  353. telnetenabled=$(grep "TelnetEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  354. telnetport=$(grep "TelnetPort" "${servercfgfullpath}" | tr -cd '[:digit:]')
  355. telnetpass=$(grep "TelnetPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  356. slots=$(grep "ServerMaxPlayerCount" "${servercfgfullpath}" | tr -cd '[:digit:]')
  357. gamemode=$(grep "GameMode" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  358. gameworld=$(grep "GameWorld" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"")
  359. # Not Set
  360. servername=${servername:-"NOT SET"}
  361. serverpassword=${serverpassword:-"NOT SET"}
  362. port=${port:-"0"}
  363. queryport=${queryport:-"0"}
  364. webadminenabled=${webadminenabled:-"NOT SET"}
  365. webadminport=${webadminport:-"0"}
  366. webadminpass=${webadminpass:-"NOT SET"}
  367. telnetenabled=${telnetenabled:-"NOT SET"}
  368. telnetport=${telnetport:-"0"}
  369. telnetpass=${telnetpass:-"NOT SET"}
  370. slots=${slots:-"NOT SET"}
  371. gamemode=${gamemode:-"NOT SET"}
  372. gameworld=${gameworld:-"NOT SET"}
  373. fi
  374. }
  375. # Just Cause 2
  376. if [ "${engine}" == "avalanche" ]; then
  377. fn_info_config_avalanche
  378. # Dont Starve Together
  379. elif [ "${engine}" == "dontstarve" ]; then
  380. fn_info_config_dontstarve
  381. # Quake Live
  382. elif [ "${engine}" == "idtech3" ]; then
  383. fn_info_config_idtech3
  384. # Minecraft
  385. elif [ "${engine}" == "lwjgl2" ]; then
  386. fn_info_config_minecraft
  387. # Project Zomboid
  388. elif [ "${engine}" == "projectzomboid" ]; then
  389. fn_info_config_projectzomboid
  390. # ARMA 3
  391. elif [ "${engine}" == "realvirtuality" ]; then
  392. fn_info_config_realvirtuality
  393. # Serious Sam
  394. elif [ "${engine}" == "seriousengine35" ]; then
  395. fn_info_config_seriousengine35
  396. # Source Engine Games
  397. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
  398. fn_info_config_source
  399. # Starbound
  400. elif [ "${engine}" == "starbound" ]; then
  401. fn_info_config_starbound
  402. # TeamSpeak 3
  403. elif [ "${gamename}" == "TeamSpeak 3" ]; then
  404. fn_info_config_teamspeak3
  405. elif [ "${gamename}" == "Mumble" ]; then
  406. fn_info_config_mumble
  407. # Teeworlds
  408. elif [ "${engine}" == "teeworlds" ]; then
  409. fn_info_config_teeworlds
  410. # Terraria
  411. elif [ "${engine}" == "terraria" ]; then
  412. fn_info_config_terraria
  413. # Unreal/Unreal 2 engine
  414. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  415. fn_info_config_unreal
  416. # 7 Day To Die (unity3d)
  417. elif [ "${gamename}" == "7 Days To Die" ]; then
  418. fn_info_config_sdtd
  419. fi