Add support for server mods in the server command line.

This commit is contained in:
Daniel Ceregatti 2025-07-30 13:55:50 -06:00
parent 386cd4878c
commit d28f698728

View file

@ -27,6 +27,7 @@ then
fi
mod_command_line=""
server_command_line=""
# Functions
@ -111,7 +112,7 @@ report() {
then
exit 0
fi
rm -f /tmp/mod_command_line /tmp/parameters
rm -f /tmp/mod_command_line /tmp/server_command_line /tmp/parameters
echo
echo -e "${yellow}========================================== error.log =========================================="
find "${SERVER_PROFILE}" -name error.log -exec head {} \; -exec tail -n 30 {} \; -exec rm -f {} \;
@ -412,6 +413,7 @@ start(){
# Save the mod command line and parameters that were used to start the server, so status reflects the running server's
# actual status with those
echo ${mod_command_line} > /tmp/mod_command_line
echo ${server_command_line} > /tmp/server_command_line
echo ${parameters} > /tmp/parameters
# Add the steam port from the environment
cp -a "${SERVER_CFG_SAVE}" "${SERVER_CFG_DST}"
@ -419,7 +421,7 @@ start(){
then
sed -e "s,^steamQueryPort.*,steamQueryPort = ${STEAM_PORT};," -i "${SERVER_CFG_DST}"
fi
./DayZServer "${mod_command_line}" ${parameters}
./DayZServer "${mod_command_line}" "${server_command_line}" ${parameters}
EXIT_CODE=$?
printf "\n[ ${yellow}DayZ${default} ] Server exited. Exit code: ${EXIT_CODE}\n"
report
@ -516,7 +518,6 @@ activate(){
echo -e "Mod id ${ID} - ${COLOR}${MODNAME}${default} ${WW}activated"
popd > /dev/null
done
status
}
# List mods
@ -560,7 +561,6 @@ status(){
loadconfig
INSTALLED="${NO}"
RUNNING="${NO}"
# DayZ Server files installation
if [ -f "${SERVER_INSTALL_FILE}" ]
then
@ -574,10 +574,10 @@ status(){
F=$(date +%s -r /tmp/parameters)
DAYS=$(( (${D} - ${F}) / 86400 ))
UPTIME="${DAYS} days "$(date -d@$(($(date +%s) - $(date +%s -r /tmp/parameters))) -u +"%H hours %M minutes %S seconds")
RUNNING="${YES}\nUptime: ${green}${UPTIME}${default}"
# Current parameters
RUNNING="${RUNNING}\nRunning Parameters: $(cat /tmp/parameters)\nRunning mod parameter: $(cat /tmp/mod_command_line)"
RUNNING="${RUNNING}\nRunning parameters: ${green}$(cat /tmp/parameters)\nRunning mod parameter: $(cat /tmp/mod_command_line)${default}"
RUNNING="${RUNNING}\nRunning server parameter: ${green}$(cat /tmp/server_command_line)${default}"
fi
# Release or Experimental
if [[ ${release_client_appid} = "221100" ]]
@ -590,8 +590,7 @@ status(){
# Map
MAP=${MAP}
# Number of mods plus the list denoting on or off
echo -ne "
Server files installed: ${INSTALLED}"
echo -ne "Server files installed: ${INSTALLED}"
if [[ "${INSTALLED}" = "${NO}" ]]
then
echo
@ -604,12 +603,13 @@ Active mods: "
activelist
echo -e "${MODS}
Server running: ${RUNNING}
Working parameters: ${parameters}
Working mod parameter: ${mod_command_line}"
Working parameters: ${yellow}${parameters}${default}
Working mod parameter: ${yellow}${mod_command_line}${default}
Working server parameter: ${yellow}${server_command_line}${default}"
if [[ "${INSTALLED}" = "${YES}" ]]
then
echo "Map: ${MAP}"
echo "Version: ${VERSION}"
echo -e "Map: ${green}${MAP}${default}"
echo -e "Version: ${green}${VERSION}${default}"
fi
echo
}