[LR WEB] Report System

Other [LR WEB] Report System 1.0.0

No permission to buy ($15.00)
Resource was created using AI
  1. Yes, partly
Вдохновлялся модулем от -r8. Не судите строго ;)
  • Игровое меню в CS2 — команда !report открывает выбор игрока и причины через нативное меню Pisex. Команда !reports показывает игроку историю его жалоб. Игровой плагин поставляется в комплекте, написан на C++ под MetaMod.
  • Веб-интерфейс админа — список репортов с фильтрами по статусу и серверу, длинное polling (новые репорты появляются без перезагрузки страницы), детальная карточка с 3-колоночным layout: причина, цель с K/D и аватаром, история чата перед репортом, история наказаний игрока, шаблоны вердиктов.
  • Полный жизненный цикл репорта: взять в работу (репорт «лочится» за админом, другие видят кто рассматривает) → выдать предупреждение → закрыть с вердиктом из шаблонов либо своей формулировкой.
  • Per-server permissions. Автоматический синк админов из as_admins_servers (Pisex AdminSystem). Каждый админ видит репорты и получает уведомления только с тех серверов, где он действительно админит. Поддержка manual-add с выбором серверов через чекбоксы.
  • История наказаний игрока прямо в карточке репорта — баны, voice mute, chat mute, silence из as_punishments с автоматическим определением статуса (активно / истёк / снят / навсегда). Fallback на SourceBans если AdminSystem не подключён.
  • Discord-интеграция: per-server вебхуки, embed-сообщения с цветовой плашкой статуса и кнопкой «Открыть на сайте». При смене статуса репорта Discord-сообщение обновляется (не плодятся дубли).
  • Push-уведомления Neo3 для админов с фильтрацией по серверу.
  • Cron-автоматизация:
  • Авто-закрытие старых open-репортов по TTL.
  • Деактивация истёкших предупреждений.
  • Авто-закрытие репортов на игроков которых уже забанили.
  • Refresh кэша админов из as_admins.
  • Дизайн в едином стиле LR WEB NEO — использует только переменные темы, адаптируется ко всем цветовым схемам Neo3 (dark / light / любая кастомная). Mobile-friendly. Никаких глитчей при смене темы.
  • Локализация: RU / EN / UA из коробки, 220+ ключей перевода.
  • Settings админ-панель с 6 вкладками: Основные / Серверы / Доступы (делегаты с edit-mode) / Админы / Шаблоны вердиктов (drag-n-drop) / Логи (35+ типов событий с цветовыми pill'ами).
  • Audit-лог всех действий — кто взял репорт, кто закрыл, кто выдал варн, кто менял настройки. Доступен в Settings → Логи.
  • Безопасность — CSRF-защита, отдельные API-ключи per-server, маскирование Discord URL'ов в логах, защита от self-lockout для site-owner'а.
Screenshot_1.webpScreenshot_2.webpScreenshot_4.webpScreenshot_5.webpScreenshot_6.webp
Requirements
Install


Инструкция в архиве с модулем и плагином

FAQ
В: У меня нет AdminSystem (Pisex). Модуль будет работать?

О: Да. Модуль работает без AdminSystem — просто добавляйте админов вручную через Settings → Админы → «Добавить админа». Без AdminSystem не будет автосинка и истории наказаний из as_punishments, но всё остальное (приём репортов, рассмотрение, Discord, cron) работает полностью.

В: Как игрок репортит на сервере?

О: Командой !report в игровом чате. Откроется меню «выбери игрока» (только подключенные, без админов с иммунитетом) → меню «причина» (7 пресетов или своя формулировка через чат). Меню реализовано через Pisex IUtilsApi — нативное CS2-меню без внешних зависимостей.

В: Можно настроить, чтобы админы видели репорты только со своих серверов?

О: Да, это работает по умолчанию. При синхронизации с AdminSystem каждому админу автоматически устанавливается список серверов из as_admins_servers (если в AdminSystem прописано server_id = -1 = все серверы — у нас тоже все). При manual-add есть чекбоксы серверов: «ничего не выбрано» = все, выбран один = только он. Уведомления о новых репортах фильтруются точно так же — только с разрешённых серверов.

В: Что произойдёт, если игрока, на которого был репорт, забанит другой админ?

О: Если включен ban_auto_close, через ban_close_delay_h часов крон-задача автоматически закроет открытый репорт со статусом «Игрок забанен». Это предотвращает дубли работы — два админа не будут рассматривать одну и ту же жалобу.

В: Discord-уведомления приходят при изменении статуса?

О: Да, исходное сообщение обновляется через PATCH (не плодятся дубли). Если кто-то вручную удалил сообщение в Discord — обработчик 404 не падает, репорт остаётся в БД, просто без зеркала в Discord.

В: Можно ли изменить шаблоны вердиктов?

О: Да, через Settings → Шаблоны вердиктов. CRUD с drag-n-drop сортировкой, активацией/деактивацией. По умолчанию идёт 6 шаблонов: «Нарушитель был наказан», «Выдано предупреждение», «Игрок вышел с сервера», «Читов не найдено», «Некорректная жалоба», «Мало доказательств».

В: Какая нагрузка на сервер от polling'а?

О: Минимальная. Long polling запускается только когда админ открыл список репортов (раз в refresh_sec секунд, default 30). Один запрос = один проиндексированный SELECT с COUNT'ом. На сотне открытых страниц одновременно — около 3 RPS, нагрузка незаметна.

В: Что делать после обновления модуля?

О: 1) Удалить storage/cache/sessions/translator.json (новые ключи переводов). 2) Удалить storage/cache/sessions/modules_initialization.php (если меняется схема БД). 3) Сбросить OPcache через /reports/?ops=opcache_reset&secret=.... 4) Cache-bust в браузере (Ctrl+Shift+R).

В: Поддерживаются другие админ-плагины кроме AdminSystem?

О: На текущий момент — AdminSystem (Pisex), SourceBans, legacy as_bans. IksAdmin / IksAdminNew можно подключить точечно (BansLookup-сервис принимает новые источники). По запросу.

В: Можно ли отключить Discord и работать только через сайт?

О: Да. Просто оставьте поле «Discord webhook» пустым у сервера в Settings → Серверы. Уведомления админам всё равно будут приходить через push-систему Neo3 (колокольчик в шапке).

В: Как быть с приватностью игроков (IP в БД)?

О: IP цели сохраняется в lvl_web_reports_reports.target_ip, но не отображается в публичном UI. Доступ к IP — только у site-owner'а через прямой запрос к БД. Для GDPR-compliant использования рекомендуется настроить retention-политику (удаление старых репортов через X дней) либо хешировать IP перед сохранением.

В: Сколько серверов модуль поддерживает?

О: Технически — без ограничений. Тестировалось на 1-10 серверах. На больших сетях (50+ серверов) рекомендуется дать refresh_sec побольше (60-120 сек) и настроить отдельные Discord-каналы по группам серверов.

В: Можно использовать на нескольких сайтах одновременно?

О: Один экземпляр модуля = один сайт = одна БД. Если у вас несколько independent сайтов под разные сервер-группы — нужны отдельные установки модуля.
Author
broo
Views
251
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from broo

  • Plugin Advertisment
    Плагин для вывода рекламы на сервере CS2.
  • VoteSystem
    Plugin VoteSystem
    Плагин голосования для CS2 на платформе CounterStrikeSharp. Позволяет игрокам голосовать за кик, бан
Back
Top