Browse Source

Full refactor to wipe and now fits new Rust files

Fixes #1830

I will test this and fix if needed
pull/1950/head
UltimateByte 7 years ago
committed by GitHub
parent
commit
2a8982db5a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 110
      lgsm/functions/command_wipe.sh

110
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

Loading…
Cancel
Save