Skip to content

Repository files navigation

InnoMcModpack2

Репозиторий содержит файлы модпака и скрипт для подготовки отдельных клиентской и серверной сборок.

Локальная сборка

Требуется Python 3. Запускайте команды строго из корня репозитория: скрипт использует текущий рабочий каталог как источник файлов.

# Собрать клиент и сервер
python build_pack.py

# Собрать только клиент
python build_pack.py client

# Собрать только сервер
python build_pack.py server

# Задать каталог результата для одного режима
python build_pack.py client -o C:\Temp\InnoMcModpack2-client

По умолчанию результаты создаются в build/client и build/server. Локальная сборка создаёт каталоги с готовыми файлами, а не ZIP-архивы.

Внимание: перед сборкой целевой каталог полностью удаляется и создаётся заново. Не указывайте через -o каталог с ценными файлами. Параметр -o применяется только при сборке одного режима (client или server) и игнорируется при сборке обоих режимов.

Если запуск выполняется внутри Git-репозитория, скрипт предварительно вызывает git lfs pull. При недоступном Git LFS сборка продолжится с уже имеющимися локальными файлами, поэтому перед публикацией проверьте, что LFS-объекты загружены.

Состав сборок

  • Клиент: корень репозитория, отфильтрованный правилами .packignore.
  • Сервер: корень репозитория, отфильтрованный сначала .packignore, затем .client_files.
  • При базовом копировании всегда исключаются .git, .github, .idea, build, __pycache__, .client_files, .packignore, server_pack и build_pack.py, независимо от правил фильтрации.
  • После основной серверной копии содержимое server_pack/ рекурсивно накладывается поверх результата. Файлы с теми же путями перезаписываются; правила .packignore и .client_files к этому overlay не применяются.
  • Сам каталог server_pack/ не попадает в базовую клиентскую или серверную копию: его содержимое добавляется только финальным серверным overlay.
  • .gitignore влияет только на Git и не управляет составом сборок.

Практическое размещение файлов:

Назначение Что сделать
Клиент и сервер Хранить файл в корне репозитория и не исключать его правилами.
Только клиент Хранить файл в корне и добавить его путь в .client_files.
Только сервер Хранить файл по нужному относительному пути внутри server_pack/.
Ни одна сборка Добавить путь в .packignore.

В .packignore и .client_files указывайте по одному шаблону на строку. Пустые строки и строки, начинающиеся с #, игнорируются. Правила применяются по порядку, поэтому более позднее совпадение имеет приоритет; правило с ! может повторно включить ранее исключённый путь, только если обход не был остановлен на исключённом родительском каталоге.

CI и релизы

GitHub Actions собирает оба режима и публикует артефакты client-pack и server-pack. Для тегов вида v* содержимое сборок дополнительно упаковывается в ZIP-файлы и прикладывается к GitHub Release.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages