This commit is contained in:
2023-11-25 02:11:45 -06:00
parent c901a10a6a
commit da9412b1af
5 changed files with 226 additions and 84 deletions

View File

@@ -14,6 +14,7 @@
# export CACHE="$MAIN/cache"
# export MOD_CACHE="$CACHE/mods"
# ORIGINAL_DIR="$PWD"
# export RESTART_INTERVAL=$((60 * 60 * 4 + 3))
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Helper functions
@@ -59,31 +60,31 @@
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Environment Setup
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
init() {
mkdir -p "$SERVER_HOME" "$MOD_CACHE/$MAP_FOLDER_NAME"
:>"$SERVER_HOME/.modstring"
}
# init() {
# mkdir -p "$SERVER_HOME" "$MOD_CACHE/$MAP_FOLDER_NAME"
# :>"$SERVER_HOME/.modstring"
# }
setup_environment() {
msg "Copying stock server data"
# setup_environment() {
# msg "Copying stock server data"
# list of all stock folders
for folder in addons battleye bliss docs dta keys ; do
do_sync "$STOCK_SERVER_DATA/$folder"/ "$SERVER_HOME/$folder" || die "Failed to copy stock: $folder"
done
# # list of all stock folders
# for folder in addons battleye bliss docs dta keys ; do
# do_sync "$STOCK_SERVER_DATA/$folder"/ "$SERVER_HOME/$folder" || die "Failed to copy stock: $folder"
# done
# list of all stock files
for file in ban.txt dayz.gproj dayzsetting.xml whitelist.txt \
DayZServer_x64.exe steam_api64.dll steamclient64.dll tier0_s64.dll vstdlib_s64.dll ; do
cp -f "$STOCK_SERVER_DATA/$file" "$SERVER_HOME/$file" || die "Failed to copy stock: $file"
done
# # list of all stock files
# for file in ban.txt dayz.gproj dayzsetting.xml whitelist.txt \
# DayZServer_x64.exe steam_api64.dll steamclient64.dll tier0_s64.dll vstdlib_s64.dll ; do
# cp -f "$STOCK_SERVER_DATA/$file" "$SERVER_HOME/$file" || die "Failed to copy stock: $file"
# done
msg "Copying mod files"
do_sync "$DAYZ_FILES/mods/$MAP_FOLDER_NAME"/ "$MOD_CACHE/$MAP_FOLDER_NAME" || die "Failed to copy mod files"
# msg "Copying mod files"
# do_sync "$DAYZ_FILES/mods/$MAP_FOLDER_NAME"/ "$MOD_CACHE/$MAP_FOLDER_NAME" || die "Failed to copy mod files"
msg "Copying DZSA executable"
cp -f "$DAYZ_FILES/software/DZSALModServer.exe" "$SERVER_HOME/"
}
# # msg "Copying DZSA executable"
# # cp -f "$DAYZ_FILES/software/DZSALModServer.exe" "$SERVER_HOME/"
# }
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Load Mods
@@ -130,16 +131,16 @@ load_mods() {
printf '%s\n' "$_modstring" > .modstring
}
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Load Map
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
load_stock_map_data() {
mkdir -p "$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME"
do_sync --exclude='*storage_1*' \
"$DAYZ_FILES/stock/maps/$MAP_FOLDER_NAME"/ \
"$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME" || \
die "Failed to copy stock map data"
}
# # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# # Load Map
# # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# load_stock_map_data() {
# mkdir -p "$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME"
# do_sync --exclude='*storage_1*' \
# "$DAYZ_FILES/stock/maps/$MAP_FOLDER_NAME"/ \
# "$SERVER_HOME/mpmissions/$MAP_FOLDER_NAME" || \
# die "Failed to copy stock map data"
# }
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
# Types Patching
@@ -324,13 +325,13 @@ load_configs() {
# Main
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
main() {
init
cd "$SERVER_HOME" || die "Could not cd to '$SERVER_HOME'"
# init
# cd "$SERVER_HOME" || die "Could not cd to '$SERVER_HOME'"
check || die "Failed check"
# check || die "Failed check"
msg "Setting up environment"
setup_environment || die "Could not set up environment."
# msg "Setting up environment"
# setup_environment || die "Could not set up environment."
msg "Loading mods"
load_mods || die "Could not load mods"
@@ -357,9 +358,12 @@ cat > temp.bat <<EOF
:start
start "DayZ Server" /min DZSALModServer.exe -config=serverDZ.cfg -port="$SERVER_PORT" -profiles=Profilesfolder -mod="$mod_string" -cpuCount="$SERVER_CPU" -dologs -adminlog -netlog -freezecheck
EOF
# start the server
cmd.exe /C temp.bat
printf '\n**** Sleeping for: %s *****\n\n' "$RESTART_INTERVAL"
count=0
while [ "$count" -lt "$RESTART_INTERVAL" ] ; do
sleep 60
@@ -379,22 +383,21 @@ EOF
msg "SERVER IS RESTARTING"
}
ORIGINAL_DIR="$PWD"
# while msg 'Starting loop' ; do
# cd "$ORIGINAL_DIR" || die "Can no longer cd to $ORIGINAL_DIR"
while msg 'Starting loop' ; do
cd "$ORIGINAL_DIR" || die "Can no longer cd to $ORIGINAL_DIR"
# if [ -e ./SERVER.ENV ] ; then
# . ./SERVER.ENV
# else
# die "Could not source ./SERVER.ENV"
# fi
if [ -e ./SERVER.ENV ] ; then
. ./SERVER.ENV
else
die "Could not source ./SERVER.ENV"
fi
# if [ -f ./serverDZ.cfg ] ; then
# cp -f ./serverDZ.cfg "$SERVER_HOME"/
# else
# die "Could not find ./serverDZ.cfg"
# fi
if [ -f ./serverDZ.cfg ] ; then
cp -f ./serverDZ.cfg "$SERVER_HOME"/
else
die "Could not find ./serverDZ.cfg"
fi
# main "$@"
# done
main "$@"
done