Initial commit

This commit is contained in:
2026-07-15 07:29:14 +03:00
commit fb3aadb1f5
123 changed files with 1469 additions and 0 deletions

33
bash/export-serverpack.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
set -euo pipefail
pakku() { pakku-mc "$@"; }
# Определяем директории
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
REPO_ROOT="${SCRIPT_DIR}/.."
SOURCE_ZIP="${REPO_ROOT}/build/serverpack/*.zip"
TARGET_DIR="/home/dimti/Seafile/minecraft/installers/m2110"
cd "${REPO_ROOT}" || exit 1
pakku export
# Проверяем, существует ли архив
if ls ${SOURCE_ZIP} 1> /dev/null 2>&1; then
echo "Нашел архив серверной сборки: ${SOURCE_ZIP}"
else
echo "Ошибка: Архив серверной сборки не найден в ${SOURCE_ZIP}"
exit 1
fi
# Очищаем целевые папки mods и config
echo "Очистка папок mods и config в ${TARGET_DIR}..."
rm -rf "${TARGET_DIR}/mods"
rm -rf "${TARGET_DIR}/config"
# Распаковываем архив в целевую директорию
echo "Распаковка архива в ${TARGET_DIR}..."
unzip -o ${SOURCE_ZIP} -d "${TARGET_DIR}"
echo "Синхронизация завершена успешно."

View File

@ -0,0 +1,15 @@
#!/bin/bash
#
# Downloading mods to local folder
# @see https://juraj-hrivnak.github.io/Pakku/pakku-fetch.html
# Следует использовать после команды sync,
# которая синхронизирует локальные моды с регистром pakku
#
set -eu pipefail
pakku() { pakku-mc "$@"; }
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
REPO_ROOT="${SCRIPT_DIR}/.."
cd "${REPO_ROOT}" || exit 1
pakku fetch --shelve && mv .pakku/shelf/* mods/

48
bash/sync-with-shelve.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
#
# Синххронизация локальных модов с текущей сборкой
# Можно запускать эту команды после добавления новых модов в сборку
# https://juraj-hrivnak.github.io/Pakku/pakku-sync.html
#
set -eu pipefail
pakku() { pakku-mc "$@"; }
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
REPO_ROOT="${SCRIPT_DIR}/.."
cd "${REPO_ROOT}" || exit 1
# Массив ключевых слов для идентификации кастомных модов
CUSTOM_MOD_KEYWORDS=(
"advanced-xray"
"easy-install"
"mobility"
)
# Папка для временного хранения кастомных модов
SHELF_DIR=".pakku/shelf"
mkdir -p "${SHELF_DIR}"
# Функция для перемещения кастомных модов в карман
shelve_custom_mods() {
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
find mods -name "*${keyword}*" -type f -exec mv -v {} "${SHELF_DIR}" \;
done
}
# Функция для возврата кастомных модов обратно
restore_custom_mods() {
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
find "${SHELF_DIR}" -name "*${keyword}*" -type f -exec mv -v {} mods \;
done
}
# Перемещаем кастомные моды в карман перед синхронизацией
shelve_custom_mods
pakku sync
# Возвращаем кастомные моды обратно
restore_custom_mods
# Перемещаем оставшиеся моды из кармана pakku
mv .pakku/shelf/* mods/ 2>/dev/null || true