4
0

fn_details_config 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #!/bin/bash
  2. # LGSM fn_details_config function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. # Version: 160715
  6. # Description: Gets specific details from config files.
  7. if [ -e "${servercfgfullpath}" ]||[ "${engine}" == "spark" ]||[ "${gamename}" == "Teamspeak 3" ]; then
  8. if [ "${engine}" == "avalanche" ]; then
  9. servername=$(grep -s "Name" "${servercfgfullpath}"|sed 's/Name//g'|tr -d '=\"; '|sed 's/,//g')
  10. # check if the ip exists in the config file. Failing this will fall back to the default.
  11. configipcheck=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=\"; '|sed 's/,//g')
  12. if [ -n "${configipcheck}" ]; then
  13. ip=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=\"; '|sed 's/,//g')
  14. fi
  15. port=$(grep "BindPort" "${servercfgfullpath}"|tr -cd [:digit:])
  16. serverpassword=$(grep -s "Password" "${servercfgfullpath}"|sed 's/Password//g'|tr -d '=\"; '|sed 's/,//g')
  17. slots=$(grep -s "MaxPlayers" "${servercfgfullpath}"|tr -cd [:digit:])
  18. elif [ "${engine}" == "dontstarve" ]; then
  19. servername=$(grep -s "default_server_name = " "${servercfgfullpath}"|sed 's/default_server_name = //g'|tr -d '=\";'|sed 's/,//g')
  20. port=$(grep -s "server_port" "${servercfgfullpath}"|grep -v "#"|tr -cd "[:digit:]")
  21. serverpassword=$(grep -s "server_password = " "${servercfgfullpath}"|grep -v "#"|sed 's/server_password = //g'|tr -d '=\"; '|sed 's/,//g')
  22. slots=$(grep -s "max_players" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
  23. gamemode=$(grep -s "game_mode = " "${servercfgfullpath}"|grep -v "#"|sed 's/game_mode = //g'|tr -d '=\"; '|sed 's/,//g')
  24. tickrate=$(grep -s "tick_rate" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
  25. elif [ "${engine}" == "projectzomboid" ]; then
  26. servername=$(grep -s "PublicName=" "${servercfgfullpath}"|sed 's/PublicName=//g'|tr -d '=\";'|sed 's/,//g')
  27. port=$(grep -s "DefaultPort=" "${servercfgfullpath}"|sed 's/DefaultPort=//g'|tr -cd [:digit:])
  28. elif [ "${engine}" == "realvirtuality" ]; then
  29. servername=$(grep -s "hostname" "${servercfgfullpath}"| grep -v //|sed -e 's/\<hostname\>//g'| tr -d '=\"; ')
  30. port=$(grep -s "serverport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
  31. queryport=$(grep -s "steamqueryport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
  32. masterport=$(grep -s "steamport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
  33. elif [ "${engine}" == "seriousengine35" ]; then
  34. servername=$(grep -s "prj_strMultiplayerSessionName" "${servercfgfullpath}"|sed 's/prj_strMultiplayerSessionName = //g'|sed 's/"//g'|sed 's/;//g')
  35. rcon=$(grep -s "rcts_strAdminPassword" "${servercfgfullpath}"|sed 's/rcts_strAdminPassword = //g'|sed 's/"//g'|sed 's/;//g')
  36. port=$(grep -s "prj_uwPort" "${servercfgfullpath}"|tr -d '\r'|tr -cd [:digit:])
  37. queryport=$((${port} + 1))
  38. elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
  39. servername=$(grep -s "hostname" "${servercfgfullpath}"|sed 's/hostname //g'|sed 's/"//g')
  40. rcon=$(grep -s "rcon_password" "${servercfgfullpath}"|sed 's/rcon_password //g'|sed 's/"//g')
  41. elif [ "${engine}" == "spark" ]; then
  42. queryport=$((${port} + 1))
  43. elif [ "${gamename}" == "Teamspeak 3" ]; then
  44. if [ -s "${servercfgfullpath}" ]; then
  45. port=$(grep "default_voice_port=" "${servercfgfullpath}"|tr -cd [:digit:])
  46. queryport=$(grep "query_port=" "${servercfgfullpath}"|tr -cd [:digit:])
  47. fileport=$(grep "filetransfer_port=" "${servercfgfullpath}"|tr -cd [:digit:])
  48. ip=$(grep "voice_ip=" "${servercfgfullpath}"|sed 's/\voice_ip=//g')
  49. dbplugin=$(grep "dbplugin=" "${servercfgfullpath}"|sed 's/\dbplugin=//g')
  50. else
  51. port="9987"
  52. queryport="10011"
  53. fileport="30033"
  54. fi
  55. elif [ "${engine}" == "unity3d" ]; then
  56. servername=$(grep "ServerName" "${servercfgfullpath}"|sed 's/^.*value="//'|cut -f1 -d"\"")
  57. port=$(grep "ServerPort" "${servercfgfullpath}"|tr -cd [:digit:])
  58. queryport=$((${port} + 1))
  59. webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}"|sed 's/^.*value="//'|cut -f1 -d"\"")
  60. webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}"|tr -cd [:digit:])
  61. webadminpass=$(grep "ControlPanelPassword" "${servercfgfullpath}"|sed 's/^.*value="//'|cut -f1 -d"\"")
  62. telnetenabled=$(grep "TelnetEnabled" "${servercfgfullpath}"|sed 's/^.*value="//'|cut -f1 -d"\"")
  63. telnetport=$(grep "TelnetPort" "${servercfgfullpath}"|tr -cd [:digit:])
  64. telnetpass=$(grep "TelnetPassword" "${servercfgfullpath}"|sed 's/^.*value="//'|cut -f1 -d"\"")
  65. if [ -z "${telnetpass}" ]; then
  66. telnetpass="\e[0;31mno password set\e[0m"
  67. fi
  68. elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
  69. servername=$(grep -s ServerName= ${servercfgfullpath}|sed 's/ServerName=//g')
  70. port=$(grep Port= "${servercfgfullpath}"|grep -v Master|grep -v LAN|grep -v Proxy|grep -v Listen|tr -d '\r'|tr -cd [:digit:])
  71. queryport=$((${port} + 1))
  72. gsqueryport=$(grep OldQueryPortNumber= "${servercfgfullpath}"|tr -d '\r'|tr -cd [:digit:])
  73. udplinkport=$((${port} + 2))
  74. webadminenabled=$(grep bEnabled= "${servercfgfullpath}"|sed 's/bEnabled=//g'|tr -d '\r')
  75. webadminport=$(grep ListenPort= "${servercfgfullpath}"|tr -d '\r'|tr -cd [:digit:])
  76. if [ "${engine}" == "unreal" ]; then
  77. webadminuser=$(grep AdminUsername= "${servercfgfullpath}"|sed 's/\AdminUsername=//g')
  78. webadminpass=$(grep UTServerAdmin.UTServerAdmin "${servercfgfullpath}" -A 2| grep AdminPassword=|sed 's/\AdminPassword=//g')
  79. else
  80. webadminuser=$(grep AdminName= "${servercfgfullpath}"|sed 's/\AdminName=//g')
  81. webadminpass=$(grep AdminPassword= "${servercfgfullpath}"|sed 's/\AdminPassword=//g')
  82. fi
  83. fi
  84. else
  85. servername="\e[0;31mSERVER NAME MISSING!\e[0m"
  86. port="0"
  87. queryport="0"
  88. webadminenabled="\e[0;31mCONFIG FILE MISSING!\e[0m"
  89. webadminport="0"
  90. webadminpass="\e[0;31mCONFIG FILE MISSING!\e[0m"
  91. telnetenabled="\e[0;31mCONFIG FILE MISSING!\e[0m"
  92. telnetport="0"
  93. telnetpass="\e[0;31mCONFIG FILE MISSING!\e[0m"
  94. rcon="\e[0;31mCONFIG FILE MISSING!\e[0m"
  95. servercfgfullpath="${servercfgfullpath} \e[0;31mCONFIG FILE MISSING!!\e[0m"
  96. fi