Browse Source

json

pull/4200/head
Daniel Gibbs 3 years ago
parent
commit
2b0ca7b3df
No known key found for this signature in database GPG Key ID: 7CA38B43F78F12FE
  1. 3
      lgsm/config-default/config-lgsm/momserver/_default.cfg
  2. 654
      lgsm/modules/info_game.sh

3
lgsm/config-default/config-lgsm/momserver/_default.cfg

@ -12,10 +12,9 @@
ip="0.0.0.0" ip="0.0.0.0"
port="7777" port="7777"
beaconport="15000" beaconport="15000"
maxplayers="32"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-port="${port}" -beaconport="${beaconport}" -MULTIHOME="${ip}" -maxplayers=${maxplayers}" startparameters="-port="${port}" -beaconport="${beaconport}" -MULTIHOME="${ip}""
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

654
lgsm/modules/info_game.sh

@ -31,6 +31,15 @@ fn_info_game_ini() {
eval "${1}"="$(sed -n "/^[[:space:]]*${2}/ { s/.*= *//p; q }" "${servercfgfullpath}")" > /dev/null 2>&1 || echo "Unable to parse ${2}" eval "${1}"="$(sed -n "/^[[:space:]]*${2}/ { s/.*= *//p; q }" "${servercfgfullpath}")" > /dev/null 2>&1 || echo "Unable to parse ${2}"
} }
# Config Type: json
# Comment: // or /* */
fn_info_game_json() {
if [ -n "${3}" ]; then
servercfgfullpath="${3}"
fi
eval "${1}"="jq -r '${2}' ${servercfgfullpath}" > /dev/null 2>&1 || echo "Unable to parse ${2}"
}
# Config Type: ini # Config Type: ini
# Parameters: false # Parameters: false
# Comment: ; or # # Comment: ; or #
@ -114,6 +123,7 @@ fn_info_game_btl() {
fn_info_game_ini "adminpassword" "AdminPassword" fn_info_game_ini "adminpassword" "AdminPassword"
fn_info_game_ini "servername" "ServerName" fn_info_game_ini "servername" "ServerName"
fi fi
adminpassword="${adminpassword:-"NOT SET"}"
port="${port:-"0"}" port="${port:-"0"}"
queryport="${queryport:-"0"}" queryport="${queryport:-"0"}"
rconport="$((port + 2))" rconport="$((port + 2))"
@ -227,7 +237,7 @@ fn_info_game_kf() {
steammasterport="28852" steammasterport="28852"
steamport="${steamport:-"0"}" steamport="${steamport:-"0"}"
steamport="20560" steamport="20560"
webadminenabled"=${webadminenabled:-"NOT SET"}" webadminenabled="${webadminenabled:-"NOT SET"}"
webadminpass="${adminpassword}" webadminpass="${adminpassword}"
webadminpass="${webadminpass:-"NOT SET"}" webadminpass="${webadminpass:-"NOT SET"}"
webadminuser="${webadminuser:-"NOT SET"}" webadminuser="${webadminuser:-"NOT SET"}"
@ -310,10 +320,12 @@ fn_info_game_pstbs() {
reservedslots="${reservedslots:-"0"}" reservedslots="${reservedslots:-"0"}"
reservedslots=${reservedslots:-"0"} reservedslots=${reservedslots:-"0"}
servername="${servername:-"NOT SET"}" servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
tickrate="${tickrate:-"0"}" tickrate="${tickrate:-"0"}"
} }
# Config Type: ini # Config Type: ini
# Parameters: false
# Comment: ; or # # Comment: ; or #
# Example: ServerName=SERVERNAME # Example: ServerName=SERVERNAME
# Filetype: cfg # Filetype: cfg
@ -322,11 +334,11 @@ fn_info_game_pvr() {
fn_info_game_ini "servername" "ServerName" fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "maxplayers" "MaxPlayers"
fi fi
servername="${servername:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}" maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}" port="${port:-"0"}"
port401="$((port + 400))" port401="$((port + 400))"
queryport="${port:-"0"}" queryport="${port:-"0"}"
servername="${servername:-"NOT SET"}"
} }
# Config Type: ini # Config Type: ini
@ -336,25 +348,26 @@ fn_info_game_pvr() {
# Filetype: ini # Filetype: ini
fn_info_game_pz() { fn_info_game_pz() {
if [ -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "worldname" "Map"
fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "maxplayers" "MaxPlayers"
fn_info_game_ini "port" "DefaultPort" fn_info_game_ini "port" "DefaultPort"
fn_info_game_ini "rconpassword" "RCONPassword" fn_info_game_ini "rconpassword" "RCONPassword"
fn_info_game_ini "servername" "PublicName" fn_info_game_ini "servername" "PublicName"
fn_info_game_ini "serverpassword" "Password" fn_info_game_ini "serverpassword" "Password"
fn_info_game_ini "worldname" "Map"
fi fi
adminpassword="${adminpassword:-"NOT SET"}" adminpassword="${adminpassword:-"NOT SET"}"
worldname="${worldname:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}" maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}" port="${port:-"0"}"
queryport="${port:-"0"}" queryport="${port:-"0"}"
rconpassword="${rconpassword:-"NOT SET"}" rconpassword="${rconpassword:-"NOT SET"}"
servername="${servername:-"NOT SET"}" servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}"
worldname="${worldname:-"NOT SET"}"
} }
# Config Type: ini # Config Type: ini
# Parameters: true
# Comment: ; or # # Comment: ; or #
# Example: SERVERNAME=SERVERNAME # Example: SERVERNAME=SERVERNAME
# Filetype: ini # Filetype: ini
@ -380,6 +393,7 @@ fn_info_game_st() {
} }
# Config Type: ini # Config Type: ini
# Parameters: true
# Comment: ; or # # Comment: ; or #
# Example: ServerName=SERVERNAME # Example: ServerName=SERVERNAME
# Filetype: ini # Filetype: ini
@ -390,6 +404,7 @@ fn_info_game_stn() {
fn_info_game_ini "servername" "ServerName" fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "ServerPassword" fn_info_game_ini "serverpassword" "ServerPassword"
fi fi
configip="${configip:-"0.0.0.0"}"
maxplayers="${maxplayers:-"0"}" maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}" port="${port:-"0"}"
queryport="$((port + 1))" queryport="$((port + 1))"
@ -407,10 +422,10 @@ fn_info_game_ti() {
fn_info_game_ini "servername" "ServerName" fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "maxplayers" "MaxPlayerCount" fn_info_game_ini "maxplayers" "MaxPlayerCount"
fi fi
servername="${servername:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}" maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}" port="${port:-"0"}"
queryport="${queryport:-"0"}" queryport="${queryport:-"0"}"
servername="${servername:-"NOT SET"}"
} }
# Config Type: ini # Config Type: ini
@ -420,34 +435,35 @@ fn_info_game_ti() {
# Filetype: ini # Filetype: ini
fn_info_game_ts3() { fn_info_game_ts3() {
if [ -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "configip" "voice_ip"
fn_info_game_ini "dbplugin" "dbplugin" fn_info_game_ini "dbplugin" "dbplugin"
fn_info_game_ini "fileport" "filetransfer_port"
fn_info_game_ini "port" "default_voice_port" fn_info_game_ini "port" "default_voice_port"
fn_info_game_ini "queryport" "query_port"
fn_info_game_ini "querysshport" "query_ssh_port"
fn_info_game_ini "queryhttpport" "query_http_port" fn_info_game_ini "queryhttpport" "query_http_port"
fn_info_game_ini "queryhttpsport" "query_https_port" fn_info_game_ini "queryhttpsport" "query_https_port"
fn_info_game_ini "fileport" "filetransfer_port" fn_info_game_ini "queryport" "query_port"
fn_info_game_ini "configip" "voice_ip" fn_info_game_ini "querysshport" "query_ssh_port"
fi fi
configip="${configip:-"0.0.0.0"}"
dbplugin="${dbplugin:-"NOT SET"}" dbplugin="${dbplugin:-"NOT SET"}"
fileport="${fileport:-"30033"}"
port="${port:-"9987"}" port="${port:-"9987"}"
queryport="${queryport:-"10011"}"
querysshport="${querysshport:-"10022"}"
queryhttpport="${queryhttpport:-"10080"}" queryhttpport="${queryhttpport:-"10080"}"
queryhttpsport="${queryhttpsport:-"10443"}" queryhttpsport="${queryhttpsport:-"10443"}"
fileport="${fileport:-"30033"}" queryport="${queryport:-"10011"}"
querysshport="${querysshport:-"10022"}"
telnetport="${queryport}" telnetport="${queryport}"
configip="${configip:-"0.0.0.0"}"
} }
# Config Type: ini # Config Type: ini
# Parameters: true
# Comment: ; or # # Comment: ; or #
# Example: ServerTitle=SERVERNAME # Example: ServerTitle=SERVERNAME
# Filetype: ini # Filetype: ini
fn_info_game_tu() { fn_info_game_tu() {
if [ -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "servername" "ServerTitle"
fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "maxplayers" "MaxPlayers"
fn_info_game_ini "servername" "ServerTitle"
fi fi
maxplayers="${maxplayers:-"0"}" maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}" port="${port:-"0"}"
@ -457,24 +473,146 @@ fn_info_game_tu() {
} }
# Config Type: ini # Config Type: ini
# Parameters: true
# Comment: ; or # # Comment: ; or #
# Example: ServerName=SERVERNAME # Example: ServerName=SERVERNAME
# Filetype: ini # Filetype: ini
fn_info_game_ut99() { fn_info_game_ut99() {
if [ "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "GamePassword"
fn_info_game_ini "adminpassword" "AdminPassword" fn_info_game_ini "adminpassword" "AdminPassword"
fn_info_game_ini "beaconport" "ServerBeaconPort"
fn_info_game_ini "port" "Port" fn_info_game_ini "port" "Port"
fn_info_game_ini "queryportgs" "OldQueryPortNumber" fn_info_game_ini "queryportgs" "OldQueryPortNumber"
fn_info_game_ini "beaconport" "ServerBeaconPort" fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "GamePassword"
fn_info_game_ini "webadminenabled" "bEnabled" fn_info_game_ini "webadminenabled" "bEnabled"
fn_info_game_ini "webadminpass" "AdminPassword"
fn_info_game_ini "webadminport" "ListenPort" fn_info_game_ini "webadminport" "ListenPort"
fn_info_game_ini "webadminuser" "AdminUserName" fn_info_game_ini "webadminuser" "AdminUserName"
fi
adminpassword="${adminpassword:-"NOT SET"}"
beaconport="${beaconport:-"0"}"
defaultmap="${defaultmap:-"NOT SET"}"
port="${port:-"0"}"
queryport="$((port + 1))"
queryportgs="${queryportgs:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
webadminenabled="${webadminenabled:-"0"}"
webadminpass="${webadminpass:-"NOT SET"}"
webadminport="${webadminport:-"0"}"
webadminuser="${webadminuser:-"NOT SET"}"
}
# Config Type: ini
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_ut3() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "adminpassword" "AdminPassword"
fn_info_game_ini "maxplayers" "MaxPlayers"
fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "GamePassword"
fn_info_game_ini "webadminenabled" "bEnabled"
fn_info_game_ini "webadminpass" "AdminPassword" fn_info_game_ini "webadminpass" "AdminPassword"
fn_info_game_ini "webadminport" "ListenPort"
fi fi
adminpassword="${adminpassword:-"NOT SET"}"
defaultmap="${defaultmap:-"NOT SET"}" defaultmap="${defaultmap:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="${queryport:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
webadminenabled="${webadminenabled:-"0"}"
webadminpass="${webadminpass:-"NOT SET"}"
webadminport="${webadminport:-"0"}"
webadminuser="Admin"
}
# Config Type: ini unknown (Source?)
# Parameters: true
# Comment: # or //
# Example: ServerName=SERVERNAME
# Filetype: txt
fn_info_game_bo() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "maxplayers" "MaxPlayers"
fn_info_game_ini "port" "ServerPort"
fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "Password"
fi
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="$((port + 1))" queryport="$((port + 1))"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
}
# Config Type: ini
# Parameters: true
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_unreal2() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "adminpassword" "AdminPassword"
fn_info_game_ini "port" "Port"
fn_info_game_ini "queryportgs" "OldQueryPortNumber"
fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "GamePassword"
fn_info_game_ini "webadminenabled" "bEnabled"
fn_info_game_ini "webadminport" "ListenPort"
fn_info_game_ini "webadminuser" "AdminName"
fi
adminpassword="${adminpassword:-"NOT SET"}"
defaultmap="${defaultmap:-"NOT SET"}"
port="${port:-"0"}"
queryport="$((port + 1))"
queryportgs="${queryportgs:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
webadminenabled="${webadminenabled:-"0"}"
webadminpass="${adminpassword:-"NOT SET"}"
webadminport="${webadminport:-"0"}"
webadminuser="${webadminuser:-"NOT SET"}"
}
# Config Type: ini
# Parameters: true
# Comment: ; or #
# Example: ServerName="SERVERNAME"
# Filetype: ini
fn_info_game_ut() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "servername" "ServerName"
fi
port="${port:-"0"}"
queryport="$((port + 1))"
defaultmap="${defaultmap:-"NOT SET"}"
gametype="${gametype:-"NOT SET"}"
}
# Config Type: ini
# Parameters: true
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_unreal2k4() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_ini "adminpassword" "AdminPassword"
fn_info_game_ini "httpport" "ListenPort"
fn_info_game_ini "lanport" "LANServerPort"
fn_info_game_ini "port" "Port"
fn_info_game_ini "queryportgs" "OldQueryPortNumber"
fn_info_game_ini "servername" "ServerName"
fn_info_game_ini "serverpassword" "GamePassword"
fn_info_game_ini "webadminenabled" "bEnabled"
fn_info_game_ini "webadminuser" "AdminName"
fi
defaultmap="${defaultmap:-"NOT SET"}"
webadminpass="${adminpassword:-"NOT SET"}"
} }
# Config Type: SQF # Config Type: SQF
@ -501,26 +639,19 @@ fn_info_game_arma3() {
} }
# Config Type: json # Config Type: json
# Parameters: true
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_armar() { fn_info_game_armar() {
if [ -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
adminpassword="$(jq -r '.adminPassword' "${servercfgfullpath}")" fn_info_game_json "adminpassword" ".adminPassword"
battleeyeport=1376 fn_info_game_json "configip" ".gameHostBindAddress"
configip="$(jq -r '.gameHostBindAddress' "${servercfgfullpath}")" fn_info_game_json "maxplayers" ".game.playerCountLimit"
maxplayers="$(jq -r '.game.playerCountLimit' "${servercfgfullpath}")" fn_info_game_json "port" ".gameHostBindPort"
port="$(jq -r '.gameHostBindPort' "${servercfgfullpath}")" fn_info_game_json "queryport" ".steamQueryPort"
queryport="$(jq -r '.steamQueryPort' "${servercfgfullpath}")" fn_info_game_json "servername" ".game.name"
servername="$(jq -r '.game.name' "${servercfgfullpath}")" fn_info_game_json "serverpassword" ".game.password"
serverpassword="$(jq -r '.game.password' "${servercfgfullpath}")"
fi fi
port="${port:-"0"}"
adminpassword="${adminpassword:-"NOT SET"}"
battleeyeport="$((port + 4))" battleeyeport="$((port + 4))"
configip="${configip:-"0.0.0.0"}"
maxplayers="${maxplayers:-"0"}"
queryport="${queryport:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
} }
# Config Type: con # Config Type: con
@ -583,34 +714,6 @@ fn_info_game_bfv() {
fi fi
} }
# Config Type: ini unknown (Source?)
# Comment: # or //
# Example: ServerName=SERVERNAME
# Filetype: txt
fn_info_game_bo() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
port="${zero}"
queryport="${zero}"
maxplayers="${unavailable}"
else
servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverpassword=$(grep "Password=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
port=$(grep "ServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
queryport=$((port + 1))
maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
# Not set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
port=${port:-"0"}
queryport=${queryport:-"0"}
maxplayers=${maxplayers:-"0"}
fi
}
# Config Type: XML # Config Type: XML
# Comment: <!-- --> # Comment: <!-- -->
# Example: <serversettings name="SERVERNAME" /> # Example: <serversettings name="SERVERNAME" />
@ -640,38 +743,39 @@ fn_info_game_bt() {
} }
# Config Type: json # Config Type: json
# Parameters: false
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_cd() { fn_info_game_cd() {
if [ ! -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
servername="${unavailable}" fn_info_game_json "maxplayers" ".player_count"
port="${zero}" fn_info_game_json "port" ".game_port"
rconenabled="false" fn_info_game_json "rconenabled" ".rcon"
rconport="${zero}" fn_info_game_json "rconpassword" ".rcon_password"
rconpassword="${unavailable}" fn_info_game_json "rconport" ".rcon_port"
steamport="${zero}" fn_info_game_json "servername" ".game_title"
maxplayers="${zero}" fn_info_game_json "steamport" ".steam_port_messages"
else
servername=$(jq -r '.game_title' "${servercfgfullpath}")
port=$(jq -r '.game_port' "${servercfgfullpath}")
steamport=$(jq -r '.steam_port_messages' "${servercfgfullpath}")
rconenabled=$(jq -r '.rcon' "${servercfgfullpath}")
rconport=$(jq -r '.rcon_port' "${servercfgfullpath}")
rconpassword=$(jq -r '.rcon_password' "${servercfgfullpath}")
maxplayers=$(jq -r '.player_count' "${servercfgfullpath}")
fi fi
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
rconenabled="${rconenabled:-"NOT SET"}"
rconpassword="${rconpassword:-"NOT SET"}"
rconport="${rconport:-"0"}"
servername="${servername:-"NOT SET"}"
steamport="${steamport:-"0"}"
} }
# Config Type: json # Config Type: json
# Parameters: true
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_ck() { fn_info_game_ck() {
if [ ! -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
servername="${unavailable}" fn_info_game_json "servername" ".worldName"
maxplayers="${zero}" fn_info_game_json "maxplayers" ".maxNumberPlayers"
else
servername=$(jq -r '.worldName' "${servercfgfullpath}")
maxplayers=$(jq -r '.maxNumberPlayers' "${servercfgfullpath}")
fi fi
queryport=$((port + 1)) maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="$((port + 1))"
servername="${servername:-"NOT SET"}"
} }
# Config Type: QuakeC # Config Type: QuakeC
@ -801,8 +905,27 @@ fn_info_game_codwaw() {
} }
# Config Type: json # Config Type: json
# Parameters: false
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_col() { fn_info_game_col() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_json "configip" ".ServerSettings.ServerIP"
fn_info_game_json "maxplayers" ".ServerSettings.MaxPlayerCount"
fn_info_game_json "port" ".ServerSettings.ServerGamePort"
fn_info_game_json "rconpassword" ".ServerSettings.RCONPassword"
fn_info_game_json "servername" ".ServerSettings.ServerName"
fn_info_game_json "serverpassword" ".ServerSettings.ServerPassword"
fn_info_game_json "steamport" ".ServerSettings.ServerSteamPort"
fi
configip="${configip:-"0.0.0.0"}"
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="${port:-"0"}"
rcpassword="${rconpassword:-"NOT SET"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
steamport="${steamport:-"0"}"
# Config # Config
if [ ! -f "${servercfgfullpath}" ]; then if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}" servername="${unavailable}"
@ -867,34 +990,25 @@ fn_info_game_dayz() {
} }
# Config Type: json # Config Type: json
# Parameters: false
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_eco() { fn_info_game_eco() {
# Config if [ -f "${servercfgfullpath}" ]; then
if [ ! -f "${servercfgfullpath}" ]; then fn_info_game_json "configip" ".IPAddress"
servername="${unavailable}" fn_info_game_json "maxplayers" ".MaxConnections"
serverpassword="${unavailable}" fn_info_game_json "port" ".GameServerPort"
maxplayers="${zero}" fn_info_game_json "servername" ".Description"
tickrate="${zero}" fn_info_game_json "serverpassword" ".Password"
port="${zero}" fn_info_game_json "tickrate" ".Rate"
webadminport="${zero}" fn_info_game_json "webadminport" ".WebServerPort"
else
configip=$(jq -r '.IPAddress' "${servercfgfullpath}")
servername=$(jq -r '.Description' "${servercfgfullpath}")
serverpassword=$(jq -r '.Password' "${servercfgfullpath}")
maxplayers=$(jq -r '.MaxConnections' "${servercfgfullpath}")
tickrate=$(jq -r '.Rate' "${servercfgfullpath}")
port=$(jq -r '.GameServerPort' "${servercfgfullpath}")
webadminport=$(jq -r '.WebServerPort' "${servercfgfullpath}")
# Not set
configip=${configip:-"0.0.0.0"}
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
maxplayers=${maxplayers=:-"0"}
tickrate=${tickrate=:-"0"}
port=${port=:-"0"}
webadminport=${webadminport=:-"0"}
fi fi
configip="${configip:-"0.0.0.0"}"
maxplayers="${maxplayers:-"0"}"
port="${port:-"3000"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
tickrate="${tickrate:-"0"}"
webadminport="${webadminport:-"3001"}"
} }
# Config Type: QuakeC # Config Type: QuakeC
@ -931,42 +1045,31 @@ fn_info_game_etl() {
} }
# Config Type: json # Config Type: json
# Parameters: true
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_fctr() { fn_info_game_fctr() {
# Config if [ -f "${servercfgfullpath}" ]; then
if [ ! -f "${servercfgfullpath}" ]; then fn_info_game_json "authtoken" ".token"
servername="Factorio Server" fn_info_game_json "maxplayers" ".max_players"
serverpassword="${unavailable}" fn_info_game_json "savegameinterval" ".autosave_interval"
maxplayers="${zero}" fn_info_game_json "servername" ".name"
authtoken="${unavailable}" fn_info_game_json "serverpassword" ".game_password"
savegameinterval="${unavailable}" fn_info_game_json "versioncount" ".autosave_slots"
versioncount="${unavailable}" fi
else authtoken="${authtoken:-"NOT SET"}"
servername=$(jq -r '.name' "${servercfgfullpath}") maxplayers="${maxplayers:-"0"}"
serverpassword=$(jq -r '.game_password' "${servercfgfullpath}") port="${port:-"0"}"
maxplayers=$(jq -r '.max_players' "${servercfgfullpath}") rconpassword="${rconpassword:-"NOT SET"}"
authtoken=$(jq -r '.token' "${servercfgfullpath}") rconport="${rconport:-"0"}"
savegameinterval=$(jq -r '.autosave_interval' "${servercfgfullpath}") savegameinterval="${savegameinterval:-"0"}"
versioncount=$(jq -r '.autosave_slots' "${servercfgfullpath}") servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
# Not set versioncount="${versioncount:-"0"}"
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
authtoken=${authtoken:-"NOT SET"}
savegameinterval=${savegameinterval:-"0"}
versioncount=${versioncount:-"0"}
fi
# Parameters
port=${port:-"0"}
rconport=${rconport:-"0"}
rconpassword=${rconpassword:-"NOT SET"}
# get server version if installed # get server version if installed
local factoriobin="${executabledir}${executable:1}" local factoriobin="${executabledir}${executable:1}"
if [ -f "${factoriobin}" ]; then if [ -f "${factoriobin}" ]; then
serverversion=$(${factoriobin} --version | grep "Version:" | awk '{print $2}') serverversion="$(${factoriobin} --version | grep "Version:" | awk '{print $2}')"
fi fi
} }
@ -1029,43 +1132,31 @@ fn_info_game_jc2() {
} }
# Config Type: json # Config Type: json
# Parameters: false
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_jc3() { fn_info_game_jc3() {
# Config if [ -f "${servercfgfullpath}" ]; then
if [ ! -f "${servercfgfullpath}" ]; then fn_info_game_json "configip" ".host"
servername="${unavailable}" fn_info_game_json "httpport" ".httpPort"
serverdescription="${unavailable}" fn_info_game_json "maxplayers" ".maxPlayers"
serverpassword="${unavailable}" fn_info_game_json "port" ".port"
maxplayers="${zero}" fn_info_game_json "queryport" ".queryPort"
port="${zero}" fn_info_game_json "serverdescription" ".description"
queryPort="${zero}" fn_info_game_json "servername" ".name"
steamport="${zero}" fn_info_game_json "serverpassword" ".password"
httpport="${zero}" fn_info_game_json "steamport" ".steamPort"
tickrate="${zero}" fn_info_game_json "tickrate" ".maxTickRate"
else
servername=$(grep "name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverdescription=$(grep "description" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
maxplayers=$(grep "\"maxPlayers\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
port=$(grep "\"port\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
queryport=$(grep "\"queryPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
steamport=$(grep "\"steamPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
httpport=$(grep "\"httpPort\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
tickrate=$(grep "\"maxTickRate\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
configip=$(grep "host" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/host//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
# Not set
servername=${servername:-"NOT SET"}
serverdescription=${serverdescription:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
maxplayers=${maxplayers=:-"0"}
port=${port=:-"0"}
queryport=${queryport=:-"0"}
steamport=${steamport=:-"0"}
httpport=${httpport=:-"0"}
tickrate=${tickrate=:-"0"}
configip=${configip:-"0.0.0.0"}
fi fi
configip="${configip:-"0.0.0.0"}"
httpport="${httpport:-"0"}"
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="${queryport:-"0"}"
serverdescription="${serverdescription:-"NOT SET"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
steamport="${steamport:-"0"}"
tickrate="${tickrate:-"0"}"
} }
# Config Type: QuakeC # Config Type: QuakeC
@ -1220,30 +1311,21 @@ fn_info_game_mohaa() {
} }
# Config Type: json # Config Type: json
# Parameters: true
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_mom() { fn_info_game_mom() {
# Config if [ -f "${servercfgfullpath}" ]; then
if [ ! -f "${servercfgfullpath}" ]; then fn_info_game_json "defaultmap" ".MapName"
servername="${unavailable}" fn_info_game_json "maxplayers" ".maxPlayers"
serverpassword="${unavailable}" fn_info_game_json "servername" ".serverName"
maxplayers="${zero}" fn_info_game_json "serverpassword" ".serverPassword"
defaultmap="${unavailable}"
else
servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/ServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/MaxPlayers//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
defaultmap=$(grep "MapName" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/MapName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
# Not set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
defaultmap=${defaultmap:-"NOT SET"}
fi fi
beaconport="${beaconport:-"0"}"
# Parameters defaultmap="${defaultmap:-"NOT SET"}"
port=${port:-"7777"} maxplayers="${maxplayers:-"0"}"
beaconport=${queryport:-"15000"} port="${port:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
} }
# Config Type: xml # Config Type: xml
@ -2072,52 +2154,6 @@ fn_info_game_tw() {
fi fi
} }
# Config Type: ini
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_unreal2() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
adminpassword="${unavailable}"
port="${zero}"
queryport="${zero}"
queryportgs="${zero}"
webadminenabled="${unavailable}"
webadminport="${zero}"
webadminuser="${unavailable}"
webadminpass="${unavailable}"
else
servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
queryport=$((port + 1))
queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
webadminport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
webadminpass="${adminpassword}"
# Not set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
adminpassword=${adminpassword:-"NOT SET"}
port=${port:-"0"}
queryport=${queryport:-"0"}
queryportgs=${queryportgs:-"0"}
webadminenabled=${webadminenabled:-"NOT SET"}
webadminport=${webadminport:-"0"}
webadminuser=${webadminuser:-"NOT SET"}
webadminpass=${webadminpass:-"NOT SET"}
fi
# Parameters
defaultmap=${defaultmap:-"NOT SET"}
}
# Config Type: Parameters # Config Type: Parameters
fn_info_game_unt() { fn_info_game_unt() {
# Parameters # Parameters
@ -2127,121 +2163,12 @@ fn_info_game_unt() {
steamport=$((port + 1)) steamport=$((port + 1))
} }
# Config Type: ini
# Comment: ; or #
# Example: ServerName="SERVERNAME"
# Filetype: ini
fn_info_game_ut() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
else
servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
# Not set
servername=${servername:-"NOT SET"}
fi
# Parameters
port=${port:-"0"}
queryport=$((port + 1))
}
# Config Type: ini
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_unreal2k4() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
adminpassword="${unavailable}"
port="${zero}"
queryport="${zero}"
queryportgs="${zero}"
lanport="${zero}"
webadminenabled="${unavailable}"
httpport="${zero}"
webadminuser="${unavailable}"
webadminpass="${unavailable}"
else
servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
queryport=$((port + 1))
queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
lanport=$(grep "LANServerPort=" "${servercfgfullpath}" | tr -cd '[:digit:]')
webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
httpport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]')
webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//')
webadminpass="${adminpassword}"
# Not set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
adminpassword=${adminpassword:-"NOT SET"}
port=${port:-"0"}
queryport=${queryport:-"0"}
queryportgs=${queryportgs:-"0"}
lanport=${lanport:-"0"}
webadminenabled=${webadminenabled:-"NOT SET"}
httpport=${httpport:-"0"}
webadminuser=${webadminuser:-"NOT SET"}
webadminpass=${webadminpass:-"NOT SET"}
fi
}
# Config Type: ini
# Comment: ; or #
# Example: ServerName=SERVERNAME
# Filetype: ini
fn_info_game_ut3() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
adminpassword="${unavailable}"
maxplayers="${unavailable}"
webadminenabled="${unavailable}"
webadminport="${zero}"
webadminuser="${unavailable}"
webadminpass="${unavailable}"
else
servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
maxplayers=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
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]*$//')
webadminport=$(grep "ListenPort" "${servercfgdir}/UTWeb.ini" | grep -v "#" | tr -cd '[:digit:]')
webadminuser="Admin"
webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
# Not set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
adminpassword=${adminpassword:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
webadminenabled=${webadminenabled:-"NOT SET"}
webadminport=${webadminport:-"0"}
webadminuser=${webadminuser:-"NOT SET"}
webadminpass=${webadminpass:-"NOT SET"}
fi
# Parameters
port=${port:-"0"}
queryport=${queryport:-"0"}
defaultmap=${defaultmap:-"NOT SET"}
}
# Config Type: Parameters # Config Type: Parameters
fn_info_game_vh() { fn_info_game_vh() {
port=${port:-"0"} port=${port:-"0"}
# Query port only enabled if public server # Query port only enabled if public server
if [ "${public}" != "0" ]; then if [ "${public}" != "0" ]; then
queryport=$((port + 1)) queryport="$((port + 1))"
else else
querymode="1" querymode="1"
fi fi
@ -2251,23 +2178,22 @@ fn_info_game_vh() {
} }
# Config Type: json # Config Type: json
# Parameters: false
# Comment: // or /* */ # Comment: // or /* */
fn_info_game_vints() { fn_info_game_vints() {
if [ ! -f "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then
servername="${unavailable}" fn_info_game_json "configip" "select(.Ip != null) | .Ip"
maxplayers="${unavailable}" fn_info_game_json "maxplayers" ".MaxClients"
serverpassword="${unavailable}" fn_info_game_json "port" ".Port"
port="${port:-"0"}" fn_info_game_json "servername" ".ServerName"
else fn_info_game_json "serverpassword" "select(.Password != null) | .Password"
servername=$(jq -r '.ServerName' "${servercfgfullpath}")
maxplayers=$(jq -r '.MaxClients' "${servercfgfullpath}")
serverpassword=$(jq -r 'select(.Password != null) | .Password' "${servercfgfullpath}")
port=$(jq -r '.Port' "${servercfgfullpath}")
configip=$(jq -r 'select(.Ip != null) | .Ip' "${servercfgfullpath}")
fi fi
queryport=${port:-"0"} configip="${configip:-"0.0.0.0"}"
serverpassword=${serverpassword:-"NOT SET"} maxplayers="${maxplayers:-"0"}"
configip=${configip:-"0.0.0.0"} port="${port:-"0"}"
queryport="${port:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
} }
fn_info_game_vpmc() { fn_info_game_vpmc() {

Loading…
Cancel
Save