mirror of
https://ceregatti.org/git/daniel/dayzdockerserver.git
synced 2025-05-06 14:21:18 +00:00

Have server logs go into a logs directory, with sub-directories in there with the date to contain that run's logs. Fix XML handling output. Update bogus DayZ version. Add custom integration docs.
43 lines
1.1 KiB
Bash
Executable file
43 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# A generic script that retrieves XML files from mods, either upstream in remote endpoints, or
|
|
# locally from the downloaded mod directory
|
|
|
|
set -eE
|
|
|
|
ID=${1}
|
|
|
|
if ! [ -f ${FILES}/mods/${ID}/xml.env ]
|
|
then
|
|
exit 0
|
|
fi
|
|
|
|
source ${FILES}/mods/${ID}/xml.env
|
|
|
|
# Iterate over the file names we can handle
|
|
for var in CFGEVENTSPAWNS CFGSPAWNABLETYPES EVENTS TYPES
|
|
do
|
|
DIR="${WORKSHOP_DIR}/${ID}"
|
|
OUT="${DIR}/${var,,}.xml"
|
|
if echo ${!var} | grep -qE "^http"
|
|
then
|
|
echo "${var} is a URL, downloading to ${OUT}"
|
|
curl -so ${OUT} ${!var}
|
|
elif echo ${!var} | grep -qE "^local"
|
|
then
|
|
echo "${var} comes from mod integrations, copying to ${OUT}"
|
|
cp -v "${FILES}/mods/${ID}/${var,,}.xml" "${OUT}"
|
|
elif echo ${!var} | grep -qE "^\./"
|
|
then
|
|
echo "${var} comes from the mod as ${!var}, copying to ${OUT}"
|
|
cp -v "${DIR}/${!var}" "${OUT}"
|
|
fi
|
|
if [ -f ${OUT} ]
|
|
then
|
|
xmllint --noout ${OUT} 2> /dev/null && (
|
|
echo -e "${green}${OUT} passes XML lint test!${default}"
|
|
) || (
|
|
echo -e "${yellow}${OUT} does not pass XML lint test!${default}"
|
|
)
|
|
fi
|
|
done
|