aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGordian Edenhofer2020-01-14 20:34:55 +0100
committerGordian Edenhofer2020-01-14 20:34:55 +0100
commit1edad4acae56cb81b102d77251542a78a344b4bb (patch)
tree741a4377dd250c56a88bb41075db1fb0330ca63a
parent01baf8c0b7d27b975bccfb037926924f60ee4271 (diff)
downloadaur-1edad4acae56cb81b102d77251542a78a344b4bb.tar.gz
upgpkg: minecraft-server 1.15.1-2
Introduce a new config flag called `BACKUP_FLAGS` for specifying additional flags which to pass to tar for compression. Additionally, replace `Type=forking` with `Type=oneshot` in the backup services as to not let the backup timeout. Furthermore, change some upper case variables to lower case ones. upgpkg: spigot 1.15.1+b107-1 upgpkg: cuberite 1.12b1065-1 upgpkg: papermc 1.15.1+b48-1
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD8
-rw-r--r--minecraftd-backup.service2
-rw-r--r--minecraftd.conf1
-rwxr-xr-xminecraftd.sh25
5 files changed, 23 insertions, 21 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 40246049cef8..95401f88e08a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = minecraft-server
pkgdesc = Minecraft server unit files, script, and jar
pkgver = 1.15.1
- pkgrel = 1
+ pkgrel = 2
url = https://minecraft.net/
install = minecraft-server.install
arch = any
@@ -25,10 +25,10 @@ pkgbase = minecraft-server
source = minecraftd.conf
source = minecraftd.sh
sha512sums = 4458daa6cd87b04ddbf0819dfc0538d24b8d08c529a94f1abff9b894d24ffb4eb3d0b23b8bfb088b2b6f43fb6f71d17700d9f80dab2ed56dc51c5bef329ba6bb
- sha512sums = c8f96bafb0ba3fd8946ac791b09e75cae54dc1a8e02822f91ca70a77a8ba45b253a83c4db30f9cfbf0658a2608b38e6de3d00f1d832ef676f329a78e69eab3e7
+ sha512sums = 32d11156b63f780fe530ca408e8f2c36c7cb761427992526a70819e24ebc042813f9001b1d822847ffe22e6aec34420f215c8bf21ca73905747537ef4ab7e905
sha512sums = 19ee3646bfbace353b65c0373594edb654de11c9671f29cebad3b31109f29f94ade1d529d9f409b0989c376bef9b451585b22a1e0ac4295fcc92d9565f808418
sha512sums = 5203f6331f740ecfcea2a2cc653603ae97419baa89e08512f9d8feb63e4a52978442a69b313eccd9037b676a62ab528e2b533c0fb95a9c7177318279fe0cde79
- sha512sums = 73132ec613e05c8ed7ebe4eda2395f1ea0733ffe94ba7e203e06246d5852139bbfb7a9073b2b01891282339a2f85676699cd889cde79d6317066e27fd65b1d67
- sha512sums = fc932d62dc86be6af1c335b1cb712f3a4f99515393fcb1e3de1fd464583d0c63a5b13233a0b1f7b6cfae0f7be6b337a10009925bfe9b016e92076f1768cdf271
+ sha512sums = b7e84172bdb791e3a065b2593e63f3f4a017481d4321d28cdc528f88447f9c591a9ac58ccec828e76cb4ec3eacfa0acd8e3645f82e6065f80e4fec06cead67d9
+ sha512sums = a1022e06a3d8567b31c9670b817a4751ad9f14242ce7ee69f184a459c667ec2334dcd259410de38fc75a0f9a65c0a033d737cf0b73abcf37f5de073db9560035
pkgname = minecraft-server
diff --git a/PKGBUILD b/PKGBUILD
index 9343e4999d67..112d5206a912 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=minecraft-server
pkgver=1.15.1
_nonce=4d1826eebac84847c71a77f9349cc22afd0cf0a1
-pkgrel=1
+pkgrel=2
pkgdesc="Minecraft server unit files, script, and jar"
arch=('any')
url="https://minecraft.net/"
@@ -25,11 +25,11 @@ source=("minecraft_server.${pkgver}.jar"::"https://launcher.mojang.com/v1/object
"minecraftd.sh")
noextract=("minecraft_server.${pkgver}.jar")
sha512sums=('4458daa6cd87b04ddbf0819dfc0538d24b8d08c529a94f1abff9b894d24ffb4eb3d0b23b8bfb088b2b6f43fb6f71d17700d9f80dab2ed56dc51c5bef329ba6bb'
- 'c8f96bafb0ba3fd8946ac791b09e75cae54dc1a8e02822f91ca70a77a8ba45b253a83c4db30f9cfbf0658a2608b38e6de3d00f1d832ef676f329a78e69eab3e7'
+ '32d11156b63f780fe530ca408e8f2c36c7cb761427992526a70819e24ebc042813f9001b1d822847ffe22e6aec34420f215c8bf21ca73905747537ef4ab7e905'
'19ee3646bfbace353b65c0373594edb654de11c9671f29cebad3b31109f29f94ade1d529d9f409b0989c376bef9b451585b22a1e0ac4295fcc92d9565f808418'
'5203f6331f740ecfcea2a2cc653603ae97419baa89e08512f9d8feb63e4a52978442a69b313eccd9037b676a62ab528e2b533c0fb95a9c7177318279fe0cde79'
- '73132ec613e05c8ed7ebe4eda2395f1ea0733ffe94ba7e203e06246d5852139bbfb7a9073b2b01891282339a2f85676699cd889cde79d6317066e27fd65b1d67'
- 'fc932d62dc86be6af1c335b1cb712f3a4f99515393fcb1e3de1fd464583d0c63a5b13233a0b1f7b6cfae0f7be6b337a10009925bfe9b016e92076f1768cdf271')
+ 'b7e84172bdb791e3a065b2593e63f3f4a017481d4321d28cdc528f88447f9c591a9ac58ccec828e76cb4ec3eacfa0acd8e3645f82e6065f80e4fec06cead67d9'
+ 'a1022e06a3d8567b31c9670b817a4751ad9f14242ce7ee69f184a459c667ec2334dcd259410de38fc75a0f9a65c0a033d737cf0b73abcf37f5de073db9560035')
_game="minecraft"
_server_root="/srv/minecraft"
diff --git a/minecraftd-backup.service b/minecraftd-backup.service
index 830d5ab3222f..7644a2c03376 100644
--- a/minecraftd-backup.service
+++ b/minecraftd-backup.service
@@ -3,7 +3,7 @@ Description=Minecraft Server World Backup
After=local-fs.target
[Service]
-Type=forking
+Type=simple
ExecStart=/usr/bin/minecraftd backup
User=minecraft
Group=minecraft
diff --git a/minecraftd.conf b/minecraftd.conf
index dd85d162c608..ab934af18883 100644
--- a/minecraftd.conf
+++ b/minecraftd.conf
@@ -5,6 +5,7 @@
SERVER_ROOT="/srv/minecraft"
BACKUP_DEST="/srv/minecraft/backup"
BACKUP_PATHS="world" # World paths separated by spaces relative to SERVER_ROOT
+BACKUP_FLAGS="-z"
KEEP_BACKUPS="10"
GAME_USER="minecraft"
MAIN_EXECUTABLE="minecraft_server.jar"
diff --git a/minecraftd.sh b/minecraftd.sh
index 1f3ed170d0a6..5d285d97cec3 100755
--- a/minecraftd.sh
+++ b/minecraftd.sh
@@ -12,6 +12,7 @@ declare -r game="minecraft"
[[ -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="minecraft"
[[ -n "${MAIN_EXECUTABLE}" ]] && declare -r MAIN_EXECUTABLE=${MAIN_EXECUTABLE} || MAIN_EXECUTABLE="minecraft_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"