mcwrapper 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +1 -1
- data/lib/mcwrapper/version.rb +1 -1
- data/libexec/mcwrapper +34 -8
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/lib/mcwrapper/version.rb
CHANGED
data/libexec/mcwrapper
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# https://github.com/spikegrobstein/mcwrapper
|
7
7
|
##
|
8
8
|
|
9
|
-
MCWRAPPER_VERSION="1.6.
|
9
|
+
MCWRAPPER_VERSION="1.6.3"
|
10
10
|
|
11
11
|
#### Exit Codes
|
12
12
|
|
@@ -775,7 +775,19 @@ function world_dir_path () {
|
|
775
775
|
function do_backup () {
|
776
776
|
local WORLD_DATA_DIR=$(world_dir_path)
|
777
777
|
|
778
|
-
|
778
|
+
if [[ ! -e "$WORLD_DATA_DIR" ]]; then
|
779
|
+
# check $DOING_RESTORE global variable (set inside restore_world function)
|
780
|
+
if [[ ! -z "$DOING_RESTORE" ]]; then
|
781
|
+
echo "Skipping backup because world data directory does not exist." >&2
|
782
|
+
return 1
|
783
|
+
else
|
784
|
+
echo "World data directory does not exist. Cannot backup." >&2
|
785
|
+
exit $EXIT_CANNOT_BACKUP_WORLD_DATA
|
786
|
+
fi
|
787
|
+
fi
|
788
|
+
|
789
|
+
# copy the current world directory into 'world' directory in current backup
|
790
|
+
cp -R "$WORLD_DATA_DIR" "$CURRENT_BACKUP_PATH/world"
|
779
791
|
|
780
792
|
if [[ $? != 0 ]]; then
|
781
793
|
#an error occurred
|
@@ -902,7 +914,15 @@ function backup_world {
|
|
902
914
|
# set BACKUPS_TO_KEEP to "0" to disable backups entirely.
|
903
915
|
echo ""
|
904
916
|
echo "Backups are disabled. Not backing anything up."
|
905
|
-
|
917
|
+
|
918
|
+
# if we're doing a restore, then just return a non-zero,
|
919
|
+
# otherwise exit with an exit code.
|
920
|
+
if [[ -z "$DOING_RESTORE" ]]; then
|
921
|
+
# not doing backup
|
922
|
+
exit $EXIT_BACKUPS_DISABLED
|
923
|
+
else
|
924
|
+
return 1
|
925
|
+
fi
|
906
926
|
fi
|
907
927
|
|
908
928
|
# the path to the to-be-backed-up directory
|
@@ -954,15 +974,18 @@ function path_to_latest_backup {
|
|
954
974
|
# given a path to a world backup, restore the current world with the contents
|
955
975
|
# when doing this, back up the current world, if it exists
|
956
976
|
function restore_world {
|
977
|
+
DOING_RESTORE=1
|
957
978
|
local RESTORE_FROM=$1
|
979
|
+
local RESTORE_FROM_WORLD="${RESTORE_FROM}/world"
|
958
980
|
|
959
981
|
# check to make sure a RESTORE_FROM parameter is supplied
|
982
|
+
# TODO: fix the output of this usage to show how mcwrapper was called
|
960
983
|
[[ -z "$RESTORE_FROM" ]] \
|
961
984
|
&& { echo "USAGE: $0 restore <backup_name>" >&2; exit $EXIT_CANNOT_RESTORE_WORLD; }
|
962
985
|
|
963
986
|
# check to make sure world dir exists and is a dir
|
964
|
-
[[ -e "$RESTORE_FROM" && -d "$RESTORE_FROM" ]] \
|
965
|
-
|| { echo "Path does not appear to be a Minecraft world directory or does not exist." >&2; exit $EXIT_CANNOT_RESTORE_WORLD; }
|
987
|
+
[[ -e "$RESTORE_FROM" && -d "$RESTORE_FROM" && -d "${RESTORE_FROM}/world" ]] \
|
988
|
+
|| { echo "Path does not appear to be a Minecraft world backup directory or does not exist." >&2; exit $EXIT_CANNOT_RESTORE_WORLD; }
|
966
989
|
|
967
990
|
# back-up current world data and temporarily enable infinite retention
|
968
991
|
# we don't want to inadvertently clobber any existing backups
|
@@ -974,7 +997,7 @@ function restore_world {
|
|
974
997
|
|
975
998
|
if check_is_running; then
|
976
999
|
SERVER_IS_RUNNING="1"
|
977
|
-
|
1000
|
+
stop_minecraft
|
978
1001
|
else
|
979
1002
|
SERVER_IS_RUNNING="0"
|
980
1003
|
fi
|
@@ -983,13 +1006,16 @@ function restore_world {
|
|
983
1006
|
rm -rf "$WORLD_DIR_PATH"
|
984
1007
|
|
985
1008
|
# copy world
|
986
|
-
cp -R "$
|
987
|
-
|
1009
|
+
cp -R "$RESTORE_FROM_WORLD" "$WORLD_DIR_PATH" \
|
1010
|
+
|| { echo "Error restoring world file." >&2 ; exit $EXIT_CANNOT_RESTORE_WORLD; }
|
1011
|
+
echo "$RESTORE_FROM_WORLD" > "$WORLD_DIR_PATH/RESTORED_FROM"
|
988
1012
|
|
989
1013
|
# start server if it was running when we started
|
990
1014
|
if [[ "$SERVER_IS_RUNNING" = '1' ]]; then
|
991
1015
|
start_minecraft
|
992
1016
|
fi
|
1017
|
+
|
1018
|
+
unset DOING_RESTORE
|
993
1019
|
}
|
994
1020
|
|
995
1021
|
## End MCBackup portion.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mcwrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Control your Minecraft server. start/stop and live backups.
|
15
15
|
email:
|