From e4611ae45364086e254dab11d5ca156947966887 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 31 May 2020 23:12:36 +0100 Subject: [PATCH] convert to auto --- lgsm/functions/command_wipe.sh | 320 ++++++++++++++++----------------- 1 file changed, 160 insertions(+), 160 deletions(-) diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh index 6596c06cf..5705b9c42 100644 --- a/lgsm/functions/command_wipe.sh +++ b/lgsm/functions/command_wipe.sh @@ -9,26 +9,6 @@ commandname="WIPE" commandaction="Wiping" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -check.sh -fn_print_header -fn_script_log "Entering ${gamename} ${commandaction}" - -# Process to server wipe. -fn_wipe_server_process(){ - check_status.sh - if [ "${status}" != "0" ]; then - exitbypass=1 - command_stop.sh - fn_wipe_server_remove_files - exitbypass=1 - command_start.sh - else - fn_wipe_server_remove_files - fi - echo -e "server data wiped" - fn_script_log "server data wiped" -} - # Provides an exit code upon error. fn_wipe_exit_code(){ ((exitcode=$?)) @@ -41,141 +21,139 @@ fn_wipe_exit_code(){ } # Removes files to wipe server. -fn_wipe_server_remove_files(){ - # Rust Wipe. - if [ "${shortname}" == "rust" ]; then - # Wipe pocedural map. - if [ "$(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)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete - fn_wipe_exit_code - fn_sleep_time - else - fn_print_information_nl "No procedural map file to remove" - fn_script_log_info "No procedural map file to remove" - fi - # Wipe procedural map save. - if [ "$(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)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete - fn_wipe_exit_code - fn_sleep_time - else - fn_print_information_nl "No procedural map save to remove" - fn_script_log_info "No procedural map save to remove" - fi - # Wipe Barren map. - if [ "$(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)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "barren*.map" -delete - fn_wipe_exit_code - fn_sleep_time - else - fn_print_information_nl "No barren map file to remove" - fn_script_log_info "No barren map file to remove" - fi - # Wipe barren map save. - if [ "$(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)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete - fn_wipe_exit_code - fn_sleep_time - else - fn_print_information_nl "No barren map save to remove" - fn_script_log_info "No barren map save to remove." - 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..." - fn_sleep_time - fn_script_log "${currentaction}" - rm -rf "${serveridentitydir:?}/user" - fn_wipe_exit_code - fn_sleep_time - # 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..." - fn_sleep_time - fn_script_log "${currentaction}" - rm -rf "${serveridentitydir:?}/storage" - fn_wipe_exit_code - fn_sleep_time - # We do not print additional information if there is nothing to remove since this might be obsolete. - fi - # Wipe sv.files. - if [ "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then - currentaction="Removing server misc files: ${serveridentitydir}/sv.files.*.db" - echo -en "Removing server misc srv.files*.db file(s)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete - fn_wipe_exit_code - fn_sleep_time - # No further information if not found because it should I could not get this file showing up. - fi - # Wipe player death files. - if [ "$(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)..." +fn_wipe_server_files(){ + fn_print_start_nl "Wiping server" + fn_script_log_info "Wiping server" + # Wipe procedural map. + if [ "$(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)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete + fn_wipe_exit_code + fn_sleep_time + else + fn_print_information_nl "No procedural map file to remove" + fn_script_log_info "No procedural map file to remove" + fi + # Wipe procedural map save. + if [ "$(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)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete + fn_wipe_exit_code + fn_sleep_time + else + fn_print_information_nl "No procedural map save to remove" + fn_script_log_info "No procedural map save to remove" + fi + # Wipe Barren map. + if [ "$(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)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "barren*.map" -delete + fn_wipe_exit_code + fn_sleep_time + else + fn_print_information_nl "No barren map file to remove" + fn_script_log_info "No barren map file to remove" + fi + # Wipe barren map save. + if [ "$(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)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete + fn_wipe_exit_code + fn_sleep_time + else + fn_print_information_nl "No barren map save to remove" + fn_script_log_info "No barren map save to remove." + 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..." + fn_sleep_time + fn_script_log "${currentaction}" + rm -rf "${serveridentitydir:?}/user" + fn_wipe_exit_code + fn_sleep_time + # 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..." + fn_sleep_time + fn_script_log "${currentaction}" + rm -rf "${serveridentitydir:?}/storage" + fn_wipe_exit_code + fn_sleep_time + # We do not print additional information if there is nothing to remove since this might be obsolete. + fi + # Wipe sv.files. + if [ "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then + currentaction="Removing server misc files: ${serveridentitydir}/sv.files.*.db" + echo -en "Removing server misc srv.files*.db file(s)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete + fn_wipe_exit_code + fn_sleep_time + # No further information if not found because it should I could not get this file showing up. + fi + # Wipe player death files. + if [ "$(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)..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete + fn_wipe_exit_code + fn_sleep_time + else + fn_print_information_nl "No player death to remove" + fn_script_log_info "No player death to remove" + fi + # Wipe blueprints only if wipeall command was used. + if [ "${wipeall}" == "1" ]; then + if [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then + currentaction="Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db" + echo -en "Removing blueprints player.blueprints.*.db file(s)..." fn_sleep_time fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete + find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete fn_wipe_exit_code fn_sleep_time else - fn_print_information_nl "No player death to remove" - fn_script_log_info "No player death to remove" + fn_print_information_nl "No blueprint file to remove" + fn_script_log_info "No blueprint file to remove" fi - # Wipe blueprints only if wipeall command was used. - if [ "${wipeall}" == "1" ]; then - if [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then - currentaction="Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db" - echo -en "Removing blueprints player.blueprints.*.db file(s)..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete - fn_wipe_exit_code - fn_sleep_time - else - fn_print_information_nl "No blueprint file to remove" - fn_script_log_info "No blueprint file to remove" - fi - elif [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then - fn_print_information_nl "Keeping blueprints" - fn_script_log_info "Keeping blueprints." - else - fn_print_information_nl "No blueprints found" - fn_script_log_info "No blueprints found" - fn_sleep_time - fi - # Wipe some logs that might be there. - if [ "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then - currentaction="Removing log files: ${serveridentitydir}/Log.*.txt" - echo -en "Removing Log files..." - fn_sleep_time - fn_script_log "${currentaction}" - find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete - fn_wipe_exit_code + elif [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then + fn_print_information_nl "Keeping blueprints" + fn_script_log_info "Keeping blueprints." + else + fn_print_information_nl "No blueprints found" + fn_script_log_info "No blueprints found" fn_sleep_time - # 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 + # Wipe some logs that might be there. + if [ "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then + currentaction="Removing log files: ${serveridentitydir}/Log.*.txt" + echo -en "Removing Log files..." + fn_sleep_time + fn_script_log "${currentaction}" + find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete + fn_wipe_exit_code + fn_sleep_time + # We do not print additional information if there are no logs to remove. fi } @@ -194,18 +172,40 @@ fn_stop_warning(){ fn_print_warn_nl "${selfname} will be stopped during wipe" } -# Check if there is something to wipe, prompt the user, and call appropriate functions. -# Rust Wipe. - 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")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then - fn_print_warning_nl "Any user, storage, log and map data from ${serveridentitydir} will be erased" - fn_wipe_warning - fn_script_log_info "User selects to erase any user, storage, log and map data from ${serveridentitydir}" - fn_sleep_time - fn_wipe_server_process +fn_wipe_warning(){ + fn_print_warn "${selfname} wipe is about to start" + fn_script_log_warn "${selfname} wipe is about to start" + totalseconds=3 + for seconds in {3..1}; do + fn_print_warn "${selfname} wipe is about to start: ${totalseconds}" + totalseconds=$((totalseconds - 1)) + sleep 1 + if [ "${seconds}" == "0" ]; then + break + fi + done + fn_print_warn "${selfname} wipe is about to start" +} + +fn_print_dots "Wiping server" +check.sh + +# Check if there is something to wipe. +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")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then + fn_wipe_warning + check_status.sh + if [ "${status}" != "0" ]; then + fn_stop_warning + exitbypass=1 + command_stop.sh + fn_wipe_server_files + exitbypass=1 + command_start.sh else - fn_print_information_nl "No data to wipe was found" - fn_script_log_info "No data to wipe was found" - core_exit.sh + fn_wipe_server_files fi - +else + fn_print_info_nl "No data to wipe was found" + fn_script_log_info "No data to wipe was found" +fi core_exit.sh