aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGordian Edenhofer2021-08-28 19:12:54 +0200
committerGordian Edenhofer2021-08-28 19:12:54 +0200
commitc8486ae490bfc2e6922466b273e461e9b41b2483 (patch)
tree37ae14344e10c4ee805cb2f3183139e9cd9613a6
parentce8d2b69e85568bed0fe5c878de383f39d18501f (diff)
downloadaur-c8486ae490bfc2e6922466b273e461e9b41b2483.tar.gz
upgpkg: minecraft-server 1.17.1-2
Do not lock the minecraft server session if an administrator is connected to the console. Instead, re-introduce the admin check in the idle-server daemon to verify whether it is safe to shut down the server. Resolves #12. upgpkg: cuberite 1.12.2c0_094cd61-3 upgpkg: cuberite-bin 1.12.2b258-3 upgpkg: papermc 1.17.1+b100-3 upgpkg: spigot 1.17.1+b131-3
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD2
-rwxr-xr-xminecraftd.sh7
3 files changed, 6 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 01c76c142b67..38e005e80f45 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -32,6 +32,6 @@ pkgbase = minecraft-server
sha512sums = a62c8c04e08dbac0db0aa2eeb505d70f8fd925bd2e427899512ba3ac828d4644e1c43c8d92325c6bc49c8d9ecb40cb5c44bf5957a63980b1e2cf86fdb38a05a7
sha512sums = a74f4e31065b6c6f5c830182de05a8c75a6de6eaac7b3dc26479827646ef20ab872509aac88be613048c97d378711c38612ec7ac92d22134acefd40f6e0a99da
sha512sums = 30e434ba183527da8047b1ffe403a083f1af34dbd229b5871222e9da0004cdf5d4152eaa4b73215befcb1233d08cc757af32ad6b572f4b6d2a623b6f120aa0d9
- sha512sums = c18b6c28095a6195edfbf782c2e0f2caed59692d837d9cb4599ee0458f9ac658006c181ccda31cf078a7864676897163d6458e217c453bd637dadfe9ddd25d0b
+ sha512sums = 52ff440342aa218e81aaca452db2e7a867809e3dc4a99b3726aa7189ed38a9e08e838475d60578e87dda90fa0ece86ea6d496ab3ef901365dc9e809c548ea281
pkgname = minecraft-server
diff --git a/PKGBUILD b/PKGBUILD
index e4a372db8d59..02356a66330a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -32,7 +32,7 @@ sha512sums=('fe6e48e2cee38224d2c88f04c19afca9c21fddbe6077b5538e0a0581c2f6c4478ec
'a62c8c04e08dbac0db0aa2eeb505d70f8fd925bd2e427899512ba3ac828d4644e1c43c8d92325c6bc49c8d9ecb40cb5c44bf5957a63980b1e2cf86fdb38a05a7'
'a74f4e31065b6c6f5c830182de05a8c75a6de6eaac7b3dc26479827646ef20ab872509aac88be613048c97d378711c38612ec7ac92d22134acefd40f6e0a99da'
'30e434ba183527da8047b1ffe403a083f1af34dbd229b5871222e9da0004cdf5d4152eaa4b73215befcb1233d08cc757af32ad6b572f4b6d2a623b6f120aa0d9'
- 'c18b6c28095a6195edfbf782c2e0f2caed59692d837d9cb4599ee0458f9ac658006c181ccda31cf078a7864676897163d6458e217c453bd637dadfe9ddd25d0b')
+ '52ff440342aa218e81aaca452db2e7a867809e3dc4a99b3726aa7189ed38a9e08e838475d60578e87dda90fa0ece86ea6d496ab3ef901365dc9e809c548ea281')
_game="minecraft"
_server_root="/srv/minecraft"
diff --git a/minecraftd.sh b/minecraftd.sh
index cd696721ab7a..90e6f94d17ef 100755
--- a/minecraftd.sh
+++ b/minecraftd.sh
@@ -122,7 +122,10 @@ idle_server_daemon() {
if socket_has_session "${SESSION_NAME}"; then
# Game server is up and running
# Check for active player
- if SUDO_CMD="" is_player_online; then
+ if [[ -n "$(tmux -L "${SESSION_NAME}" list-clients -t "${SESSION_NAME}":0.0 2> /dev/null)" ]]; then
+ # An administrator is connected to the console, pause player checking
+ echo "An admin is connected to the console. Pause player checking."
+ elif SUDO_CMD="" is_player_online; then
# No player was seen on the server through list
no_player=$(( no_player + CHECK_PLAYER_TIME ))
# Stop the game server if no player was active for at least ${IDLE_IF_TIME}
@@ -417,9 +420,7 @@ server_command() {
# Enter the tmux game session
server_console() {
if socket_has_session "${SESSION_NAME}"; then
- ${SUDO_CMD} tmux -L "${SESSION_NAME}" wait-for -L "command_lock"
${SUDO_CMD} tmux -L "${SESSION_NAME}" attach -t "${SESSION_NAME}":0.0
- ${SUDO_CMD} tmux -L "${SESSION_NAME}" wait-for -U "command_lock"
else
echo "There is no ${SESSION_NAME} session to connect to."
fi