first cycle lab release
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Phase 4: server runtime
|
||||
|
||||
Phase 4 завершена для NeoForge 21.1.252 / Minecraft 1.21.1. Full release
|
||||
0.0.4 реально запущен с пустой директорией данных через `scripts/server.sh`.
|
||||
|
||||
## Реальная Docker-проверка
|
||||
|
||||
- Server root: `.tools/phase4-server`, project: `minecraft-lab-phase4`.
|
||||
- Настройки: EULA=TRUE по ранее полученному принятию, UID/GID=1000:1000,
|
||||
memory=2G, IPv4 loopback port=25566.
|
||||
- Первый `up -d --wait --wait-timeout 600` завершился healthy. Лог подтвердил
|
||||
создание нового мира, Minecraft 1.21.1, NeoForge 21.1.252, Backpacks 3.26.7
|
||||
и Core 1.5.5. Mouse Tweaks отсутствовал в серверных JAR.
|
||||
- Docker inspect подтвердил обычные абсолютные bind mounts: host runtime
|
||||
→ `/data` rw, release → `/modpacks` ro, server/config → `/config` ro.
|
||||
- `world/level.dat` принадлежит 1000:1000. Pack загружен из `.mrpack`,
|
||||
server override marker=`server-override-v1`, `online-mode=false` и
|
||||
`enforce-secure-profile=false` подтверждены.
|
||||
- Restart того же контейнера завершился healthy.
|
||||
- После остановки и `create --force-recreate` все 23 файла мира совпали
|
||||
по путям/SHA256 до нового запуска. Неуправляемый config marker сохранился.
|
||||
- Вновь запущенный контейнер healthy; mc-health отвечает Minecraft 1.21.1.
|
||||
- Финальная версия wrapper дополнительно проверена реальным up/exec/down
|
||||
после добавления проверки принадлежности Compose project.
|
||||
- Тестовый контейнер/network удалены через down, runtime и binding сохранены.
|
||||
Основной сервер на 25565 не пересоздавался и остался healthy.
|
||||
|
||||
Свидетельства: `.tools/phase4-evidence/first-start.log`, `mounts.json`,
|
||||
`before-recreate-world.json`, `recreate-verification.txt`,
|
||||
`recreated-start.log`. Test root остаётся пригодным для последующих проверок.
|
||||
|
||||
## Автоматические проверки
|
||||
|
||||
`npm test`: 25 тестов. Новые runtime tests используют controlled Compose/Docker
|
||||
substitutes и проверяют integrity/coverage, EULA/UID/GID, immutable binding,
|
||||
смену release/project, защиту существующего мира, failed startup/exit code,
|
||||
operation lock, offline/bind contract, paths и конфликт project другого root.
|
||||
Build/mod regression tests также проходят. Реальная Docker-проверка выше
|
||||
подтверждает integration, которую substitutes сами по себе не доказывают.
|
||||
|
||||
Bash/Node syntax и `git diff --check` пройдены. Backup, миграция существующего
|
||||
мира, remote deployment и расширенная диагностика healthcheck не реализуются
|
||||
этим этапом. Контракт и команды — [runtime.md](runtime.md).
|
||||
Reference in New Issue
Block a user