From a39d77e200030fefcf266a02e56d98400b151b4e Mon Sep 17 00:00:00 2001 From: Ben Peddell Date: Wed, 24 Dec 2025 22:06:02 +1000 Subject: [PATCH] Add options to override map --- tools/arkmanager | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/tools/arkmanager b/tools/arkmanager index 08b0288..fe82c90 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -1242,12 +1242,37 @@ doRun() { kill -STOP $BASHPID # wait for caller to renice us fi - arkserveropts="$serverMap" declare -A usedoptions + declare -A arkmods while read -r varname; do val="${!varname}" modid="${varname#arkmod_}" + arkmods["$modid"]="$val" + usedoptions[${varname}]="${val}" + done < <(sed -n 's/^\(arkmod_[^= ]*\)=.*/\1/p' <"$configfile") + + for arg in "$@"; do + case "$arg" in + --map=*) + serverMap="${arg#*=}" + ;; + --map-mod-id=*) + serverMapModId="${arg#*=}" + ;; + --arkmod,*=*) + val="${arg#*=}" + modid="${arg%%=*}" + modid="${modid#--arkmod,}" + arkmods["${modid}"]="$val" + ;; + esac + done + + arkserveropts="$serverMap" + + for modid in "${!arkmods[@]}"; do + val="${arkmods[${modid}]}" case "$val" in game*|enabled) ark_GameModIds="${ark_GameModIds}${ark_GameModIds:+,}${modid}" @@ -1259,8 +1284,7 @@ doRun() { ark_TotalConversionMod="${modid}" ;; esac - usedoptions[${varname}]="${val}" - done < <(sed -n 's/^\(arkmod_[^= ]*\)=.*/\1/p' <"$configfile") + done if [ -n "$arkModCollections" ]; then while read -r modid; do @@ -4201,7 +4225,7 @@ main(){ case "$command" in run) - doRun + doRun "${options[@]}" ;; start) doStart "${options[@]}"