FOnline Engine
Current master GitHub
Документация Docs/ru/reference/ai-control-protocol/integration-validation.md

Интеграция и проверка AiControl

Сгенерированный справочник. Не редактируйте его напрямую. Измените BuildTools/AiControlProtocol.json, затем запустите python BuildTools/docs_ai_control_protocol.py --write.

Обзор Wire-контракт Методы Команды и события Безопасность Интеграция и проверка Канонический JSON Руководство

Правила интеграции

Стабильный ID Правило Требование Обоснование Источник
ai-control-protocol.integration.native-extension Listener принадлежит проекту Реализуйте listener как опциональное native-расширение встраиваемого проекта, пока в runtime Engine не появится проверенный владелец. Текущий протокол переиспользуем, но политика listener и shipping-риски остаются ответственностью проекта. Examples/AiControlSample/README.md
ai-control-protocol.integration.loop-ownership Извлечение команд в игровом цикле Сетевой поток только проверяет запросы act и ставит их в очередь; клиентский цикл проекта-владельца извлекает команды и изменяет состояние клиента. Игровые объекты и состояние script runtime не являются socket-thread-safe. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.integration.observation-schema Версионирование проектных наблюдений Объект наблюдения содержит принадлежащую проекту версию схемы и достаточные для адаптера метаданные готовности/действий; протокол Engine не определяет игровые поля. Last Frontier и TLA обоснованно предоставляют разные игровые модели. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.integration.command-completion Событие завершения Каждая принятая команда в итоге создаёт command_completed с commandSeq, success и message, включая неподдерживаемые или неудачные проектные действия. Принятие доказывает только вставку в очередь; агентам нужен связанный терминальный результат. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.integration.mcp-boundary Граница MCP-адаптера MCP-адаптер может отображать проектные наблюдения/действия в семантические инструменты, но пространство имён tools, запуск, память, prompts и игровые политики принадлежат проекту. Совместимость транспорта не должна ложно стандартизировать QA-поверхность одной игры. Examples/AiControlSample/README.md
ai-control-protocol.integration.bounded-state Ограниченные очереди и история Очередь команд и сохранённая история событий имеют положительные настраиваемые пределы, видимые через status; заполненная очередь отклоняет команды, не перезаписывая их. Остановившийся клиентский цикл не должен вызывать неограниченный рост памяти или молчаливую потерю команд. Examples/AiControlSample/ai_control_sample.py

Правила проверки

Стабильный ID Правило Требование Обоснование Источник
ai-control-protocol.validation.protocol-smoke Smoke-тест протокола Запустите эталонный клиент с примером сервера и докажите auth, liveness, status, наблюдение, неверный ввод, принятие действия, завершение, обновление состояния и поведение event cursor. Одна отрисованная схема не доказывает состояние соединения и асинхронный жизненный цикл. Examples/AiControlSample/run_protocol_smoke.py
ai-control-protocol.validation.malformed-peer Неверные ответы peer Клиентские тесты отклоняют неверный JSON, неподдерживаемые конверты, несовпадающие id, одновременные result/error и слишком длинные строки. Автоматизация должна завершаться закрыто, а не принимать неоднозначные данные. BuildTools/ai_control_client.py
ai-control-protocol.validation.security Тесты границы безопасности Тесты доказывают отказ для non-loopback, отдельную для соединения авторизацию, отклонение неверного token и отсутствие token в аргументах командной строки. Требования безопасности должны оставаться исполняемыми при развитии helper. Examples/AiControlSample/run_protocol_smoke.py
ai-control-protocol.validation.project-native Native-интеграция проекта Настоящий проект отдельно собирает native bridge, запускает настоящий клиент, проверяет извлечение очереди в клиентском цикле и корректные shutdown/reconnect. Пример Python доказывает протокол, а не native runtime FOnline. Examples/AiControlSample/README.md
ai-control-protocol.validation.gameplay-authority Обычный игровой путь Проектные тесты показывают, что типичные действия проходят обычную серверную валидацию, а отклонённые игровые действия завершаются ошибкой. Успешный smoke-тест протокола не доказывает игровую авторизацию или anti-cheat-границы. Examples/AiControlSample/README.md
ai-control-protocol.validation.shipping-artifact Инспекция shipping-артефакта Release-проверка подтверждает, что production-клиенты не могут открыть listener AiControl и не содержат проектную реализацию удалённых команд. Выключение по умолчанию слабее отсутствия в поставляемом бинарном файле. Examples/AiControlSample/README.md

Команды проверки

python Examples\AiControlSample\run_protocol_smoke.py
python BuildTools\tests\test_ai_control_protocol.py
python BuildTools\docs_ai_control_protocol.py --check
Введите запрос.