mirror of
https://ceregatti.org/git/daniel/dayzdockerserver.git
synced 2025-05-06 14:21:18 +00:00
Mount each script into /usr/local/bin.
Keep separating out the functionality between the two scripts.
This commit is contained in:
parent
71004b4fcc
commit
4cb4a4409d
3 changed files with 7 additions and 66 deletions
|
@ -23,8 +23,9 @@ services:
|
||||||
- serverfiles:/serverfiles
|
- serverfiles:/serverfiles
|
||||||
- mods:/serverfiles/steamapps/workshop/content
|
- mods:/serverfiles/steamapps/workshop/content
|
||||||
- mpmissions:/serverfiles/mpmissions
|
- mpmissions:/serverfiles/mpmissions
|
||||||
- ./files:/files:ro
|
- ./files:/files
|
||||||
- ./web:/web:ro
|
- ./web/bin/dz:/usr/local/bin/dz
|
||||||
|
- ./web:/web
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000/tcp"
|
- "8000:8000/tcp"
|
||||||
restart: no
|
restart: no
|
||||||
|
@ -38,7 +39,7 @@ services:
|
||||||
- mpmissions:/serverfiles/mpmissions
|
- mpmissions:/serverfiles/mpmissions
|
||||||
- profiles:/profiles
|
- profiles:/profiles
|
||||||
- ./files:/files
|
- ./files:/files
|
||||||
- ./bin:/files/bin
|
- ./server/bin/dz:/usr/local/bin/dz
|
||||||
# To have the server show up in the LAN tab of the DayZ launcher,
|
# To have the server show up in the LAN tab of the DayZ launcher,
|
||||||
# it must run under host mode.
|
# it must run under host mode.
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
|
|
@ -35,19 +35,11 @@ release_client_appid=221100
|
||||||
CFG_SRC_FILES="/files"
|
CFG_SRC_FILES="/files"
|
||||||
SERVER_FILES="/serverfiles"
|
SERVER_FILES="/serverfiles"
|
||||||
|
|
||||||
# Server container base directories
|
|
||||||
SERVER_PROFILE="/profiles"
|
|
||||||
|
|
||||||
mkdir -p ${SERVER_FILES}/battleye
|
|
||||||
|
|
||||||
# Server configuration file
|
# Server configuration file
|
||||||
SERVER_CFG_FILE="serverDZ.cfg"
|
SERVER_CFG_FILE="serverDZ.cfg"
|
||||||
SERVER_CFG_DST="${SERVER_FILES}/${SERVER_CFG_FILE}"
|
SERVER_CFG_DST="${SERVER_FILES}/${SERVER_CFG_FILE}"
|
||||||
SERVER_CFG_SRC="${CFG_SRC_FILES}/${SERVER_CFG_FILE}"
|
SERVER_CFG_SRC="${CFG_SRC_FILES}/${SERVER_CFG_FILE}"
|
||||||
|
|
||||||
# Command line parameters except mod, as that is handled separately.
|
|
||||||
parameters="-config=${SERVER_CFG_FILE} -port=${port} -freezecheck -BEpath=${SERVER_FILES}/battleye -profiles=${SERVER_PROFILE} -nologs"
|
|
||||||
|
|
||||||
# Used to check if dayZ is installed
|
# Used to check if dayZ is installed
|
||||||
SERVER_INSTALL_FILE="${SERVER_FILES}/DayZServer"
|
SERVER_INSTALL_FILE="${SERVER_FILES}/DayZServer"
|
||||||
|
|
||||||
|
@ -66,13 +58,6 @@ fi
|
||||||
declare -a workshopID
|
declare -a workshopID
|
||||||
workshopfolder="${SERVER_FILES}/steamapps/workshop/content/${release_client_appid}"
|
workshopfolder="${SERVER_FILES}/steamapps/workshop/content/${release_client_appid}"
|
||||||
|
|
||||||
# Backups
|
|
||||||
BACKUP_DIR="${HOME}/backup"
|
|
||||||
if [ ! -d "${BACKUP_DIR}" ]
|
|
||||||
then
|
|
||||||
mkdir -p "${BACKUP_DIR}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Other stuff
|
# Other stuff
|
||||||
YES="${green}yes${default}"
|
YES="${green}yes${default}"
|
||||||
NO="${red}no${default}"
|
NO="${red}no${default}"
|
||||||
|
|
51
web/bin/dz
51
web/bin/dz
|
@ -89,22 +89,6 @@ install(){
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make sure to clean up and report on exit, as these files remain in the container's volume
|
|
||||||
report() {
|
|
||||||
rm -f /tmp/mod_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 {} \;
|
|
||||||
echo
|
|
||||||
echo -e "========================================== script*.log ========================================"
|
|
||||||
find "${SERVER_PROFILE}" -name "script*.log" -exec head {} \; -exec tail -n 30 {} \; -exec rm -f {} \;
|
|
||||||
echo
|
|
||||||
echo -e "========================================== *.RPT =============================================="
|
|
||||||
find "${SERVER_PROFILE}" -name "*.RPT" -exec ls -la {} \; -exec tail -n 30 {} \; -exec rm -f {} \;
|
|
||||||
echo
|
|
||||||
echo -e "========================================== End log ======================================${default}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update the server files.
|
# Update the server files.
|
||||||
update(){
|
update(){
|
||||||
dologin
|
dologin
|
||||||
|
@ -192,7 +176,7 @@ list(){
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Display the status of the provisioning container
|
# Display the status of everything
|
||||||
status(){
|
status(){
|
||||||
INSTALLED="${NO}"
|
INSTALLED="${NO}"
|
||||||
LOGGED_IN="${NO}"
|
LOGGED_IN="${NO}"
|
||||||
|
@ -214,28 +198,6 @@ status(){
|
||||||
ANONYMOUS="${green}(not anonymous)${default}"
|
ANONYMOUS="${green}(not anonymous)${default}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Running or not
|
|
||||||
if pidof DayZServer > /dev/null
|
|
||||||
then
|
|
||||||
# Uptime
|
|
||||||
D=$(date +%s)
|
|
||||||
F=$(date +%s -r ${SERVER_PROFILE}/server_console.log)
|
|
||||||
DAYS=$(( (${D} - ${F}) / 86400 ))
|
|
||||||
# UPTIME=$(date --date="$(( ${D} - ${F} ))" +"${DAYS} days %H:%M:%S")
|
|
||||||
UPTIME="${DAYS} days "$(date -d@$(($(date +%s) - $(date +%s -r ${SERVER_PROFILE}/server_console.log))) -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)"
|
|
||||||
fi
|
|
||||||
mod_cmd
|
|
||||||
MAP="none"
|
|
||||||
# Map name
|
|
||||||
if [[ -f ${SERVER_CFG_DST} ]]
|
|
||||||
then
|
|
||||||
MAP=$(grep -E "template=" ${SERVER_CFG_DST} | grep -vE "^//")
|
|
||||||
fi
|
|
||||||
# Number of mods plus the list denoting on or off
|
|
||||||
echo -ne "
|
echo -ne "
|
||||||
Logged in to Steam: ${LOGGED_IN} ${ANONYMOUS}
|
Logged in to Steam: ${LOGGED_IN} ${ANONYMOUS}
|
||||||
Server files installed: ${INSTALLED}"
|
Server files installed: ${INSTALLED}"
|
||||||
|
@ -245,6 +207,7 @@ Server files installed: ${INSTALLED}"
|
||||||
echo
|
echo
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
# Mods
|
||||||
echo -ne "
|
echo -ne "
|
||||||
Mods: "
|
Mods: "
|
||||||
MODS=$(list)
|
MODS=$(list)
|
||||||
|
@ -252,15 +215,7 @@ Mods: "
|
||||||
then
|
then
|
||||||
echo -n "none"
|
echo -n "none"
|
||||||
fi
|
fi
|
||||||
echo -e "${MODS}
|
echo -e "${MODS}"
|
||||||
Server running: ${RUNNING}
|
|
||||||
Working parameters: ${parameters}
|
|
||||||
Working mod parameter: ${mod_command_line}"
|
|
||||||
if [[ "${INSTALLED}" = "${YES}" ]]
|
|
||||||
then
|
|
||||||
MAP=$(grep template ${SERVER_CFG_DST} | grep -v "^//" | cut -d= -f2 | cut -d\; -f1)
|
|
||||||
echo "Map: ${MAP}"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Capture the first argument and shift it off so we can pass $@ to every function
|
# Capture the first argument and shift it off so we can pass $@ to every function
|
||||||
|
|
Loading…
Add table
Reference in a new issue