4.5 KiB
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-0020 - Добавить серверные ограничения и валидации против читов
Status
Статус задачи ведется в docs/tasks/Index.md и является каноническим там.
Допустимые значения статуса:
BackLogToDoInProgressReviewDone
Why
Даже для MVP нельзя полностью доверять клиенту в вопросах перемещения, инвентаря, применения оружия и навыков. Базовые валидации должны существовать на сервере.
Expected Outcome
Сервер проверяет основные клиентские команды и не принимает некорректные действия: невозможное перемещение, запрещенное использование предметов, недопустимую установку книг, фальшивые попадания и другие очевидные нарушения.
Current Context
На раннем этапе достаточно базовых ограничений. Полноценный античит не нужен для первого MVP, поэтому задача в BackLog.
Source Of Truth
docs/tasks/items/TASK-0002.mddocs/tasks/items/TASK-0008.mddocs/tasks/items/TASK-0009.mddocs/tasks/items/TASK-0010.md
Read First
docs/tasks/items/TASK-0002.mddocs/tasks/items/TASK-0008.mddocs/tasks/items/TASK-0009.mddocs/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
- Перечислить критичные клиентские команды по подсистемам.
- Добавить server-side guards и rejection rules.
- Подготовить базовое логирование отказов и подозрительных случаев.
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
Даже до выполнения этой задачи новые сетевые команды желательно проектировать так, чтобы их было легко валидировать на сервере.