51 lines
1.5 KiB
Bash
51 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function reset() {
|
|
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
|
log e "Directory '${1}' does not exist"
|
|
exit 1
|
|
fi
|
|
|
|
local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
|
local datapack_dir="$dir/data/world/datapacks"
|
|
|
|
while [[ ! $deleteDataDir =~ [YyNn] ]]; do
|
|
read -p "Do you want to reset the complete data dir located in ${dir}/data ? (This is a unrecoverable process): " deleteDataDir
|
|
case "$deleteDataDir" in
|
|
"N"|"n")
|
|
log e "Aborted by user!"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
local backedup=false
|
|
if [[ -n $(find "${datapack_dir}" -maxdepth 1 -type f) ]]; then
|
|
while [[ ! $backupDatapacksAns =~ [YyNn] ]]; do
|
|
read -p "Do you want to backup the datapack .zip found in $datapack_dir ?: " backupDatapacksAns
|
|
case "$backupDatapacksAns" in
|
|
"Y"|"y")
|
|
local backedup=true
|
|
local tempdir=$(mktemp -d /tmp/pms-cli.XXXXXX)
|
|
mv ${datapack_dir}/*.zip ${tempdir}/
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
rm -rf "$dir/data"
|
|
mkdir -p "$dir/data/world/datapacks"
|
|
|
|
if [[ "$backedup" == true ]]; then
|
|
while [[ ! $restoreDatapacksAns =~ [YyNn] ]]; do
|
|
read -p "You have some backed up datapack .zip in $tempdir. Do you want to restore them now?: " restoreDatapacksAns
|
|
case "$restoreDatapacksAns" in
|
|
"Y"|"y")
|
|
mv ${tempdir}/*.zip "${dir}/data/world/datapacks/"
|
|
rm -rf "$tempdir"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
log s "Server '$1' resetted!"
|
|
}
|