Browse Source

Bugfixes, new game parser updates

pull/525/head
Jared Ballou 9 years ago
parent
commit
963eef36e3
  1. 3
      .gitignore
  2. 140
      Insurgency/insserver
  3. 6
      games/_default
  4. 25
      games/_srcds
  5. 2
      games/insurgency

3
.gitignore

@ -4,3 +4,6 @@
*/cfg/servers/*
*/lgsm/functions/*
*/lgsm/cfg/servers/*
*/lgsm/games/*
*/lgsm/settings.tmp/*

140
Insurgency/insserver

@ -141,7 +141,7 @@ fn_create_config(){
}
fn_settings_flush(){
if [ -e $settingsdir ]
if [ -e $settingsdir ]; then
rm -rf $settingsdir > /dev/null
fi
mkdir -p $settingsdir
@ -159,7 +159,7 @@ fn_set_game_params(){
param_name=$2
param_value=$3
param_comment=$4
fn_update_config $param_name $param_value "${settingsdir}/${param_set}" $param_comment
fn_update_config "${param_name}" "${param_value}" "${settingsdir}/${param_set}" "${param_comment}"
}
fn_get_game_params(){
param_set=$1
@ -167,76 +167,8 @@ fn_get_game_params(){
param_default=$3
}
# Flush old setings buffer
fn_settings_flush
# Import this game's settings
fn_settings_import $game
# If defaults are missing, or from an older version, overwrite the file
# TODO: Perhaps pull this from Git instead?
#cfgver=$(grep lgsm_version ${cfg_file_default} 2>/dev/null | cut -d'=' -f2 | sed -e 's/["]//g')
#if [ "${cfgver}" != "${version}" ]; then
# New method is to always run this function, it will overwrite defaults with whatever the new script values are
fn_create_config default
# Load defaults
source $cfg_file_default
# Load sitewide common settings (so that Git updates can safely overwrite default.cfg)
if [ ! -f $cfg_file_common ]; then fn_create_config common; else source $cfg_file_common; fi
# Load instance specific settings
if [ ! -f $cfg_file_instance ]; then fn_create_config instance; else source $cfg_file_instance; fi
# Set the paramaters to send to srcds
# https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server
fn_parms(){
#TODO: Put in some conditional logic to handle generating the parm string so we can make this a little less game specific
parms="${parms} -game ${game}"
parms="${parms} -strictportbind"
parms="${parms} -ip ${ip}"
parms="${parms} -port ${port}"
parms="${parms} -maxplayers ${maxplayers}"
parms="${parms} ${srcds_parms}"
parms="${parms} +clientport ${clientport}"
parms="${parms} +tv_port ${sourcetvport}"
parms="${parms} +sv_playlist ${playlist}"
parms="${parms} +mapcyclefile ${mapcyclefile}"
parms="${parms} +servercfgfile ${servercfg}"
parms="${parms} +map ${defaultmap} ${defaultmode}"
}
#### Advanced Variables ####
# Directories
lockselfname=".${servicename}.lock"
filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}/insurgency"
executabledir="${filesdir}"
executable="./srcds_linux"
servercfg="${servicename}.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${lgsmdir}/backups"
#In the event that you have library issues after an update, this may resolve it.
#export LD_LIBRARY_PATH="${filesdir}:${filesdir}/bin:${LD_LIBRARY_PATH}"
# Logging
gamelogdir="${systemdir}/logs"
scriptlogdir="${lgsmdir}/log/script"
consolelogdir="${lgsmdir}/log/console"
scriptlog="${scriptlogdir}/${servicename}-script.log"
consolelog="${consolelogdir}/${servicename}-console.log"
emaillog="${scriptlogdir}/${servicename}-email.log"
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
##### Script #####
# Do not edit
@ -305,6 +237,74 @@ fn_getgithubfile(){
fi
}
# Flush old setings buffer
fn_settings_flush
# Import this game's settings
fn_settings_import $game
# New method is to always run this function, it will overwrite defaults with whatever the new script values are
fn_create_config default
# Load defaults
source $cfg_file_default
# Load sitewide common settings (so that Git updates can safely overwrite default.cfg)
if [ ! -f $cfg_file_common ]; then fn_create_config common; else source $cfg_file_common; fi
# Load instance specific settings
if [ ! -f $cfg_file_instance ]; then fn_create_config instance; else source $cfg_file_instance; fi
#### Advanced Variables ####
# Directories
lockselfname=".${servicename}.lock"
filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}/${game}"
executabledir="${filesdir}"
executable="./srcds_linux"
servercfg="${servicename}.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${lgsmdir}/backups"
#In the event that you have library issues after an update, this may resolve it.
#export LD_LIBRARY_PATH="${filesdir}:${filesdir}/bin:${LD_LIBRARY_PATH}"
# Logging
gamelogdir="${systemdir}/logs"
scriptlogdir="${lgsmdir}/log/script"
consolelogdir="${lgsmdir}/log/console"
scriptlog="${scriptlogdir}/${servicename}-script.log"
consolelog="${consolelogdir}/${servicename}-console.log"
emaillog="${scriptlogdir}/${servicename}-email.log"
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
# Set the paramaters to send to srcds
# https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server
fn_parms(){
#TODO: Put in some conditional logic to handle generating the parm string so we can make this a little less game specific
parms="${parms} -game ${game}"
parms="${parms} -strictportbind"
parms="${parms} -ip ${ip}"
parms="${parms} -port ${port}"
parms="${parms} -maxplayers ${maxplayers}"
parms="${parms} ${srcds_parms}"
parms="${parms} +clientport ${clientport}"
parms="${parms} +tv_port ${sourcetvport}"
parms="${parms} +sv_playlist ${playlist}"
parms="${parms} +mapcyclefile ${mapcyclefile}"
parms="${parms} +servercfgfile ${servercfg}"
parms="${parms} +map ${defaultmap} ${defaultmode}"
}
# fn_runfunction
fn_runfunction(){
fn_getgithubfile "functions/${functionfile}" 1

6
games/_default

@ -2,9 +2,9 @@
# _default
# Base defaults for all games
fn_set_game_params settings "email" "[email protected]" "Email address for notification
fn_set_game_params settings "emailnotification" "off" "Email notification (on|off)
fn_set_game_params settings "ip" "0.0.0.0" "IP Address to bind for server
fn_set_game_params settings "email" "[email protected]" "Email address for notification"
fn_set_game_params settings "emailnotification" "off" "Email notification (on|off)"
fn_set_game_params settings "ip" "0.0.0.0" "IP Address to bind for server"
fn_set_game_params settings "lgsm_version" "${version}" "Version of LGSM that created this config"
fn_set_game_params settings "logdays" "7" "Number of days to retain logs"
fn_set_game_params settings "updateonstart" "off" "Update game on start"

25
games/_srcds

@ -4,19 +4,18 @@
fn_settings_import _default
fn_set_game_params params "" "params_minus params_plus"
fn_set_game_params params_minus "-game" "game"
fn_set_game_params params "" "\${params_minus} \${params_plus}"
fn_set_game_params params_minus "-game" "\${game}"
fn_set_game_params params_minus "-strictportbind" ""
fn_set_game_params params_minus "-ip" "ip"
fn_set_game_params params_minus "-port" "port"
fn_set_game_params params_minus "-maxplayers" "maxplayers"
fn_set_game_params params_minus "-ip" "\${ip}"
fn_set_game_params params_minus "-port" "\${port}"
fn_set_game_params params_minus "-maxplayers" "\${maxplayers}"
fn_set_game_params params_plus "+clientport" "clientport"
fn_set_game_params params_plus "+tv_port" "sourcetvport"
fn_set_game_params params_plus "+sv_playlist" "playlist"
fn_set_game_params params_plus "+mapcyclefile" "mapcyclefile"
fn_set_game_params params_plus "+servercfgfile" "servercfg"
fn_set_game_params params_plus "+map" "defaultmap"
fn_set_game_params params_plus "+clientport" "\${clientport}"
fn_set_game_params params_plus "+tv_port" "\${sourcetvport}"
fn_set_game_params params_plus "+mapcyclefile" "\${mapcyclefile}"
fn_set_game_params params_plus "+servercfgfile" "\${servercfg}"
fn_set_game_params params_plus "+map" "\${defaultmap}"
fn_set_game_params settings "appid" "204" "Steam App ID"
fn_set_game_params settings "clientport" "27005" "Client Port"
@ -29,5 +28,5 @@ fn_set_game_params settings "port" "27015" "Port to bind for server"
fn_set_game_params settings "servercfg" "${instance}.cfg" "Server Config file"
fn_set_game_params settings "sourcetvport" "27020" "SourceTV Port"
fn_set_game_params settings "srcds_parms" "" "Additional SRCDS Parameters. Put the parameters that start with \"-\" first, then \"+\" parameters after"
fn_set_game_params settings "steampass" "" ""
fn_set_game_params settings "steamuser" "anonymous" ""
fn_set_game_params settings "steampass" "" "Steam Password"
fn_set_game_params settings "steamuser" "anonymous" "Steam Username"

2
games/insurgency

@ -4,7 +4,7 @@
fn_settings_import _srcds
fn_set_game_params params_plus "+sv_playlist" "playlist"
fn_set_game_params params_plus "+sv_playlist" "\${playlist}"
fn_set_game_params settings "appid" "237410"
fn_set_game_params settings "defaultmap" "ministry checkpoint"

Loading…
Cancel
Save