Browse Source

Added new details to multiple servers

just cause 2
ARMA 3
proect zomboid
dont starve together

all have added details.

More to come as I work on this.
pull/475/head
Daniel Gibbs 10 years ago
parent
commit
9e31f53548
  1. 319
      functions/fn_details_config

319
functions/fn_details_config

@ -2,49 +2,329 @@
# LGSM fn_details_config function # LGSM fn_details_config function
# Author: Daniel Gibbs # Author: Daniel Gibbs
# Website: http://gameservermanagers.com # Website: http://gameservermanagers.com
# Version: 160715 # Version: 210715
# Description: Gets specific details from config files. # Description: Gets specific details from config files.
if [ -e "${servercfgfullpath}" ]||[ "${engine}" == "spark" ]||[ "${gamename}" == "Teamspeak 3" ]; then ## Examples of filtering to get info from config files
# sed 's/foo//g' - remove foo
# tr -cd [:digit:] leave only digits
# tr -d '=\"; ' remove selected charectors =\";
# grep -v "foo" filter out lines that contain foo
fn_servercfgfullpath(){
if [ ! -f "${servercfgfullpath}" ]; then
servercfgfullpath="\e[0;31mMISSING!\e[0m ${servercfgfullpath}"
fi
}
## Just Cause 2
if [ "${engine}" == "avalanche" ]; then if [ "${engine}" == "avalanche" ]; then
servername=$(grep -s "Name" "${servercfgfullpath}"|sed 's/Name//g'|tr -d '=\"; '|sed 's/,//g') # ip
if [ -f "${servercfgfullpath}" ]; then
# check if the ip exists in the config file. Failing this will fall back to the default. # check if the ip exists in the config file. Failing this will fall back to the default.
configipcheck=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=\"; '|sed 's/,//g') configipcheck=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=", \n')
fi
if [ -n "${configipcheck}" ]; then if [ -n "${configipcheck}" ]; then
ip=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=\"; '|sed 's/,//g') ip=$(grep "BindIP" "${servercfgfullpath}"|sed 's/BindIP//g'|tr -d '=", \n')
fi
# server name
if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "Name" "${servercfgfullpath}"|sed 's/Name//g'|tr -d '=", \n')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi fi
# port
if [ -f "${servercfgfullpath}" ]; then
port=$(grep "BindPort" "${servercfgfullpath}"|tr -cd [:digit:]) port=$(grep "BindPort" "${servercfgfullpath}"|tr -cd [:digit:])
serverpassword=$(grep -s "Password" "${servercfgfullpath}"|sed 's/Password//g'|tr -d '=\"; '|sed 's/,//g') fi
if [ ! -n "${port}" ]; then
port="0"
fi
# server password
if [ -f "${servercfgfullpath}" ]; then
serverpassword=$(grep -s "Password" "${servercfgfullpath}"|sed 's/Password//g'|tr -d '=", \n')
if [ ! -n "${serverpassword}" ]; then
serverpassword="NOT SET"
fi
else
serverpassword="\e[0;31mUNAVAILABLE\e[0m"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "MaxPlayers" "${servercfgfullpath}"|tr -cd [:digit:]) slots=$(grep -s "MaxPlayers" "${servercfgfullpath}"|tr -cd [:digit:])
if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
fn_servercfgfullpath
## Dont Starve Together
elif [ "${engine}" == "dontstarve" ]; then elif [ "${engine}" == "dontstarve" ]; then
servername=$(grep -s "default_server_name = " "${servercfgfullpath}"|sed 's/default_server_name = //g'|tr -d '=\";'|sed 's/,//g') # server name
if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "default_server_name = " "${servercfgfullpath}"|sed 's/default_server_name = //g')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# port
if [ -f "${servercfgfullpath}" ]; then
port=$(grep -s "server_port" "${servercfgfullpath}"|grep -v "#"|tr -cd "[:digit:]") port=$(grep -s "server_port" "${servercfgfullpath}"|grep -v "#"|tr -cd "[:digit:]")
serverpassword=$(grep -s "server_password = " "${servercfgfullpath}"|grep -v "#"|sed 's/server_password = //g'|tr -d '=\"; '|sed 's/,//g') fi
if [ ! -n "${port}" ]; then
port="0"
fi
# server password
if [ -f "${servercfgfullpath}" ]; then
serverpassword=$(grep -s "server_password = " "${servercfgfullpath}"|grep -v "#"|sed 's/server_password = //g')
if [ ! -n "${serverpassword}" ]; then
serverpassword="NOT SET"
fi
else
serverpassword="\e[0;31mUNAVAILABLE\e[0m"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "max_players" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:]) slots=$(grep -s "max_players" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
gamemode=$(grep -s "game_mode = " "${servercfgfullpath}"|grep -v "#"|sed 's/game_mode = //g'|tr -d '=\"; '|sed 's/,//g') if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
# game mode
if [ -f "${servercfgfullpath}" ]; then
gamemode=$(grep -s "game_mode = " "${servercfgfullpath}"|grep -v "#"|sed 's/game_mode = //g')
if [ ! -n "${gamemode}" ]; then
gamemode="NOT SET"
fi
else
gamemode="\e[0;31mUNAVAILABLE\e[0m"
fi
# tickrate
if [ -f "${servercfgfullpath}" ]; then
tickrate=$(grep -s "tick_rate" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:]) tickrate=$(grep -s "tick_rate" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
if [ ! -n "${tickrate}" ]; then
tickrate="NOT SET"
fi
else
tickrate="\e[0;31mUNAVAILABLE\e[0m"
fi
## Project Zomboid
elif [ "${engine}" == "projectzomboid" ]; then elif [ "${engine}" == "projectzomboid" ]; then
servername=$(grep -s "PublicName=" "${servercfgfullpath}"|sed 's/PublicName=//g'|tr -d '=\";'|sed 's/,//g') # server name
port=$(grep -s "DefaultPort=" "${servercfgfullpath}"|sed 's/DefaultPort=//g'|tr -cd [:digit:]) if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "PublicName=" "${servercfgfullpath}"|sed 's/PublicName=//g'|tr -d '=", \n')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# port
if [ -f "${servercfgfullpath}" ]; then
port=$(grep -s "DefaultPort=" "${servercfgfullpath}"|tr -cd [:digit:])
fi
if [ ! -n "${port}" ]; then
port="0"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "MaxPlayers=" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
fn_servercfgfullpath
elif [ "${engine}" == "realvirtuality" ]; then elif [ "${engine}" == "realvirtuality" ]; then
# server name
if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "hostname" "${servercfgfullpath}"| grep -v //|sed -e 's/\<hostname\>//g'| tr -d '=\"; ') servername=$(grep -s "hostname" "${servercfgfullpath}"| grep -v //|sed -e 's/\<hostname\>//g'| tr -d '=\"; ')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# port
if [ -f "${servercfgfullpath}" ]; then
port=$(grep -s "serverport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:]) port=$(grep -s "serverport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
fi
if [ ! -n "${port}" ]; then
port="0"
fi
# query port
if [ -f "${servercfgfullpath}" ]; then
queryport=$(grep -s "steamqueryport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:]) queryport=$(grep -s "steamqueryport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
fi
if [ ! -n "${queryport}" ]; then
queryport="0"
fi
# master port
if [ -f "${servercfgfullpath}" ]; then
masterport=$(grep -s "steamport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:]) masterport=$(grep -s "steamport=" "${servercfgfullpath}"|grep -v //|tr -d '\r'|tr -cd [:digit:])
fi
if [ ! -n "${masterport}" ]; then
masterport="0"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "maxPlayers" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
# admin password
if [ -f "${servercfgfullpath}" ]; then
adminpassword=$(grep -s "password =" "${servercfgfullpath}"|grep -v //|sed -e 's/\password//g'|tr -d '=\"; ')
if [ ! -n "${adminpassword}" ]; then
adminpassword="NOT SET"
fi
else
adminpassword="\e[0;31mUNAVAILABLE\e[0m"
fi
# server password
if [ -f "${servercfgfullpath}" ]; then
serverpassword=$(grep -s "passwordAdmin" "${servercfgfullpath}"|grep -v //|sed -e 's/\passwordAdmin//g'|tr -d '=\"; ')
if [ ! -n "${adminpassword}" ]; then
serverpassword="NOT SET"
fi
else
serverpassword="\e[0;31mUNAVAILABLE\e[0m"
fi
fn_servercfgfullpath
elif [ "${engine}" == "seriousengine35" ]; then elif [ "${engine}" == "seriousengine35" ]; then
servername=$(grep -s "prj_strMultiplayerSessionName" "${servercfgfullpath}"|sed 's/prj_strMultiplayerSessionName = //g'|sed 's/"//g'|sed 's/;//g') # server name
rcon=$(grep -s "rcts_strAdminPassword" "${servercfgfullpath}"|sed 's/rcts_strAdminPassword = //g'|sed 's/"//g'|sed 's/;//g') if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "prj_strMultiplayerSessionName" "${servercfgfullpath}"|sed 's/prj_strMultiplayerSessionName = //g'|tr -d '=\"; ')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# rcon
if [ -f "${servercfgfullpath}" ]; then
rcon=$(grep -s "rcts_strAdminPassword" "${servercfgfullpath}"|sed 's/rcts_strAdminPassword = //g'|tr -d '=\"; ')
if [ ! -n "${rcon}" ]; then
rcon="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# port
if [ -f "${servercfgfullpath}" ]; then
port=$(grep -s "prj_uwPort" "${servercfgfullpath}"|tr -d '\r'|tr -cd [:digit:]) port=$(grep -s "prj_uwPort" "${servercfgfullpath}"|tr -d '\r'|tr -cd [:digit:])
fi
if [ ! -n "${port}" ]; then
port="0"
fi
# query port
if [ -f "${servercfgfullpath}" ]; then
queryport=$((${port} + 1)) queryport=$((${port} + 1))
fi
if [ ! -n "${queryport}" ]; then
queryport="0"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "gam_ctMaxPlayers" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
# game mode
if [ -f "${servercfgfullpath}" ]; then
gamemode=$(grep -s "gam_idGameMode" "${servercfgfullpath}"|grep -v "#"|sed 's/gam_idGameMode//g'|tr -d '=\"; ')
if [ ! -n "${gamemode}" ]; then
gamemode="NOT SET"
fi
else
gamemode="\e[0;31mUNAVAILABLE\e[0m"
fi
elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
# server name
if [ -f "${servercfgfullpath}" ]; then
servername=$(grep -s "hostname" "${servercfgfullpath}"|sed 's/hostname //g'|sed 's/"//g') servername=$(grep -s "hostname" "${servercfgfullpath}"|sed 's/hostname //g'|sed 's/"//g')
if [ ! -n "${servername}" ]; then
servername="NOT SET"
fi
else
servername="\e[0;31mUNAVAILABLE\e[0m"
fi
# rcon
if [ -f "${servercfgfullpath}" ]; then
rcon=$(grep -s "rcon_password" "${servercfgfullpath}"|sed 's/rcon_password //g'|sed 's/"//g') rcon=$(grep -s "rcon_password" "${servercfgfullpath}"|sed 's/rcon_password //g'|sed 's/"//g')
if [ ! -n "${rcon}" ]; then
rcon="NOT SET"
fi
else
rcon="\e[0;31mUNAVAILABLE\e[0m"
fi
# server password
if [ -f "${servercfgfullpath}" ]; then
serverpassword=$(grep -s "sv_password" "${servercfgfullpath}"|sed 's/sv_password//g'|sed 's/"//g')
if [ ! -n "${serverpassword}" ]; then
serverpassword="NOT SET"
fi
else
serverpassword="\e[0;31mUNAVAILABLE\e[0m"
fi
# slots
if [ -f "${servercfgfullpath}" ]; then
slots=$(grep -s "gam_ctMaxPlayers" "${servercfgfullpath}"|grep -v "#"|tr -cd [:digit:])
if [ ! -n "${slots}" ]; then
slots="NOT SET"
fi
else
slots="\e[0;31mUNAVAILABLE\e[0m"
fi
elif [ "${engine}" == "spark" ]; then elif [ "${engine}" == "spark" ]; then
queryport=$((${port} + 1)) queryport=$((${port} + 1))
@ -91,16 +371,3 @@ if [ -e "${servercfgfullpath}" ]||[ "${engine}" == "spark" ]||[ "${gamename}" ==
webadminpass=$(grep AdminPassword= "${servercfgfullpath}"|sed 's/\AdminPassword=//g') webadminpass=$(grep AdminPassword= "${servercfgfullpath}"|sed 's/\AdminPassword=//g')
fi fi
fi fi
else
servername="\e[0;31mSERVER NAME MISSING!\e[0m"
port="0"
queryport="0"
webadminenabled="\e[0;31mCONFIG FILE MISSING!\e[0m"
webadminport="0"
webadminpass="\e[0;31mCONFIG FILE MISSING!\e[0m"
telnetenabled="\e[0;31mCONFIG FILE MISSING!\e[0m"
telnetport="0"
telnetpass="\e[0;31mCONFIG FILE MISSING!\e[0m"
rcon="\e[0;31mCONFIG FILE MISSING!\e[0m"
servercfgfullpath="${servercfgfullpath} \e[0;31mCONFIG FILE MISSING!!\e[0m"
fi

Loading…
Cancel
Save