Загрузка данных


Используй wayfinder для подготовки разработки собственного GTA V DM-сервера.

Setup уже выполнен. Сначала прочитай AGENTS.md и указанную в нём документацию, настройки трекера, существующие контексты и архитектурные решения. Не повторяй настройку и не создавай дубликаты документов.

Цель:
Определить границы первой играбельной версии, разрешить мешающие разработке вопросы и подготовить основу для to-spec → to-tickets → implement. Сейчас не начинай полноценную реализацию; технические прототипы допустимы для проверки конкретных предположений.

Контекст проекта:
- Разрабатываю один с помощью Codex Astra.
- Первый релиз — на RAGE:MP. FiveM не рассматриваем.
- Формат — СНГ DM наподобие Mell DM: обычная карта GTA V, банды, склады, оружие, транспорт, больница, респавны, капты и упрощённая экономика.
- Majestic — ориентир по поведению систем и удобству интерфейсов. Его внутреннюю реализацию не считай известной.
- Начинаем с нуля, без скачивания готовых сборок и дампов. Приоритет — рабочие механики с минимальным функциональным UI.
- Разработка и первые тесты — локально на Windows. Хостинг позже.

Принятые технические направления:
- Сервер и игровой клиент: TypeScript с компиляцией в JavaScript.
- UI: Vue 3, Composition API, TypeScript, Pinia, Vite, SCSS, CEF.
- Один репозиторий, модульный монолит.
- Менеджер пакетов — согласно конфигурации репозитория.
- Реляционная БД с миграциями. Если выбор ещё не зафиксирован, предложи вариант и обоснуй.
- Совместимость зависимостей проверяй с фактическими версиями встроенных Node.js и CEF в RAGE:MP, отдельно от Node.js для инструментов разработки.
- Серверные игровые правила, платформенная интеграция и UI должны быть разделены. Форматы событий и данных — явно описаны.
- Сервер проверяет операции с предметами, деньгами, правами и наградами. Учти повторные запросы, конкурентные операции, переподключения и перезапуски.
- Интерфейсы должны заменяться без переписывания основных игровых правил.

Возможный перенос:
В будущем допускается переход на другую мультиплеерную платформу со своим лаунчером. Сейчас изолируем необходимые зависимости от RAGE:MP, но второй адаптер, универсальный движок и лаунчер не разрабатываем. Не считай наличие лаунчера Majestic доказательством доступности независимого рабочего ядра. Не обещай автоматический перенос.

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

Это предложение границ этапа: уточни со мной существенные игровые правила, включая сохранение и потерю предметов при смерти.

Дальнейшее развитие:
Банды и ранги → склады и транспорт → капты и территории → экономика и оформление. Учитывай направление развития, но не включай все будущие системы в первый этап.

Контексты:
Следуй структуре, выбранной при setup. Проверь границы предметных областей и их взаимодействия по мере принятия решений. Не создавай новые контексты только из-за папок server/client/ui. Не заполняй документы выдуманными правилами.

Порядок работы:
1. Кратко изложи, что уже решено и что действительно остаётся неизвестным.
2. Уточни цель и границы первой версии по процессу wayfinder.
3. Составь карту открытых решений в настроенном трекере, обозначь зависимости и отдели исследования от вопросов, требующих моего ответа.
4. Первыми исследуй риски, способные заблокировать запуск: получение и запуск актуальных компонентов RAGE:MP, совместимость среды и возможность совместного игрового теста.
5. Работай с картой по правилам установленного wayfinder. Сохраняй результаты так, чтобы следующие сессии могли продолжить без пересказа.
6. Для первой версии определи критерии приёмки, тесты критической серверной логики и необходимые проверки внутри GTA. Не выдавай сборку и unit-тесты за проверку игрового поведения.
7. Когда решений достаточно, подготовь передачу в to-spec и to-tickets. Не расширяй планирование за пределы первой версии без конкретной причины.

Правила общения:
- Общайся на русском, коротко и понятно.
- Не переспрашивай уже зафиксированные решения без найденного противоречия.
- Обычные технические детали выбирай самостоятельно с кратким обоснованием.
- О существенных игровых правилах и компромиссах спрашивай меня, предлагая рекомендуемый вариант. Не отвечай за меня.
- Различай подтверждённые факты, предположения и вопросы, требующие проверки.