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:
Leonid Pershin
2026-05-08 11:52:51 +03:00
parent a8a3e20ceb
commit 01d3afb190
4 changed files with 50 additions and 7 deletions
+43
View File
@@ -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}..."
@@ -1,4 +1,4 @@
{
"example_mod.configuration.client": "client",
"example_mod.configuration.example": "example"
"example_mod.configuration.client": "клиент",
"example_mod.configuration.example": "пример"
}
@@ -1,11 +1,11 @@
{
"item.integrated_stronghold.music_disc_sight": "Пластинка",
"item.integrated_stronghold.music_disc_sight.desc": "Cama - sight",
"item.integrated_stronghold.music_disc_sight.desc": "Cama - Sight",
"item.integrated_stronghold.music_disc_forlorn": "Пластинка",
"item.integrated_stronghold.music_disc_forlorn.desc": "Cama - Forlorn",
"jukebox_song.integrated_stronghold.sight": "Cama - sight",
"jukebox_song.integrated_stronghold.sight": "Cama - Sight",
"jukebox_song.integrated_stronghold.forlorn": "Cama - Forlorn",
"item.integrated_stronghold.disc_fragment_sight": "Фрагмент пластинки",
"item.integrated_stronghold.disc_fragment_sight.desc": "Пластинка - sight",
"itemGroup.integrated_stronghold": "Integrated Stronghold"
"item.integrated_stronghold.disc_fragment_sight.desc": "Пластинка — Sight",
"itemGroup.integrated_stronghold": "Интегрированная крепость"
}
@@ -1,5 +1,5 @@
{
"simplytooltips.key.category": "Simply Tooltips",
"simplytooltips.key.category": "Простые подсказки",
"key.simplytooltips.cycle_tab": "Переключить вкладку подсказки",
"key.simplytooltips.capture_gif": "Записать GIF подсказки"
}