Files

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-0017 Добавить reconnect/resume после дисконнекта с сохранением позиции Реализовать BackLog-задачу на восстановление игрока после дисконнекта с возвратом в мир и сохранением позиции, состояния и привязки к сессии. Medium networking unassigned 2026-03-30 2026-03-30 1d
TASK-0002
TASK-0004
TASK-0013
docs/tasks/Index.md
Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity

TASK-0017 - Добавить reconnect/resume после дисконнекта с сохранением позиции

Status

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

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

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

Why

Reconnect/resume нужен для более устойчивого кооператива, но не блокирует первый MVP. Поэтому задача вынесена в BackLog.

Expected Outcome

Игрок после дисконнекта может вернуться в ту же сессию и получить корректное восстановление позиции и session-relevant state без дублирования персонажа.

Current Context

Сначала должны появиться рабочие flow подключения, выбор мира и базовые сохранения игрока/мира.

Source Of Truth

  • docs/tasks/items/TASK-0002.md
  • docs/tasks/items/TASK-0004.md
  • docs/tasks/items/TASK-0013.md

Read First

  • docs/tasks/items/TASK-0002.md
  • docs/tasks/items/TASK-0004.md
  • docs/tasks/items/TASK-0013.md

Scope In

  • reconnect flow после временного разрыва связи
  • сохранение и восстановление позиции персонажа
  • предотвращение duplicate player session
  • базовые timeout/resume rules

Scope Out

  • полнофункциональный drop-in/drop-out service layer
  • миграция сессии между серверами

Constraints

  • восстановление не должно ломать server authority
  • session resume должен уважать разделение player/world saves

If You Find Drift

  • если базовый join flow не готов, задача остается в BackLog и не тянет за собой преждевременные костыли

Suggested Approach

  1. Определить session resume token или эквивалентный идентификатор возврата.
  2. Описать правила сохранения позиции и временного session state.
  3. Реализовать безопасный reconnect без дублей персонажа.

Acceptance Criteria

  • игрок может переподключиться после дисконнекта и продолжить с близкой сохраненной позиции
  • в мире не остается дублированных экземпляров персонажа
  • reconnect flow не ломает существующий lobby/world selection pipeline

Verification

  • ручной сценарий: подключиться, сместиться, разорвать связь, переподключиться, проверить resume

Risks / Open Questions

  • нужно определить, хранится ли позиция resume в player save, world session state или в отдельном session cache

Human Decisions Needed

  • none currently

Decision Log

  • 2026-03-30 - задача добавлена в BackLog по явному запросу пользователя.

Handoff Notes

Не поднимать приоритет до готовности базового сетевого flow и persistence layer.