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

4.5 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-0020 Добавить серверные ограничения и валидации против читов Реализовать BackLog-задачу на server-side validation сетевых команд, защиту от некорректных клиентских состояний и базовые античит-ограничения для MVP. High security unassigned 2026-03-30 2026-03-30 1d
TASK-0002
TASK-0008
TASK-0009
TASK-0010
docs/tasks/Index.md
Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity

TASK-0020 - Добавить серверные ограничения и валидации против читов

Status

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

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

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

Why

Даже для MVP нельзя полностью доверять клиенту в вопросах перемещения, инвентаря, применения оружия и навыков. Базовые валидации должны существовать на сервере.

Expected Outcome

Сервер проверяет основные клиентские команды и не принимает некорректные действия: невозможное перемещение, запрещенное использование предметов, недопустимую установку книг, фальшивые попадания и другие очевидные нарушения.

Current Context

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

Source Of Truth

  • docs/tasks/items/TASK-0002.md
  • docs/tasks/items/TASK-0008.md
  • docs/tasks/items/TASK-0009.md
  • docs/tasks/items/TASK-0010.md

Read First

  • docs/tasks/items/TASK-0002.md
  • docs/tasks/items/TASK-0008.md
  • docs/tasks/items/TASK-0009.md
  • docs/tasks/items/TASK-0010.md

Scope In

  • validation для movement и interaction commands
  • validation для inventory/equipment изменений
  • validation для использования оружия и навыков
  • базовые rate limits и sanity checks

Scope Out

  • полноценная внешняя античит-служба
  • поведенческий анализ и ban pipeline

Constraints

  • сервер остается источником истины для state transitions
  • проверки должны быть дешевыми и не ломать игровой loop MVP

If You Find Drift

  • если новые команды добавляются без server-side validation, это drift

Suggested Approach

  1. Перечислить критичные клиентские команды по подсистемам.
  2. Добавить server-side guards и rejection rules.
  3. Подготовить базовое логирование отказов и подозрительных случаев.

Acceptance Criteria

  • сервер отклоняет очевидно неверные клиентские действия
  • inventory, weapon и skill команды валидируются по server state
  • система не позволяет клиенту самовольно изменять критичные runtime states

Verification

  • ручная проверка некорректных сценариев через debug commands или подмену входных данных

Risks / Open Questions

  • нужно определить минимальный набор проверок, который даст наибольшую ценность без сильного замедления разработки MVP

Human Decisions Needed

  • none currently

Decision Log

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

Handoff Notes

Даже до выполнения этой задачи новые сетевые команды желательно проектировать так, чтобы их было легко валидировать на сервере.