1 changed files with 175 additions and 0 deletions
@ -0,0 +1,175 @@ |
|||||
|
#!/bin/bash |
||||
|
# LGSM info_parms.sh function |
||||
|
# Author: Daniel Gibbs |
||||
|
# Website: http://gameservermanagers.com |
||||
|
lgsm_version="010316" |
||||
|
|
||||
|
# Description: Gets specific details server parameters. |
||||
|
|
||||
|
## 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 |
||||
|
|
||||
|
unavailable="\e[0;31mUNAVAILABLE\e[0m" |
||||
|
zero="\e[0;31m0\e[0m" |
||||
|
|
||||
|
|
||||
|
fn_info_config_idtech3(){ |
||||
|
# Not Set |
||||
|
gameport=${gameport:-"NOT SET"} |
||||
|
rconport=${rconport:-"0"} |
||||
|
rconpassword=${rconpassword:-"NOT SET"} |
||||
|
statsport=${statsport:-"0"} |
||||
|
statspassword=${statspassword:-"NOT SET"} |
||||
|
mappool=${mappool:-"NOT SET"} |
||||
|
rconpassword=${rconpassword:-"NOT SET"} |
||||
|
} |
||||
|
|
||||
|
fn_info_config_realvirtuality(){ |
||||
|
# Not Set |
||||
|
port=${rconport:-"0"} |
||||
|
} |
||||
|
|
||||
|
fn_info_config_seriousengine35(){ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
fn_info_config_source(){ |
||||
|
defaultmap=${defaultmap:-"NOT SET"} |
||||
|
maxplayers=${maxplayers:-"0"} |
||||
|
port=${port:-"0"} |
||||
|
clientport=${clientport:-"0"} |
||||
|
} |
||||
|
|
||||
|
fn_info_config_teamspeak3(){ |
||||
|
if [ ! -f "${servercfgfullpath}" ]; then |
||||
|
dbplugin="${unavailable}" |
||||
|
port="9987" |
||||
|
queryport="10011" |
||||
|
fileport="30033" |
||||
|
else |
||||
|
# check if the ip exists in the config file. Failing this will fall back to the default. |
||||
|
ipconfigcheck=$(grep "voice_ip=" "${servercfgfullpath}" | sed 's/\voice_ip=//g') |
||||
|
if [ -n "${ipconfigcheck}" ]; then |
||||
|
ip="${ipconfigcheck}" |
||||
|
fi |
||||
|
dbplugin=$(grep "dbplugin=" "${servercfgfullpath}" | sed 's/\dbplugin=//g') |
||||
|
port=$(grep "default_voice_port=" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
queryport=$(grep "query_port=" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
fileport=$(grep "filetransfer_port=" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
|
||||
|
# Not Set |
||||
|
port=${port:-"9987"} |
||||
|
queryport=${queryport:-"10011"} |
||||
|
fileport=${fileport:-"30033"} |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
fn_info_config_teeworlds(){ |
||||
|
if [ ! -f "${servercfgfullpath}" ]; then |
||||
|
servername="unnamed server" |
||||
|
serverpassword="${unavailable}" |
||||
|
rconpassword="${unavailable}" |
||||
|
port="8303" |
||||
|
slots="12" |
||||
|
else |
||||
|
servername=$(grep "sv_name" "${servercfgfullpath}" | sed 's/sv_name //g' | sed 's/"//g') |
||||
|
serverpassword=$(grep "password " "${servercfgfullpath}" | awk '!/sv_rcon_password/'| sed 's/password //g' | tr -d '=\"; ') |
||||
|
rconpassword=$(grep "sv_rcon_password" "${servercfgfullpath}" | sed 's/sv_rcon_password //g' | tr -d '=\"; ') |
||||
|
port=$(grep "sv_port" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
slots=$(grep "sv_max_clients" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
|
||||
|
# Not Set |
||||
|
servername=${servername:-"NOT SET"} |
||||
|
serverpassword=${serverpassword:-"NOT SET"} |
||||
|
rconpassword=${rconpassword:-"NOT SET"} |
||||
|
port=${port:-"8303"} |
||||
|
slots=${slots:-"12"} |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
fn_info_config_terraria(){ |
||||
|
if [ ! -f "${servercfgfullpath}" ]; then |
||||
|
port="0" |
||||
|
else |
||||
|
port=$(grep "port=" "${servercfgfullpath}" | tr -cd '[:digit:]') |
||||
|
|
||||
|
# Not Set |
||||
|
port=${port:-"0"} |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
fn_info_config_unreal(){ |
||||
|
if [ ! -f "${servercfgfullpath}" ]; then |
||||
|
servername="${unavailable}" |
||||
|
serverpassword="${unavailable}" |
||||
|
adminpassword="${unavailable}" |
||||
|
port="${zero}" |
||||
|
gsqueryport="${zero}" |
||||
|
webadminenabled="${unavailable}" |
||||
|
webadminport="${zero}" |
||||
|
webadminuser="${unavailable}" |
||||
|
webadminpass="${unavailable}" |
||||
|
else |
||||
|
servername=$(grep "ServerName=" "${servercfgfullpath}" | sed 's/ServerName=//g') |
||||
|
serverpassword=$(grep "GamePassword=" "${servercfgfullpath}" | sed 's/GamePassword=//g') |
||||
|
adminpassword=$(grep "AdminPassword=" "${servercfgfullpath}" | sed 's/AdminPassword=//g') |
||||
|
port=$(grep "Port=" "${servercfgfullpath}" | grep -v "Master" | grep -v "LAN" | grep -v "Proxy" | grep -v "Listen" | tr -d '\r' | tr -cd '[:digit:]') |
||||
|
gsqueryport=$(grep "OldQueryPortNumber=" "${servercfgfullpath}" | tr -d '\r' | tr -cd '[:digit:]') |
||||
|
webadminenabled=$(grep "bEnabled=" "${servercfgfullpath}" | sed 's/bEnabled=//g' | tr -d '\r') |
||||
|
webadminport=$(grep "ListenPort=" "${servercfgfullpath}" | tr -d '\r' | tr -cd '[:digit:]') |
||||
|
if [ "${engine}" == "unreal" ]; then |
||||
|
webadminuser=$(grep "AdminUsername=" "${servercfgfullpath}" | sed 's/\AdminUsername=//g') |
||||
|
webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 2 | grep "AdminPassword=" | sed 's/\AdminPassword=//g') |
||||
|
else |
||||
|
webadminuser=$(grep "AdminName=" "${servercfgfullpath}" | sed 's/\AdminName=//g') |
||||
|
webadminpass=$(grep "AdminPassword=" "${servercfgfullpath}" | sed 's/\AdminPassword=//g') |
||||
|
fi |
||||
|
|
||||
|
# Not Set |
||||
|
servername=${servername:-"NOT SET"} |
||||
|
serverpassword=${serverpassword:-"NOT SET"} |
||||
|
adminpassword=${adminpassword:-"NOT SET"} |
||||
|
port=${port:-"0"} |
||||
|
gsqueryport=${gsqueryport:-"NOT SET"} |
||||
|
webadminenabled=${webadminenabled:-"NOT SET"} |
||||
|
webadminport=${webadminport:-"NOT SET"} |
||||
|
webadminuser=${webadminuser:-"NOT SET"} |
||||
|
webadminpass=${webadminpass:-"NOT SET"} |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
## Just Cause 2 |
||||
|
if [ "${engine}" == "avalanche" ]; then |
||||
|
fn_info_config_avalanche |
||||
|
## Dont Starve Together |
||||
|
elif [ "${engine}" == "dontstarve" ]; then |
||||
|
fn_info_config_dontstarve |
||||
|
## Project Zomboid |
||||
|
elif [ "${engine}" == "projectzomboid" ]; then |
||||
|
fn_info_config_projectzomboid |
||||
|
# Quake Love |
||||
|
elif [ "${engine}" == "idtech3" ]; then |
||||
|
fn_info_config_idtech3 |
||||
|
# ARMA 3 |
||||
|
elif [ "${engine}" == "realvirtuality" ]; then |
||||
|
fn_info_config_realvirtuality |
||||
|
# Serious Sam |
||||
|
elif [ "${engine}" == "seriousengine35" ]; then |
||||
|
fn_info_config_seriousengine35 |
||||
|
# Source Engine Games |
||||
|
elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then |
||||
|
fn_info_config_source |
||||
|
elif [ "${gamename}" == "Teamspeak 3" ]; then |
||||
|
fn_info_config_teamspeak3 |
||||
|
# Teeworlds |
||||
|
elif [ "${engine}" == "teeworlds" ]; then |
||||
|
fn_info_config_teeworlds |
||||
|
elif [ "${engine}" == "terraria" ]; then |
||||
|
fn_info_config_terraria |
||||
|
# Unreal/Unreal 2 engine |
||||
|
elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then |
||||
|
fn_info_config_unreal |
||||
|
fi |
Loading…
Reference in new issue