From 2a8982db5a9e493f5c741acbc11c46377c26bc5e Mon Sep 17 00:00:00 2001 From: UltimateByte Date: Sat, 21 Jul 2018 14:30:53 +0200 Subject: [PATCH] Full refactor to wipe and now fits new Rust files Fixes #1830 I will test this and fix if needed --- lgsm/functions/command_wipe.sh | 110 +++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 39 deletions(-) diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh index 7e38cf1ab..fc27f56f9 100644 --- a/lgsm/functions/command_wipe.sh +++ b/lgsm/functions/command_wipe.sh @@ -43,63 +43,64 @@ fn_wipe_exit_code(){ # Removes files to wipe server fn_wipe_server_remove_files(){ # Rust Wipe -#WipeProceduralSave if [ "${gamename}" == "Rust" ]; then - if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then - currentaction="Removing procedural map save(s): ${serveridentitydir}/proceduralmap.*.sav" - echo -en "Removing map saves proceduralmap.*.sav file(s)..." + # Wipe pocedural map + if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then + currentaction="Removing map file(s): ${serveridentitydir}/proceduralmap.*.map" + echo -en "Removing procedural map proceduralmap.*.map file(s)..." sleep 0.5 fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete + find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete fn_wipe_exit_code sleep 0.5 else - fn_print_information_nl "No procedural map save to remove" - fn_script_log_info "No procedural map save to remove." + fn_print_information_nl "No procedural map file to remove" + fn_script_log_info "No procedural map file to remove." sleep 0.5 fi -#WipeBarrenSave - if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then - currentaction="Removing barren map save(s): ${serveridentitydir}/barren*.sav" - echo -en "Removing barren map saves barren*.sav file(s)..." + #Wipe procedural map save + if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then + currentaction="Removing procedural map save(s): ${serveridentitydir}/proceduralmap.*.sav" + echo -en "Removing map saves proceduralmap.*.sav file(s)..." sleep 0.5 fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete + find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete fn_wipe_exit_code sleep 0.5 else - fn_print_information_nl "No barren map save to remove" - fn_script_log_info "No barren map save to remove." + fn_print_information_nl "No procedural map save to remove" + fn_script_log_info "No procedural map save to remove." sleep 0.5 fi -#WipeProceduralMap - if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then - currentaction="Removing map file(s): ${serveridentitydir}/proceduralmap.*.map" - echo -en "Removing procedural map proceduralmap.*.map file(s)..." + # Wipe Barren map + if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then + currentaction="Removing map file(s): ${serveridentitydir}/barren*.map" + echo -en "Removing barren map barren*.map file(s)..." sleep 0.5 fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete + find "${serveridentitydir:?}" -type f -name "barren*.map" -delete fn_wipe_exit_code sleep 0.5 else - fn_print_information_nl "No procedural map file to remove" - fn_script_log_info "No procedural map file to remove." + fn_print_information_nl "No barren map file to remove" + fn_script_log_info "No barren map file to remove." sleep 0.5 fi -#WipeBarrenMap - if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then - currentaction="Removing map file(s): ${serveridentitydir}/barren*.map" - echo -en "Removing barren map barren*.map file(s)..." + # Wipe barren map save + if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then + currentaction="Removing barren map save(s): ${serveridentitydir}/barren*.sav" + echo -en "Removing barren map saves barren*.sav file(s)..." sleep 0.5 fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "barren*.map" -delete + find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete fn_wipe_exit_code sleep 0.5 else - fn_print_information_nl "No barren map file to remove" - fn_script_log_info "No barren map file to remove." + fn_print_information_nl "No barren map save to remove" + fn_script_log_info "No barren map save to remove." sleep 0.5 fi + # Wipe user dir, might be a legacy thing, maybe to be removed if [ -d "${serveridentitydir}/user" ]; then currentaction="Removing user directory: ${serveridentitydir}/user" echo -en "Removing user directory..." @@ -108,11 +109,9 @@ fn_wipe_server_remove_files(){ rm -rf "${serveridentitydir:?}/user" fn_wipe_exit_code sleep 0.5 - else - fn_print_information_nl "No user directory to remove" - fn_script_log_info "No user directory to remove." - sleep 0.5 + # We do not print additional information if there is nothing to remove since this might be obsolete fi + # Wipe storage dir, might be a legacy thing, maybe to be removed if [ -d "${serveridentitydir}/storage" ]; then currentaction="Removing storage directory: ${serveridentitydir}/storage" echo -en "Removing storage directory..." @@ -121,11 +120,47 @@ fn_wipe_server_remove_files(){ rm -rf "${serveridentitydir:?}/storage" fn_wipe_exit_code sleep 0.5 + # We do not print additional information if there is nothing to remove since this might be obsolete + fi + # Wipe player death files + if [ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then + currentaction="Removing player death files: ${serveridentitydir}/player.deaths.*.db" + echo -en "Removing player deaths player.deaths.*.db file(s)..." + sleep 0.5 + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete + fn_wipe_exit_code + sleep 0.5 else - fn_print_information_nl "No storage directory to remove" - fn_script_log_info "No storage directory to remove." + fn_print_information_nl "No player death to remove" + fn_script_log_info "No player death to remove." sleep 0.5 fi + # Wipe blueprints only if wipeall command was used + if [ "${wipeall}" == "1" ]; then + if [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then + currentaction="Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db" + echo -en "Removing procedural blueprints player.blueprints.*.db file(s)..." + sleep 0.5 + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete + fn_wipe_exit_code + sleep 0.5 + else + fn_print_information_nl "No blueprint file to remove" + fn_script_log_info "No blueprint file to remove." + sleep 0.5 + fi + elif [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ] + fn_print_information_nl "Keeping blueprints" + fn_script_log_info "Keeping blueprints." + sleep 0.5 + else + fn_print_information_nl "No blueprints found" + fn_script_log_info "No blueprints found." + sleep 0.5 + fi + # Wipe some logs that might be there if [ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then currentaction="Removing log files: ${serveridentitydir}/Log.*.txt" echo -en "Removing Log files..." @@ -134,10 +169,7 @@ fn_wipe_server_remove_files(){ find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete fn_wipe_exit_code sleep 0.5 - else - fn_print_information_nl "No log files to remove" - fn_script_log_info "No log files to remove." - sleep 0.5 + # We do not print additional information if there are no logs to remove fi # You can add an "elif" here to add another game or engine fi @@ -146,7 +178,7 @@ fn_wipe_server_remove_files(){ # Check if there is something to wipe, prompt the user, and call appropriate functions # Rust Wipe if [ "${gamename}" == "Rust" ]; then - if [ -d "${serveridentitydir}/storage" ]||[ -d "${serveridentitydir}/user" ]||[ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then + if [ -d "${serveridentitydir}/storage" ]||[ -d "${serveridentitydir}/user" ]||[ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then fn_print_warning_nl "Any user, storage, log and map data from ${serveridentitydir} will be erased." if ! fn_prompt_yn "Continue?" Y; then echo Exiting; core_exit.sh