4.1 KiB
4.1 KiB
id, title, summary, priority, area, owner, created, updated, execution_time, depends_on, canonical_docs, related_files
| id | title | summary | priority | area | owner | created | updated | execution_time | depends_on | canonical_docs | related_files | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-0002 | Реализовать сетевой bootstrap, лобби и выбор мира | Поднять базовую сетевую инфраструктуру FishNet для хоста и клиента, лобби, выбора мира и подготовки игрока к входу в сессию. | Highest | networking | unassigned | 2026-03-30 | 2026-03-30 | 1d |
|
|
|
TASK-0002 - Реализовать сетевой bootstrap, лобби и выбор мира
Status
Статус задачи ведется в docs/tasks/Index.md и является каноническим там.
Допустимые значения статуса:
BackLogToDoInProgressReviewDone
Why
Без минимального сетевого bootstrap нельзя проверить ни совместную генерацию мира, ни синхронизацию персонажей, ни join flow из меню.
Expected Outcome
Игрок может запустить host/server, подключиться клиентом в лобби, выбрать мир и перейти в игровую сессию через FishNet по фиксированному сценарию подключения.
Current Context
В проекте уже есть каноническая voxel-сцена и runtime worldgen, но сетевой bootstrap и lobby flow еще не оформлены.
Source Of Truth
docs/tasks/Index.md- решения из
TASK-0001 - реальный runtime-код FishNet после внедрения
Read First
docs/tasks/items/TASK-0001.mdAssets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity
Scope In
- интеграция базового startup flow FishNet
- host/client connect flow
- переход через лобби к выбору мира
- серверное создание player session после выбора мира
Scope Out
- reconnect/resume после дисконнекта
- матчмейкинг, dedicated fleet и внешний backend
Constraints
- сервер должен быть источником истины для подключения к миру
- flow должен быть совместим с моделью Terraria-style: любой персонаж может зайти в любой мир
If You Find Drift
- если текущая voxel-сцена мешает lobby/world selection flow, зафиксируйте это и вынесите сценовую декомпозицию в подзадачи реализации
Suggested Approach
- Внедрить FishNet и описать базовый boot pipeline.
- Сделать простое лобби с переходом к выбору мира.
- Добавить создание сетевой player session и вход в выбранную world session.
Acceptance Criteria
- host может поднять сессию и принять клиента
- клиент может выбрать мир и корректно появиться в нем
- сетевой flow не привязывает персонажа к одному сохранению мира
Verification
- ручная проверка host/client connect flow
- проверка, что выбранный мир доступен в runtime join pipeline
Risks / Open Questions
- потребуется раннее решение, использовать ли single-scene или multi-scene world session flow
Human Decisions Needed
- none currently
Decision Log
2026-03-30- лобби и выбор мира зафиксированы как часть сетевого bootstrap, а не отдельный поздний UI task.
Handoff Notes
Дальнейшие UI-задачи должны использовать этот network flow как канонический сценарий подключения.