diff --git a/lib/globals.sh b/lib/globals.sh index 634fc65..ff2e09b 100644 --- a/lib/globals.sh +++ b/lib/globals.sh @@ -39,10 +39,10 @@ alias do_sync='rsync -avhu --progress --delete --partial --links' ################### GLOBAL FUNCTIONS ######################### msg() { - printf '\n[*] %s\n\n' "$*" + printf '[MESSAGE]: %s\n' "$*" } errmsg() { - >&2 printf '\n[Error]: %s\n\n' "$*" + >&2 printf '\n[ERROR]: %s\n\n' "$*" } die() { errmsg "$*" diff --git a/modserver_update.sh b/modserver_update.sh index 54b834b..4c4fb30 100644 --- a/modserver_update.sh +++ b/modserver_update.sh @@ -92,14 +92,14 @@ check() { die "Remote server already locked?" fi - msg "Health checks passed successfully." + msg "(MODSERVER): Health checks passed successfully." } # =================================================== # 05. Begin functions # =================================================== update_server() { - msg "============== UPDATING DAYZ SERVER =================" + msg "(MODSERVER): STARTING UPDATING DAYZ SERVER" steamcmd -tcp \ +force_install_dir "$LOCAL_STOCK_SERVER" \ +@sSteamCmdForcePlatformType windows \ @@ -110,11 +110,11 @@ update_server() { is_network_drive_mounted && do_sync "$LOCAL_STOCK_SERVER"/ "$REMOTE_STOCK_SERVER" - msg "============ DONE UPDATING SERVER =====================" + msg "(MODSERVER): FINISHED UPDATING DAYZ SERVER" } update_game() { - msg "========== UPDATING DAYZ GAME ================" + msg "(MODSERVER): STARTING UPDATING DAYZ GAME" steamcmd -tcp \ +force_install_dir "$LOCAL_STOCK_GAME" \ +@sSteamCmdForcePlatformType windows \ @@ -125,12 +125,12 @@ update_game() { is_network_drive_mounted && do_sync "$LOCAL_STOCK_GAME"/ "$REMOTE_STOCK_GAME" - msg "============= DONE UPDATING GAME ===================" + msg "(MODSERVER): FINISHED UPDATING DAYZ GAME" } # args: $1 = server_modlist.txt to update update_mods_for_server() { - msg "======= UPDATING MODS FOR MAP: $1 ========" + msg "(MODSERVER): UPDATING MODS FOR MAP: $1" mods_file="$MODLISTS/$1" map_name=${1%.txt} @@ -182,12 +182,11 @@ update_mods_for_server() { die "Problem downloading mods for $map_name" fi - msg "------------ RENAMING MODS -------------" - mods_to_copy="$LOCAL_MODS/mods_to_copy" - rm -rf "$mods_to_copy" 2>/dev/null ||: - mkdir -p "$mods_to_copy" + msg "(MODSERVER): RENAMING MODS" + + # blank map's mods.txt + :> "$remote_map_mod_dir/mods.txt" - :> "$mods_to_copy/mods.txt" while read -r mod ; do # skip comments, blank lines case "$mod" in @@ -199,30 +198,27 @@ update_mods_for_server() { if [ ! -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" ] ; then die "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id does not exist" fi - cp -raf "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" "$mods_to_copy/@${mod_name}" - msg "Finished: $mod_name" - printf '@%s\n' "$mod_name" >> "$mods_to_copy/mods.txt" + do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id"/ "$remote_map_mod_dir/@${mod_name}" + printf '@%s\n' "$mod_name" >> "$remote_map_mod_dir/mods.txt" + msg "(MODSERVER): Finished syncing: $mod_name" esac done < "$mods_file" - msg "----------- SYNCING MODS -------------" - do_sync "$mods_to_copy"/ "$remote_map_mod_dir" - rm -f "$tempfile" 2>/dev/null ||: - unset tempfile mod map_name mods_file mods_to_copy mod_name mod_id remote_map_mod_dir + unset tempfile mod map_name mods_file mod_name mod_id remote_map_mod_dir - msg "======= DONE UPDATING MODS FOR: $1 ========" + msg "(MODSERVER): FINISHED UPDATING MODS FOR MAP: $1" } update_stock_maps() { - msg "----------- UPDATING MAPS -------------" + msg "(MODSERVER): UPDATING MAPS" - msg "Copying Stock Chernarus" + msg "(MODSERVER): Copying Stock Chernarus" do_sync \ "$LOCAL_STOCK_SERVER/mpmissions/$CHERNARUS_MAP_NAME"/ \ "$REMOTE_MAPS/$CHERNARUS_MAP_NAME" - msg "Updating Namalsk Survival" + msg "(MODSERVER): Updating Namalsk Survival" steamcmd \ -tcp \ +force_install_dir "$LOCAL_MODS" \ @@ -244,7 +240,7 @@ update_stock_maps() { die "failed to copy Namalsk map files" fi - msg "Updating Namalsk Island" + msg "(MODSERVER): Updating Namalsk Island" steamcmd \ -tcp \ +force_install_dir "$LOCAL_MODS" \ @@ -262,7 +258,7 @@ update_stock_maps() { ####################TODO: # msg "Updating Optimized Namalsk Server PBOs" - msg "Updating TakistanPlus" + msg "(MODSERVER): Updating TakistanPlus" steamcmd \ -tcp \ +force_install_dir "$LOCAL_MODS" \ @@ -296,7 +292,7 @@ main() { for server in $(ls "$MODLISTS" | xargs) ; do if [ ! -f "$MODLISTS/$server" ] ; then - msg "Could not find modlist for: $MODLISTS/$server" + msg "(MODSERVER): Could not find modlist for: $MODLISTS/$server" continue fi update_mods_for_server "$server" diff --git a/server_start.sh b/server_start.sh index 9f6aa56..db12f9b 100644 --- a/server_start.sh +++ b/server_start.sh @@ -234,8 +234,15 @@ EOF # =================================================== # 07. Main loop # =================================================== + +NUMBER_OF_STARTS=0 + main() { while true ; do + NUMBER_OF_STARTS=$((NUMBER_OF_STARTS + 1)) + msg "Server is preparing to start..." + msg "NUMBER OF STARTS: $NUMBER_OF_STARTS" + cd "$ORIGINAL_DIR" || die "Can no longer cd to $ORIGINAL_DIR" if [ -e ./SERVER.ENV ] ; then