[Add] New Tasks (The tasks have not been verified)
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
---
|
||||
id: TASK-0020
|
||||
title: Добавить серверные ограничения и валидации против читов
|
||||
summary: Реализовать BackLog-задачу на server-side validation сетевых команд, защиту от некорректных клиентских состояний и базовые античит-ограничения для MVP.
|
||||
priority: High
|
||||
area: security
|
||||
owner: unassigned
|
||||
created: 2026-03-30
|
||||
updated: 2026-03-30
|
||||
execution_time: 1d
|
||||
depends_on:
|
||||
- TASK-0002
|
||||
- TASK-0008
|
||||
- TASK-0009
|
||||
- TASK-0010
|
||||
canonical_docs:
|
||||
- docs/tasks/Index.md
|
||||
related_files:
|
||||
- Assets/Scenes/SampleScene.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
|
||||
|
||||
Даже до выполнения этой задачи новые сетевые команды желательно проектировать так, чтобы их было легко валидировать на сервере.
|
||||
Reference in New Issue
Block a user