diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | papermc-backup.service | 2 | ||||
-rwxr-xr-x | papermc.sh | 25 |
4 files changed, 25 insertions, 24 deletions
@@ -1,6 +1,6 @@ pkgbase = papermc pkgdesc = Next generation of Minecraft server, compatible with Spigot plugins and offering uncompromising performance - pkgver = 1.15.1+b25 + pkgver = 1.15.1+b48 pkgrel = 1 url = https://papermc.io/ install = papermc.install @@ -15,21 +15,21 @@ pkgbase = papermc optdepends = tar: needed in order to create world backups optdepends = netcat: required in order to suspend an idle server conflicts = papermc-git - noextract = papermc.1.15.1+b25.jar + noextract = papermc.1.15.1+b48.jar backup = etc/conf.d/papermc - source = papermc.1.15.1+b25.jar::https://papermc.io/api/v1/paper/1.15.1/25/download + source = papermc.1.15.1+b48.jar::https://papermc.io/api/v1/paper/1.15.1/48/download source = papermc-backup.service source = papermc-backup.timer source = papermc.service source = papermc.conf source = papermc.sh - source = papermc_1.15.1+b25_LICENSE.md::https://raw.githubusercontent.com/PaperMC/Paper/master/LICENSE.md - sha512sums = 31d4af0418bb7317b0fc8f4b094dd9dfc1bd51c28bdb23b958b12659f00f9e429085cf21a4b9486280598662cee72f6da2cc061a356fa31ce95b5c05066f95e7 - sha512sums = f4126f9cbb3fa24096c22812c45d33b07891317a5a505646fc11c69a5d25ad8679cd6c82ab1285013b2d29d1b73a753bc85d30b66c375768ab6e27d82c6d2092 + source = papermc_1.15.1+b48_LICENSE.md::https://raw.githubusercontent.com/PaperMC/Paper/master/LICENSE.md + sha512sums = 2edc1afd7176c0a2f19368b32d87c4723195cc6ef1b50c30f12fb4b5c9287dca8a7ad34817eb02888859e55614641fe307db1f0ef16b83bb462d4ac86883243a + sha512sums = a4fcc9f28436c0163e9414f2793fcbd4f6ea74772230cdff4a628246eae2a8008688b3dfb94d433f8f0887cd7eea3fe43ce25f9d5812d46e62179ff315b62895 sha512sums = 51c5345155e8640d4f1eaef0c8cfb890ae46063f2d4e7a0fe181ad4c8ff7b96fea88b0f9fc74031d589dfd61602f37b440f183ca1859835930fe69d37508cd42 sha512sums = f29c4044d9e3cc5ab137c21f7e62399b36d7e1f777d5558a39f7b4a01de75bdf2de0b8678e424accc03934ca7db9ebb6a22c78c8c4497759287dd55e1c3eb456 sha512sums = 70f7d4e42db9ed5efcde412f018d46628ad9c12198787421cc70aa1e51b8e278b436d480568ca21dabaacf33cfbd37c5e607504f2cd25ed65442ba67b9805958 - sha512sums = 794e2b66d29f016263305fc65f79be4be78c39c6dda39a777e0e59ede8f20857843f90f021e5258c0ee894073f4e13b3f481643cbcc8a8572ab372c40d878393 + sha512sums = c777e62beb213b5203883e13045953daa3d054c59da8ab535d416464366790edfe77fd9517f968d140dfb4c9009f7e8152f693312364ebbdc71cf2148d6a7df4 sha512sums = 687c51e16de4e5081066640228664e5aa642e8b61f22ae406b7385eba291c93f21ea7c1b625f27331e88936d405631b996089994d99e5201b71505e5fd08a294 pkgname = papermc @@ -2,7 +2,7 @@ pkgname=papermc _pkgver=1.15.1 -_build=25 +_build=48 pkgver="${_pkgver}+b${_build}" pkgrel=1 pkgdesc="Next generation of Minecraft server, compatible with Spigot plugins and offering uncompromising performance" @@ -23,12 +23,12 @@ source=("papermc.${pkgver}.jar"::"https://papermc.io/api/v1/paper/${_pkgver}/${_ "papermc.sh" "papermc_${pkgver}_LICENSE.md"::"https://raw.githubusercontent.com/PaperMC/Paper/master/LICENSE.md") noextract=("papermc.${pkgver}.jar") -sha512sums=('31d4af0418bb7317b0fc8f4b094dd9dfc1bd51c28bdb23b958b12659f00f9e429085cf21a4b9486280598662cee72f6da2cc061a356fa31ce95b5c05066f95e7' - 'f4126f9cbb3fa24096c22812c45d33b07891317a5a505646fc11c69a5d25ad8679cd6c82ab1285013b2d29d1b73a753bc85d30b66c375768ab6e27d82c6d2092' +sha512sums=('2edc1afd7176c0a2f19368b32d87c4723195cc6ef1b50c30f12fb4b5c9287dca8a7ad34817eb02888859e55614641fe307db1f0ef16b83bb462d4ac86883243a' + 'a4fcc9f28436c0163e9414f2793fcbd4f6ea74772230cdff4a628246eae2a8008688b3dfb94d433f8f0887cd7eea3fe43ce25f9d5812d46e62179ff315b62895' '51c5345155e8640d4f1eaef0c8cfb890ae46063f2d4e7a0fe181ad4c8ff7b96fea88b0f9fc74031d589dfd61602f37b440f183ca1859835930fe69d37508cd42' 'f29c4044d9e3cc5ab137c21f7e62399b36d7e1f777d5558a39f7b4a01de75bdf2de0b8678e424accc03934ca7db9ebb6a22c78c8c4497759287dd55e1c3eb456' '70f7d4e42db9ed5efcde412f018d46628ad9c12198787421cc70aa1e51b8e278b436d480568ca21dabaacf33cfbd37c5e607504f2cd25ed65442ba67b9805958' - '794e2b66d29f016263305fc65f79be4be78c39c6dda39a777e0e59ede8f20857843f90f021e5258c0ee894073f4e13b3f481643cbcc8a8572ab372c40d878393' + 'c777e62beb213b5203883e13045953daa3d054c59da8ab535d416464366790edfe77fd9517f968d140dfb4c9009f7e8152f693312364ebbdc71cf2148d6a7df4' '687c51e16de4e5081066640228664e5aa642e8b61f22ae406b7385eba291c93f21ea7c1b625f27331e88936d405631b996089994d99e5201b71505e5fd08a294') _game="papermc" diff --git a/papermc-backup.service b/papermc-backup.service index 10a470ff8dcc..10941a16ee86 100644 --- a/papermc-backup.service +++ b/papermc-backup.service @@ -3,7 +3,7 @@ Description=PaperMC Server World Backup After=local-fs.target [Service] -Type=forking +Type=oneshot ExecStart=/usr/bin/papermc backup User=papermc Group=papermc diff --git a/papermc.sh b/papermc.sh index 3f327f394eb8..5ce12b7d7436 100755 --- a/papermc.sh +++ b/papermc.sh @@ -12,6 +12,7 @@ declare -r game="papermc" [[ -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="papermc" [[ -n "${MAIN_EXECUTABLE}" ]] && declare -r MAIN_EXECUTABLE=${MAIN_EXECUTABLE} || MAIN_EXECUTABLE="papermc_server.jar" @@ -301,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 @@ -357,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 @@ -371,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 @@ -387,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" |