@@ -55,6 +55,12 @@ if [ ! -z "${CLUSTER_DIR_OVERRIDE}" ] && [ "${CLUSTER_DIR_OVERRIDE}" != "" ]; th
5555 echo " ark_ClusterDirOverride=\" ${CLUSTER_DIR_OVERRIDE} \" " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
5656fi
5757
58+ # Add mods if specified
59+ if [ ! -z " ${MOD_IDS} " ] && [ " ${MOD_IDS} " != " " ]; then
60+ echo " arkopt_ActiveMods=\" ${MOD_IDS} \" " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
61+ echo " Mods configured: ${MOD_IDS} "
62+ fi
63+
5864# Add additional arguments if set
5965if [ ! -z " ${ADDITIONAL_ARGS} " ] && [ " ${ADDITIONAL_ARGS} " != " " ]; then
6066 echo " " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
@@ -63,16 +69,21 @@ if [ ! -z "${ADDITIONAL_ARGS}" ] && [ "${ADDITIONAL_ARGS}" != "" ]; then
6369 if [[ $arg == -* ]]; then
6470 flag=" ${arg# -} "
6571 echo " arkflag_${flag} =true" | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
66- elif [[ $arg == \? * ]]; then
67- option=" ${arg# ?} "
68- key=" ${option%% =* } "
69- value=" ${option#* =} "
70- echo " ark_${key} =\" ${value} \" " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
7172 fi
7273 done
7374 echo " Additional arguments configured: ${ADDITIONAL_ARGS} "
7475fi
7576
77+ # Add raw arkmanager.cfg options if specified
78+ if [ ! -z " ${ARKMANAGER_OPTS} " ] && [ " ${ARKMANAGER_OPTS} " != " " ]; then
79+ echo " " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
80+ echo " # Custom arkmanager options" | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
81+ while IFS= read -r line; do
82+ echo " ${line} " | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
83+ done <<< " ${ARKMANAGER_OPTS}"
84+ echo " Custom arkmanager options configured"
85+ fi
86+
7687# Always enable logging
7788echo " arkflag_log=true" | tee -a /etc/arkmanager/arkmanager.cfg > /dev/null
7889
@@ -117,36 +128,6 @@ if [ ! -z "$MOD_IDS" ] && [ "$MOD_IDS" != "" ]; then
117128 echo " Installing mod: $mod "
118129 arkmanager installmod $mod @main
119130 done
120-
121- # Add ActiveMods to GameUserSettings.ini
122- GAME_USER_SETTINGS=" /home/steam/steamcmd/ark/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini"
123- if [ -f " $GAME_USER_SETTINGS " ]; then
124- # ARK server writes GameUserSettings.ini in UTF-16 LE. Convert to UTF-8
125- # before editing so that sed/grep don't see null bytes and corrupt the file.
126- # iconv succeeds on UTF-16 (BOM present) and fails on UTF-8, so this is safe.
127- if iconv -f UTF-16 -t UTF-8 " $GAME_USER_SETTINGS " > " ${GAME_USER_SETTINGS} .tmp" 2> /dev/null; then
128- mv " ${GAME_USER_SETTINGS} .tmp" " $GAME_USER_SETTINGS "
129- echo " Converted GameUserSettings.ini from UTF-16 to UTF-8"
130- else
131- rm -f " ${GAME_USER_SETTINGS} .tmp"
132- fi
133-
134- # Remove existing ActiveMods line if present
135- sed -i ' /^ActiveMods=/d' " $GAME_USER_SETTINGS "
136-
137- # Add ActiveMods line under [ServerSettings] section
138- if grep -q " \[ServerSettings\]" " $GAME_USER_SETTINGS " ; then
139- sed -i " /\[ServerSettings\]/a ActiveMods=${MOD_IDS} " " $GAME_USER_SETTINGS "
140- echo " Added ActiveMods=${MOD_IDS} to GameUserSettings.ini"
141- else
142- echo " [ServerSettings]" >> " $GAME_USER_SETTINGS "
143- echo " ActiveMods=${MOD_IDS} " >> " $GAME_USER_SETTINGS "
144- echo " Created [ServerSettings] section and added ActiveMods=${MOD_IDS} "
145- fi
146- else
147- echo " GameUserSettings.ini not found yet, will be created on first server start"
148- echo " You may need to manually add: ActiveMods=${MOD_IDS} "
149- fi
150131fi
151132
152133# Update server if UPDATE_ON_START is set
0 commit comments