Files
TheDeclineOfWarriors/docs/tasks/items/TASK-0002.md
T

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-0001
docs/tasks/Index.md
Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity

TASK-0002 - Реализовать сетевой bootstrap, лобби и выбор мира

Status

Статус задачи ведется в docs/tasks/Index.md и является каноническим там.

Допустимые значения статуса:

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

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.md
  • Assets/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

  1. Внедрить FishNet и описать базовый boot pipeline.
  2. Сделать простое лобби с переходом к выбору мира.
  3. Добавить создание сетевой 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 как канонический сценарий подключения.