From e8b1389ebdb2ce7151b0299a05c52f5e079f2862 Mon Sep 17 00:00:00 2001 From: wvr Date: Mon, 5 Dec 2022 21:13:08 -0600 Subject: [PATCH] after --- mount_dayz.sh | 6 +++++ notes.txt | 5 ---- start.sh | 63 ++++++++++++++++++++++++--------------------------- 3 files changed, 35 insertions(+), 39 deletions(-) create mode 100755 mount_dayz.sh delete mode 100644 notes.txt diff --git a/mount_dayz.sh b/mount_dayz.sh new file mode 100755 index 0000000..ff472e6 --- /dev/null +++ b/mount_dayz.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +sudo mkdir -p /mnt/dayz +sudo mount -t drvfs //truenas.home.weaver/dayz /mnt/dayz + +ls -l /mnt/dayz diff --git a/notes.txt b/notes.txt deleted file mode 100644 index 6b27132..0000000 --- a/notes.txt +++ /dev/null @@ -1,5 +0,0 @@ - - -mkdir /mnt/dayz - -mount -t drvfs '\\truenas.home.weaver\dayz' /mnt/dayz diff --git a/start.sh b/start.sh index 879b647..ace9c6f 100755 --- a/start.sh +++ b/start.sh @@ -13,11 +13,9 @@ export STOCK_SERVER_DATA="$DAYZ_FILES/stock/DayZServer" export MAIN="/mnt/c/DAYZ" export SERVERS="$MAIN/servers" export CACHE="$MAIN/cache" -export STORAGE="$MAIN/STORAGE" export MOD_CACHE="$CACHE/mods" -export RESTART_INTERVAL=$(( 15 * 60 + 30 )) -#$((60 * 60 * 4 + 3)) +export RESTART_INTERVAL=$((60 * 60 * 4 + 3)) # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* # SERVER SPECIFIC SETTINGS @@ -28,14 +26,18 @@ export MAP_FOLDER_NAME='chernarus' export LOCAL_FOLDER_MAP_NAME='dayzOffline.chernarusplus' export SERVER_PORT=2302 export SERVER_CPU=8 -export SERVER_CONFIG_FILE="$SERVER_HOME/serverDZ.cfg" -export SERVER_STORAGE="$STORAGE/$SERVER_NAME" +export SERVER_CONFIG_FILE="serverDZ.cfg" # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* # Helper functions # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -alias do_sync='rsync -vrltDhu --delete --partial --progress' -alias do_secure_sync='rsync -cvrltDhu --delete --partial --progress' +if [ ! "$DEBUG" ] ; then + alias do_sync='rsync -rltDhu --delete --partial' + alias do_secure_sync='rsync -crltDhu --delete --partial' +else + alias do_sync='rsync -vrltDhu --delete --partial --progress' + alias do_secure_sync='rsync -cvrltDhu --delete --partial --progress' +fi msg() { >&2 printf '[*] %s ...\n' "$*" @@ -63,12 +65,6 @@ check() { echo "hint: mount -t drvfs //truenas.home.weaver/dayz $DAYZ_FILES" exit 1 fi - - for storage_folder in "$SERVER_STORAGE" "$SERVER_STORAGE/Profilesfolder" "$SERVER_STORAGE/storage_1" ; do - if [ ! -d "$storage_folder" ] ; then - die "FOLDER '$storage_folder' DOES NOT EXIST" - fi - done } # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* @@ -76,6 +72,7 @@ check() { # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* init() { mkdir -p "$SERVER_HOME" "$MOD_CACHE/$MAP_FOLDER_NAME" + :>"$SERVER_HOME/.modstring" } setup_environment() { @@ -87,8 +84,9 @@ setup_environment() { done # list of all stock files - for file in ban.txt dayz.gproj dayzsettings.xml serverDZ.cfg whitelist.txt ; do - do_sync "$STOCK_SERVER_DATA/$file"/ "$SERVER_HOME/$file" || die "Failed to copy stock: $file" + for file in ban.txt dayz.gproj dayzsetting.xml serverDZ.cfg whitelist.txt \ + DayZServer_x64.exe steam_api64.dll steamclient64.dll tier0_s64.dll vstdlib_s64.dll ; do + do_sync "$STOCK_SERVER_DATA/$file" "$SERVER_HOME/$file" || die "Failed to copy stock: $file" done # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ -102,10 +100,8 @@ setup_environment() { msg "Copying mod files" do_sync "$DAYZ_FILES/mods/$MAP_FOLDER_NAME"/ "$MOD_CACHE/$MAP_FOLDER_NAME" || die "Failed to copy mod files" - if [ ! -f "$SERVER_HOME/DZSALModServer.exe" ] ; then - msg "Copying DZSA executable" - do_secure_sync "$DAYZ_FILES/software/DZSALModServer.exe" "$SERVER_HOME/DZSALModServer.exe" - fi + msg "Copying DZSA executable" + do_sync "$DAYZ_FILES/software/DZSALModServer.exe" "$SERVER_HOME/DZSALModServer.exe" } # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* @@ -118,12 +114,12 @@ load_mods() { mkdir -p "$SERVER_HOME/mods" - modstring="" + _modstring="" while read -r mod ; do case $mod in '@'*) msg "- Found mod: $mod" - modstring="$modstring;mods/$mod" + _modstring="$_modstring;mods/$mod" do_sync "$MOD_CACHE/$MAP_FOLDER_NAME/$mod"/ "$SERVER_HOME/mods/$mod" for addon_folder in addons Addons addon Addon ; do @@ -149,8 +145,8 @@ load_mods() { done < "$MOD_CACHE/$MAP_FOLDER_NAME/mods.txt" # trim the initial leading ';' - modstring=${modstring#;} - printf '%s\n' "$modstring" + _modstring=${_modstring#;} + printf '%s\n' "$_modstring" > .modstring } # -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* @@ -166,7 +162,8 @@ main() { setup_environment || die "Could not set up environment." msg "Loading mods" - mod_string=$(load_mods) + load_mods || die "Could not load mods" + mod_string=$(cat .modstring) >&2 printf 'MOD_STRING: %s\n' "$mod_string" @@ -174,17 +171,14 @@ main() { printf '%s - Server started.\n' "$(date)" echo '====================================' - cmd.exe /C start "DayZ Server" /min "DZSALModServer.exe" \ - -config="$SERVER_CONFIG_FILE" \ - -port="$SERVER_PORT" \ - -profiles=Profilesfolder \ - -mod="$mod_string" \ - -cpuCount="$SERVER_CPU" \ - -dologs -adminlog \ - -netlog -freezecheck +# creating temp.bat here to avoid the arg max char limit of windows cmd.exe +cat > temp.bat </dev/null ||: msg "Sleeping 10 seconds to settle" sleep 10