Enhance install-service.sh with Java version checks and installation instructions; update Russian translations in resource packs for improved localization of item names and descriptions.
This commit is contained in:
@@ -125,6 +125,49 @@ fi
|
||||
|
||||
chmod +x "${SERVER_DIR}/start.sh" "${SERVER_DIR}/run.sh" 2>/dev/null || true
|
||||
|
||||
# 3c. Проверка Java. start.sh иначе попытается интерактивно поставить
|
||||
# Jabba и упадёт в systemd с "User did not agree to Jabba installation".
|
||||
REQUIRED_JAVA_VERSION="$(grep -E '^RECOMMENDED_JAVA_VERSION=' "${SERVER_DIR}/variables.txt" 2>/dev/null \
|
||||
| cut -d= -f2 | tr -d '"' | head -n1)"
|
||||
REQUIRED_JAVA_VERSION="${REQUIRED_JAVA_VERSION:-21}"
|
||||
|
||||
if ! command -v java >/dev/null 2>&1; then
|
||||
cat >&2 <<EOF
|
||||
|
||||
============================ ВНИМАНИЕ ============================
|
||||
В системе не найдена команда 'java'. start.sh попытается поставить
|
||||
её через Jabba, но Jabba требует интерактивного 'I agree', которого
|
||||
в systemd нет. Сервис будет бесконечно перезапускаться.
|
||||
|
||||
Установите Java ${REQUIRED_JAVA_VERSION} системно перед запуском:
|
||||
|
||||
# Debian/Ubuntu (родной пакет, если доступен):
|
||||
sudo apt update && sudo apt install -y openjdk-${REQUIRED_JAVA_VERSION}-jre-headless
|
||||
|
||||
# Альтернатива — Temurin от Adoptium:
|
||||
sudo apt install -y wget gnupg ca-certificates
|
||||
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public \\
|
||||
| sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb \$(. /etc/os-release && echo \$VERSION_CODENAME) main" \\
|
||||
| sudo tee /etc/apt/sources.list.d/adoptium.list
|
||||
sudo apt update && sudo apt install -y temurin-${REQUIRED_JAVA_VERSION}-jre
|
||||
|
||||
После установки запустите этот скрипт повторно.
|
||||
====================================================================
|
||||
|
||||
EOF
|
||||
err "java не найдена в PATH. Установите Java ${REQUIRED_JAVA_VERSION} и повторите."
|
||||
fi
|
||||
|
||||
JAVA_MAJOR="$(java -version 2>&1 | awk -F\" '/version/ {print $2}' | cut -d. -f1)"
|
||||
if [[ "${JAVA_MAJOR}" == "1" ]]; then
|
||||
JAVA_MAJOR="$(java -version 2>&1 | awk -F\" '/version/ {print $2}' | cut -d. -f2)"
|
||||
fi
|
||||
if [[ "${JAVA_MAJOR}" != "${REQUIRED_JAVA_VERSION}" ]]; then
|
||||
echo ">> ВНИМАНИЕ: установлена Java ${JAVA_MAJOR}, ожидалась ${REQUIRED_JAVA_VERSION}." >&2
|
||||
echo " Сервер может не стартовать. Рекомендуется поставить openjdk-${REQUIRED_JAVA_VERSION}-jre-headless." >&2
|
||||
fi
|
||||
|
||||
# 4. Создание пользователя при необходимости
|
||||
if ! id -u "${SERVICE_USER}" >/dev/null 2>&1; then
|
||||
echo ">> Создаю системного пользователя ${SERVICE_USER}..."
|
||||
|
||||
Reference in New Issue
Block a user