10 changed files with 96 additions and 17 deletions
@ -0,0 +1,5 @@ |
|||||
|
# Functions for gamedata |
||||
|
fn_random() { |
||||
|
len=${1:-12} |
||||
|
echo "$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${len} | head -n 1)" |
||||
|
} |
@ -0,0 +1,42 @@ |
|||||
|
# Game Settings File |
||||
|
# _idtech3 |
||||
|
# id Tech 3 |
||||
|
|
||||
|
# Import default settings |
||||
|
fn_import_game_settings _steam |
||||
|
fn_import_game_settings _parms |
||||
|
|
||||
|
# Dependencies |
||||
|
fn_set_game_setting settings "arch" "x64" "Architecture to use (x86|x64)" |
||||
|
|
||||
|
fn_set_game_setting settings "systemdir" "\${filesdir}" |
||||
|
fn_set_game_setting settings "executabledir" "\${filesdir}" |
||||
|
fn_set_game_setting settings "executable" "./run_server_\${arch}.sh" |
||||
|
fn_set_game_setting settings "servercfg" "\${servicename}.cfg" |
||||
|
fn_set_game_setting settings "servercfgdir" "\${filesdir}/baseq3" |
||||
|
fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" |
||||
|
fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" |
||||
|
|
||||
|
# Game Parameters |
||||
|
fn_set_game_parm parms_set "net_strict" "1" "Net Strict" |
||||
|
fn_set_game_parm parms_set "net_ip" "\${ip}" "Server IP" |
||||
|
fn_set_game_parm parms_set "net_port" "27960" "Server Port" |
||||
|
fn_set_game_parm parms_set "fs_homepath" "\${filesdir}/\${net_port}" "Filesystem Home Path" |
||||
|
fn_set_game_parm parms_set "zmq_rcon_enable" "1" "RCON Enabled" |
||||
|
fn_set_game_parm parms_set "zmq_rcon_port" "28960" "RCON Port" |
||||
|
fn_set_game_parm parms_set "zmq_rcon_password" "$(fn_random)" "RCON Password" |
||||
|
fn_set_game_parm parms_set "zmq_stats_enable" "1" "Stats Enabled" |
||||
|
fn_set_game_parm parms_set "zmq_stats_password" "$(fn_random)" "Stats Password" |
||||
|
fn_set_game_parm parms_set "zmq_stats_port" "\${net_port}" "Stats Port" |
||||
|
fn_set_game_parm parms_set "sv_mapPoolFile" "mappool.txt" "Map Pool File" |
||||
|
|
||||
|
fn_set_game_parm parms_plus "exec" "\${servercfg}" "Server config file" |
||||
|
|
||||
|
# This is the way we create a script that collates and parses the parameters |
||||
|
fn_parms(){ |
||||
|
parms_set="$(fn_process_parmlist "\+set " ${settingsdir}/parms_set)" |
||||
|
parms_minus="$(fn_process_parmlist "\-" ${settingsdir}/parms_minus)" |
||||
|
parms_plus="$(fn_process_parmlist "\+" ${settingsdir}/parms_plus)" |
||||
|
parms="$(eval "echo \"${parms_minus} ${server_parms} ${parms_set} ${parms_plus}\"")" |
||||
|
} |
||||
|
|
@ -0,0 +1,19 @@ |
|||||
|
# Game Settings File |
||||
|
# _parms |
||||
|
# Common parameter functions |
||||
|
|
||||
|
apply_shell_expansion() { |
||||
|
declare file="$1" |
||||
|
declare data=$(< "$file") |
||||
|
declare delimiter="__apply_shell_expansion_delimiter__" |
||||
|
declare command="cat <<$delimiter"$'\n'"$data"$'\n'"$delimiter" |
||||
|
eval "$command" |
||||
|
} |
||||
|
|
||||
|
# Process parameter list |
||||
|
fn_process_parmlist(){ |
||||
|
prefix=$1 |
||||
|
file=$2 |
||||
|
# Expand variables, remove empties, strip = and " and prefix argument |
||||
|
echo $(printf "%s\n" "$(apply_shell_expansion "${file}")" | grep -v '=""' | sed -e "s/^\([^#=]\+\)=\"/${prefix}\1 /g" -e 's/\"$//g') |
||||
|
} |
@ -0,0 +1,7 @@ |
|||||
|
# Game Settings File |
||||
|
# qlserver |
||||
|
# Quake Live |
||||
|
fn_import_game_settings _idtech3 |
||||
|
|
||||
|
fn_set_game_setting settings "appid" "349090" |
||||
|
fn_set_game_setting settings "gamename" "Quake Live" |
@ -0,0 +1,10 @@ |
|||||
|
# Game Settings File |
||||
|
# Import Engine |
||||
|
fn_import_game_settings _goldsource |
||||
|
|
||||
|
fn_set_game_setting settings "appid" "276060" |
||||
|
fn_set_game_setting settings "map" "svencoop1" |
||||
|
fn_set_game_setting settings "game" "svencoop" |
||||
|
fn_set_game_setting settings "gamename" "Sven Co-Op" |
||||
|
fn_set_game_setting settings "maxplayers" "16" |
||||
|
fn_set_game_setting settings "executable" "./svends_run" |
Loading…
Reference in new issue