diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | forged-backup.service | 2 | ||||
-rw-r--r-- | forged.conf | 1 | ||||
-rwxr-xr-x | forged.sh | 26 |
5 files changed, 23 insertions, 22 deletions
@@ -1,7 +1,7 @@ pkgbase = forge-server-1.11.2 pkgdesc = Minecraft Forge server unit files, script and jar pkgver = 1.11.2_13.20.1.2386 - pkgrel = 8 + pkgrel = 9 url = https://minecraftforge.net install = forge-server.install arch = any @@ -28,11 +28,11 @@ pkgbase = forge-server-1.11.2 source = Paulscode%20SoundSystem%20CodecIBXM%20License-forge-server-1.11.2-1.11.2-13.20.1.2386.txt::https://raw.githubusercontent.com/MinecraftForge/MinecraftForge/1.11.x/Paulscode%20SoundSystem%20CodecIBXM%20License.txt source = LICENSE-fml-forge-server-1.11.2-1.11.2-13.20.1.2386.txt::https://raw.githubusercontent.com/MinecraftForge/MinecraftForge/1.11.x/LICENSE-fml.txt source = LICENSE-new-forge-server-1.11.2-1.11.2-13.20.1.2386.txt::https://raw.githubusercontent.com/MinecraftForge/MinecraftForge/1.11.x/LICENSE-new.txt - sha512sums = 5d7b56143f97ec7eb5d77fdfb0cbaadec968dcb2f95739607bacd27e8b45f91d52d26c542f77c38ae8cdf5a0ad9c0bb5bd1d2513477bfa7621bd375c2aa5914c + sha512sums = 8ab83b219d8748bc8e1822d0a8cf029ec1eb58b0f7f14753f25492f527303f1ba0332139d244364be06f2f5128614a1e24179bf41eaa8bb4c2452fe493097fb8 sha512sums = 4a1ddf0bfb98fc7759cf281abb026aefb197267d72f9fc8d25dba48c964f7060216ebdca2cb3a9de021f41d9f8efb057cee061a41af003f7919c925350e6da7f sha512sums = 652d954918eeed849268b1b96abffafac531ccd033674905620f566459a8454bdf41092201d92b8298ba740ecafa60a199007e0ac37bb7c8cd70cfd3114c432a - sha512sums = 3dd6935f5973383c9f650ef9fef23e5c95db6f7861242c129557e800a72251b758cc14c52276dd3df97098a30c65f598c18dc1abcbec139a6c64f6ae26d24e3a - sha512sums = 56a9d3aa69712ac6bae6b4cb504877d994c88f71bd3ac7b0618cedaaa93c444c4a5d472c8d09a0fdbd34116633f9ee51f40e4a49111e5568cc248ff07998a6f5 + sha512sums = 33ab2e375cbde87aceeb8a607bcd6509ad5d0b9a10740dd3810566f939fca7303be84c5f6ee398118e1b8fb41e609e3d7131dea59ddb75d34c5da1d1c9d4e275 + sha512sums = fb9e915db0dbce1eb94feccb897c61fa38f4b57648ac59534c8a5031647b7cfb557a4830008b7a9ffa530c9af9deb356dda6b612e84ba2a0cec5e1bceb50e4c4 sha512sums = 4eef89201fb6f8662912a5ceb3cfaa0c68da6ca874e403b02f40afa7132f48c339815b987dc190903e4053531957c009f46d388b88083f54f349a3dd6ad26b42 sha512sums = dedd8e121e79bdd39c824a2d4acbc231ae6339cfd29894c4e7299359d23bc92423f4a865865372745be996b0bc14f5777e06baae8b1f4e5c302eadeac5aecf15 sha512sums = 7f158bed6957e5285ce45a480f6a222065af5427bd48481ef24eb770ff540aa67b2d1c1ed976d216db94323017f7c7ee1dfe16e3f222b14189f9823e0b49f0f3 @@ -5,7 +5,7 @@ ## Contributor: Philip Abernethy <chais.z3r0@gmail.com> ## Contributor: sowieso <sowieso@dukun.de> -_ver="1.11.2_13.20.1.2386-8" +_ver="1.11.2_13.20.1.2386-9" _minecraft_ver_latest="1.14.4" IFS="-" read -ra _ver_temp <<< "$_ver" @@ -45,11 +45,11 @@ source=("forged-backup.service" "forged.conf" "forged.sh") noextract=("forge-${_pkgver}.jar") -sha512sums=('5d7b56143f97ec7eb5d77fdfb0cbaadec968dcb2f95739607bacd27e8b45f91d52d26c542f77c38ae8cdf5a0ad9c0bb5bd1d2513477bfa7621bd375c2aa5914c' +sha512sums=('8ab83b219d8748bc8e1822d0a8cf029ec1eb58b0f7f14753f25492f527303f1ba0332139d244364be06f2f5128614a1e24179bf41eaa8bb4c2452fe493097fb8' '4a1ddf0bfb98fc7759cf281abb026aefb197267d72f9fc8d25dba48c964f7060216ebdca2cb3a9de021f41d9f8efb057cee061a41af003f7919c925350e6da7f' '652d954918eeed849268b1b96abffafac531ccd033674905620f566459a8454bdf41092201d92b8298ba740ecafa60a199007e0ac37bb7c8cd70cfd3114c432a' - '3dd6935f5973383c9f650ef9fef23e5c95db6f7861242c129557e800a72251b758cc14c52276dd3df97098a30c65f598c18dc1abcbec139a6c64f6ae26d24e3a' - '56a9d3aa69712ac6bae6b4cb504877d994c88f71bd3ac7b0618cedaaa93c444c4a5d472c8d09a0fdbd34116633f9ee51f40e4a49111e5568cc248ff07998a6f5' + '33ab2e375cbde87aceeb8a607bcd6509ad5d0b9a10740dd3810566f939fca7303be84c5f6ee398118e1b8fb41e609e3d7131dea59ddb75d34c5da1d1c9d4e275' + 'fb9e915db0dbce1eb94feccb897c61fa38f4b57648ac59534c8a5031647b7cfb557a4830008b7a9ffa530c9af9deb356dda6b612e84ba2a0cec5e1bceb50e4c4' '4eef89201fb6f8662912a5ceb3cfaa0c68da6ca874e403b02f40afa7132f48c339815b987dc190903e4053531957c009f46d388b88083f54f349a3dd6ad26b42' 'dedd8e121e79bdd39c824a2d4acbc231ae6339cfd29894c4e7299359d23bc92423f4a865865372745be996b0bc14f5777e06baae8b1f4e5c302eadeac5aecf15' '7f158bed6957e5285ce45a480f6a222065af5427bd48481ef24eb770ff540aa67b2d1c1ed976d216db94323017f7c7ee1dfe16e3f222b14189f9823e0b49f0f3' diff --git a/forged-backup.service b/forged-backup.service index cd71551a6563..689905cec5c9 100644 --- a/forged-backup.service +++ b/forged-backup.service @@ -3,7 +3,7 @@ Description=Minecraft Forge 1.11.2 Server World Backup After=local-fs.target [Service] -Type=forking +Type=simple ExecStart=/usr/bin/forge-1.11.2d backup User=forge-1-11-2 Group=forge-1-11-2 diff --git a/forged.conf b/forged.conf index c1e2acf5abdc..c059bee4c8f6 100644 --- a/forged.conf +++ b/forged.conf @@ -5,6 +5,7 @@ SERVER_ROOT="/srv/forge-1.11.2" BACKUP_DEST="/srv/forge-1.11.2/backup" BACKUP_PATHS="world" # World paths separated by spaces relative to SERVER_ROOT +BACKUP_FLAGS="-z" KEEP_BACKUPS="10" GAME_USER="forge-1-11-2" MAIN_EXECUTABLE="forge.jar" diff --git a/forged.sh b/forged.sh index 4d8296c2aae3..f8c6dd4eefb5 100755 --- a/forged.sh +++ b/forged.sh @@ -12,6 +12,7 @@ declare -r game="forge-1.11.2" [[ -n "${SERVER_ROOT}" ]] && declare -r SERVER_ROOT=${SERVER_ROOT} || SERVER_ROOT="/srv/${game}" [[ -n "${BACKUP_DEST}" ]] && declare -r BACKUP_DEST=${BACKUP_DEST} || BACKUP_DEST="/srv/${game}/backup" [[ -n "${BACKUP_PATHS}" ]] && declare -r BACKUP_PATHS=${BACKUP_PATHS} || BACKUP_PATHS="world" +[[ -n "${BACKUP_FLAGS}" ]] && declare -r BACKUP_FLAGS=${BACKUP_FLAGS} || BACKUP_FLAGS="-z" [[ -n "${KEEP_BACKUPS}" ]] && declare -r KEEP_BACKUPS=${KEEP_BACKUPS} || KEEP_BACKUPS="10" [[ -n "${GAME_USER}" ]] && declare -r GAME_USER=${GAME_USER} || GAME_USER="forge-1-11-2" [[ -n "${MAIN_EXECUTABLE}" ]] && declare -r MAIN_EXECUTABLE=${MAIN_EXECUTABLE} || MAIN_EXECUTABLE="forge.jar" @@ -30,7 +31,6 @@ declare -r game="forge-1.11.2" # Additional configuration options which only few may need to alter [[ -n "${GAME_COMMAND_DUMP}" ]] && declare -r GAME_COMMAND_DUMP=${GAME_COMMAND_DUMP} || GAME_COMMAND_DUMP="/tmp/${myname}_${SESSION_NAME}_command_dump.txt" -# shellcheck source=forged.conf # Variables passed over the command line will always override the one from a config file source /etc/conf.d/"${game}" 2>/dev/null || >&2 echo "Could not source /etc/conf.d/${game}" @@ -302,26 +302,26 @@ backup_files() { fi echo "Starting backup..." - FILE="$(date +%Y_%m_%d_%H.%M.%S).tar.gz" + fname="$(date +%Y_%m_%d_%H.%M.%S).tar.gz" ${SUDO_CMD} mkdir -p "${BACKUP_DEST}" if ${SUDO_CMD} screen -S "${SESSION_NAME}" -Q select . > /dev/null; then game_command save-off game_command save-all sync && wait - ${SUDO_CMD} tar -C "${SERVER_ROOT}" -czf "${BACKUP_DEST}/${FILE}" --totals ${BACKUP_PATHS} 2>&1 | grep -v "tar: Removing leading " + ${SUDO_CMD} tar -C "${SERVER_ROOT}" -cf "${BACKUP_DEST}/${fname}" ${BACKUP_PATHS} --totals ${BACKUP_FLAGS} 2>&1 | grep -v "tar: Removing leading " game_command save-on else - ${SUDO_CMD} tar -C "${SERVER_ROOT}" -czf "${BACKUP_DEST}/${FILE}" --totals ${BACKUP_PATHS} 2>&1 | grep -v "tar: Removing leading " + ${SUDO_CMD} tar -C "${SERVER_ROOT}" -cf "${BACKUP_DEST}/${fname}" ${BACKUP_PATHS} --totals ${BACKUP_FLAGS} 2>&1 | grep -v "tar: Removing leading " fi echo -e "\e[39;1mbackup completed\e[0m\n" echo -n "Only keeping the last ${KEEP_BACKUPS} backups and removing the other ones..." - BACKUP_COUNT=$(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | wc -l) - if [[ $(( BACKUP_COUNT - KEEP_BACKUPS )) -gt 0 ]]; then - for old_backup in $(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | head -n"$(( BACKUP_COUNT - KEEP_BACKUPS ))"); do + backup_count=$(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | wc -l) + if [[ $(( backup_count - KEEP_BACKUPS )) -gt 0 ]]; then + for old_backup in $(for f in "${BACKUP_DEST}"/[0-9_.]*; do echo "${f}"; done | head -n"$(( backup_count - KEEP_BACKUPS ))"); do ${SUDO_CMD} rm "${old_backup}"; done - echo -e "\e[39;1m done\e[0m ($(( BACKUP_COUNT - KEEP_BACKUPS)) backup(s) pruned)" + echo -e "\e[39;1m done\e[0m ($(( backup_count - KEEP_BACKUPS)) backup(s) pruned)" else echo -e "\e[39;1m done\e[0m (no backups pruned)" fi @@ -358,10 +358,10 @@ backup_restore() { if [[ $user_choice =~ ^-?[0-9]+$ ]]; then n=1 for f in "${BACKUP_DEST}"/[0-9_.]*; do - [[ ${n} -eq $user_choice ]] && FILE="$f" + [[ ${n} -eq $user_choice ]] && fname="$f" n=$(( n + 1 )) done - if [[ -z $FILE ]]; then + if [[ -z $fname ]]; then >&2 echo -e "\e[39;1mFailed\e[0m to interpret your input. Please enter the digit of the presented options." exit 5 fi @@ -372,10 +372,10 @@ backup_restore() { elif [[ $# -eq 1 ]]; then # Check for the existance of the specified file if [[ -f "$1" ]]; then - FILE="$1" + fname="$1" else if [[ -f "${BACKUP_DEST}"/"$1" ]]; then - FILE="${BACKUP_DEST}"/"$1" + fname="${BACKUP_DEST}"/"$1" else >&2 echo -e "Sorry, but '$1', is \e[39;1mnot a valid file\e[0m, neither in your current directory nor in the backup folder." exit 4 @@ -388,7 +388,7 @@ backup_restore() { fi echo "Restoring backup..." - if ${SUDO_CMD} tar -xf "${FILE}" -C "${SERVER_ROOT}" 2>&1; then + if ${SUDO_CMD} tar -xf "${fname}" -C "${SERVER_ROOT}" 2>&1; then echo -e "\e[39;1mRestoration completed\e[0m" else echo -e "\e[39;1mFailed to restore backup.\e[0m" |