Назад к блогу
Scripts5 мин чтения

Agency-Reports: Инструмент админских отчётов для FiveM, который действительно используется

Agency-Reports исправляет три вещи, которые все остальные инструменты отчётов для FiveM делают неправильно: маршрутизацию, контекст и отслеживание решений.

Agency Scripts

Основатель и ведущий разработчик Agency Scripts

Состояние отчетов FiveM в 2026 году

Большинство серверов до сих пор используют Discord-тикеты или команду чата в игре для жалоб игроков. Оба варианта неудобны. Discord не даёт контекста игрока; команда чата теряет всю информацию, как только жалующийся игрок отключается. Админы вынуждены играть в детективов, когда должны быть рефери. Agency-Reports , это инструмент, который мы хотели видеть, когда сами работали на сервере.

Контекст захватывается автоматически

Когда игрок подает жалобу, мы автоматически фиксируем его координаты, ID ближайших игроков, экипированное оружие, транспорт и последние 60 секунд чата. Админы видят сцену, а не только обвинение. Это сокращает время расследования вдвое.

Умная маршрутизация

Отчёты направляются персоналу в зависимости от типа, приоритета и текущего онлайн-состава. Читы идут к техадминам, споры RP , к RP-админам, домогательства , к дежурным. Оффлайн-отчёты ставятся в очередь и оповещаются в Discord. Больше никаких "кто этим занимается?" в чате персонала.

Отслеживание решения

Каждый отчёт имеет статус: открыт, взят в работу, расследуется, решён, закрыт. Админы пишут заметки о решении, которые остаются с отчётом навсегда. Через шесть месяцев, когда тот же игрок подаёт новый отчёт, его история доступна в один клик. Так работают профессиональные команды модерации в MMO, это давно пора и в FiveM.

Цикл обратной связи с игроком

Когда жалоба решена, заявитель получает короткое сообщение с объяснением произошедшего. Даже если ответ "рассмотрено, действий не требуется", игроки чувствуют, что их услышали, а не игнорируют. Сообщества, которые чувствуют внимание, остаются лояльными; это и есть реальный механизм удержания за счёт хороших инструментов модерации.

Установка & настройка

Agency-Reports requires oxmysql for report history persistence. Import reports.sql , поместите папку ресурса и добавьте ensure agency-reports в server.cfg. Подключите ваш Discord webhook в config.lua для пересылки офлайн-уведомлений. При первом запуске правила маршрутизации инициализируются из вашей конфигурации, дополнительная настройка базы данных не требуется.

Интерфейс жалоб в игре открывается игроками с помощью настраиваемой клавиши (по умолчанию: F9 или команда в чате). Панель администратора , это отдельная панель, доступная только игрокам с правами администратора.

Параметры конфигурации

Параметр config.lua управляет маршрутизацией, хранением и поведением UI:

  • Категории жалоб , определяйте любое количество категорий (читерство, домогательства, споры RP, сообщения об ошибках и т.д.) с правилами маршрутизации для каждой категории.
  • Маршрутизация сотрудников , каждая категория направляется к определенным уровням разрешений. Читерство , к техадминам, споры RP , к RP-модераторам и т.д.
  • Список автоматического захвата", какие поля контекста захватываются автоматически (координаты, ближайшие игроки, чат за последние 60 секунд, транспорт, оружие). Переключение по полям.
  • Discord webhook , URL для пересылки офлайн-отчётов. Отчёты, для которых нет онлайн-администратора по маршруту, отправляются в Discord.
  • Шаблоны сообщений о решении , настраивайте сообщение, которое получают игроки при закрытии их жалобы.
  • Анонимное сообщение", переключить возможность репортёрам отправлять сообщения, не раскрывая свою личность другим игрокам (администраторы всегда видят репортёра).

Совместимость с фреймворками

Agency-Reports works on QBCore, ESX, and standalone. The only framework-touching component is the permission check for admin dashboard access. For standalone setups, implement Config.IsAdmin(src, level) в config.lua. Всё хранение отчётов, маршрутизация и UI не зависят от фреймворка.

Почему это важно для ролевой игры

Каждое неразрешённое жалоба игрока , это дефицит доверия. Когда игрок подаёт жалобу и не получает ответа, он либо берёт ситуацию в свои руки (усугубляя ситуацию), либо полностью отключается от сервера. Agency-Reports закрывает этот цикл обратной связи через систему сообщений о разрешении, игроки знают, что их жалоба получена и обработана, даже если результат не совпал с их ожиданиями.

Система захвата контекста , это практический множитель модерации. Администраторы, которые присоединяются к сцене через пять минут после события для расследования, имеют полный ситуационный контекст: где стояли все, что было сказано, что было при обвиняемом. Они тратят время на принятие решений, а не на восстановление событий. Такое сжатие времени расследования напрямую увеличивает количество заявок, которые команда админов может обработать в час.

Доступ к истории за шесть месяцев , часто недооцениваемая функция, которая защищает сообщества в долгосрочной перспективе. Распознавание паттернов за месяцы истории репортов выявляет игроков, которые медленно нарушают правила, а не явно, умеренного нарушителя, который подаёт три репорта в месяц и имеет три против себя, постоянно балансируя на грани действия. История делает этот паттерн видимым.

Часто задаваемые вопросы

Могут ли игроки прикреплять скриншоты или видео-доказательства к жалобе?

Игроки могут прикреплять URL к внешним доказательствам (Imgur, YouTube, Medal.tv). Прямая загрузка файлов на сервер не поддерживается по причинам безопасности и хранения. Отчеты, связанные с Discord, включают URL доказательства в уведомление Discord для удобного просмотра.

Что происходит с репортами, когда игрок, сделавший репорт, отключается?

Жалобы сохраняются в базе данных независимо от статуса подключения игрока. Вся информация на момент жалобы (координаты, чат и т.д.) сохраняется. Администраторы могут расследовать и решать жалобы после выхода заявителя, а сообщение о решении доставляется при следующем входе игрока.

Можем ли мы интегрировать Agency-Reports с нашим существующим тикет-ботом?

Да, через пересылку webhook Discord. Если ваш тикет-бот читает из канала Discord, укажите webhook на этот канал, и отчёты будут появляться как сообщения Discord, которые ваш бот сможет обрабатывать. Для более тесной интеграции ресурс вызывает серверное событие agency-reports:onNewReport который может слушать любой серверный скрипт.

Есть ли функция массового закрытия для массовых отчетов о событиях?

Да. Панель администратора включает мультивыбор в списке жалоб. Старшие администраторы могут выбрать несколько жалоб, применить одно решение и закрыть их пакетно. Полезно после серверных событий, вызывающих дублирующие жалобы на один и тот же инцидент.

Требования

  • Сервер FiveM (QBCore, ESX или standalone)
  • oxmysql
  • аккаунт cfx.re с действующей лицензией Agency-Reports
  • URL вебхука Discord (для оповещений в офлайне)

Введение сотрудников с помощью Agency-Reports

Новые модераторы особенно выигрывают от структурированного рабочего процесса Agency-Reports. Система ведет их через процесс расследования без необходимости в обширном обучении. Новый мод, который получает свой первый репорт, автоматически получает полный контекст, им не нужно спрашивать "что произошло?", потому что предварительно собранные данные отвечают на большинство вопросов до того, как они напишут слово.

Требование к заметке о разрешении (необязательно, но рекомендуется через конфиг) служит учебным инструментом. Запись "просмотрено видео, игрок явно нарушал правило 3.2, выдан 24-часовой бан" в заметке о разрешении заставляет модератора формулировать своё решение. Такая формулировка со временем улучшает качество решений и создаёт бумажный след для эскалации или апелляций.

Для сообществ, переходящих от модерации на основе Discord-трекеров к Agency-Reports, запускайте обе системы параллельно в течение двух-четырёх недель. Позвольте персоналу использовать ту, которая им удобнее, при этом отслеживая время решения и удовлетворённость заявителей. Данные обычно показывают, что Agency-Reports решает заявки быстрее; используйте эти данные для стимулирования добровольного перехода, а не для принудительного переключения.

Готовы начать?

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