Update clear-ground-items-hourly.sh script to correct item entity type from 'minecraft:item' to 'item' for improved clarity and consistency in RCON commands.

This commit is contained in:
Leonid Pershin
2026-05-09 22:25:34 +03:00
parent 26757e96e2
commit 5de402209b
2 changed files with 15 additions and 8 deletions
+10 -7
View File
@@ -1,20 +1,23 @@
#!/usr/bin/env bash
# Почасовая очистка выброшенных на земле предметов (сущность minecraft:item) через RCON
# Почасовая очистка выброшенных на земле предметов (сущность item) через RCON
# с тем же графиком предупреждений, что и restart-scheduled.sh (10 / 5 / 1 мин, 30 с, 5…1).
#
# Требования: RCON как в restart-scheduled.sh (mcrcon или rcon), server.properties,
# сервер в systemd active (по умолчанию unit minecraft).
#
# Расписание — каждый час, например в начале часа:
# 0 * * * * /usr/bin/bash /opt/PupaMLupa/Server/clear-ground-items-hourly.sh >>/var/log/mc-clear-items.log 2>&1
# Чтобы не пересекаться по времени с перезапуском в 00:00 / 06:00 / 12:00 / 18:00, можно сместить:
# 30 * * * * .../clear-ground-items-hourly.sh ...
# Расписание (cron достаточно, отдельная блокировка между скриптами не обязательна):
# Перезапуск обычно: 0 */6 * * * → в :00 часов 0, 6, 12, 18.
# Очистку не ставьте в те же :00 — иначе ~10 минут предупреждений пересекутся.
# Рекомендуется каждый час в половине часа (после типичного перезапуска уже всё тихо):
# 30 * * * * /usr/bin/bash /opt/PupaMLupa/Server/clear-ground-items-hourly.sh >>/var/log/mc-clear-items.log 2>&1
# Другой вариант — одна фиксированная минута, не кратная 6-часовому перезапуску, например:
# 17 * * * * … (каждый час в :17)
#
# Переменные окружения (необязательно):
# MINECRAFT_SERVICE — unit systemd (по умолчанию: minecraft)
# RCON_HOST, RCON_PORT, RCON_PASSWORD, RCON_TIMEOUT — как в restart-scheduled.sh
# CLEAR_ITEMS_RCON_CMD — команда консоли без ведущего / (по умолчанию:
# kill @e[type=minecraft:item])
# kill @e[type=item] — то же, что /kill в игре)
set -euo pipefail
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PATH:-}"
@@ -26,7 +29,7 @@ MINECRAFT_SERVICE="${MINECRAFT_SERVICE:-minecraft}"
RCON_HOST="${RCON_HOST:-127.0.0.1}"
RCON_TIMEOUT="${RCON_TIMEOUT:-60s}"
RCON_CLIENT=""
CLEAR_ITEMS_RCON_CMD="${CLEAR_ITEMS_RCON_CMD:-kill @e[type=minecraft:item]}"
CLEAR_ITEMS_RCON_CMD="${CLEAR_ITEMS_RCON_CMD:-kill @e[type=item]}"
LOCK_FILE="${SCRIPT_DIR}/.clear-ground-items-hourly.lock"
PROPS="${SCRIPT_DIR}/server.properties"