Files
minecraft-lab/docs/phase1-results.md
2026-10-04 00:30:09 +07:00

3.7 KiB
Raw Permalink Blame History

Phase 1: каркас проекта

Phase 1 завершена для рабочей основы NeoForge 21.1.252 / Minecraft 1.21.1.

Каркас

  • platform/config.yaml: schema version, pack/output paths, server defaults, будущий SSH deployment target. Host/directory не заданы.
  • platform/schemas/: место для будущей схемы вместе с parser в Phase 2.
  • pack/: проверенный packwiz source без изменения версий и состава модов.
  • server/: Compose, .env.example, явно подключаемый override template.
  • scripts/: минимальные spike-инструменты; основного CLI пока нет.
  • docs/, examples/, testdata/: результаты и материалы воспроизведения.
  • dist/, runtime/: только .gitkeep включается в source.

server.properties генерируется из Compose environment, поэтому отдельный source-файл не создан. Дополнительные pack-директории создаются по мере появления контента; пустые файлы не добавляются в экспорт. Makefile и команды deploy/backup/rollback появятся в соответствующих фазах, без пустых заглушек.

Platform manifest пока не читается spike-скриптами. Текущий runtime использует env-файлы; подключение manifest и validation относятся к Phase 2.

Проверка на чистом clone

Из неигнорируемых файлов рабочего дерева создан временный Git snapshot в .tools/phase1-check.0Od3T1/source, затем выполнен локальный git clone в соседний clone/. Основной репозиторий не коммитился и не менял index. В clone отсутствовали прежние .tools/, runtime state, backups и .env.

Пройдены:

  1. scripts/spike-tools.sh: новые downloads packwiz и Compose; архив/бинарники совпали с закреплёнными SHA256, Compose v5.6.0.
  2. packwiz refresh: успешен, git diff --exit-code -- pack подтвердил отсутствие изменений metadata после refresh/export/build.
  3. packwiz modrinth export: успешен, ZIP содержит index и pack config.
  4. scripts/spike-server.sh config --quiet: основной Compose валиден.
  5. То же с -f server/compose.override.yaml.example: слой overrides валиден.
  6. scripts/spike-build.sh: экспорт в новый dist/ с SHA256SUMS успешен.
  7. Bash syntax и git diff --check: успешны.
  8. git check-ignore: runtime, dist, tools, backups, локальные .env и активный override игнорируются; .env.example не игнорируется.

Проверка Compose не запускала сервер; активный мир и артефакт не изменены. Точный порядок работы для нового checkout описан в корневом README.

Bootstrap использует закреплённый GitHub Actions artifact packwiz; такие артефакты имеют ограниченный срок хранения. Для долгосрочного bootstrap потребуется постоянное хранение проверенного бинарника либо сборка закреплённого commit. Текущий URL проверен свежим скачиванием.