Язык / Language

ASTERION Monitor β — Патч 1.5.5b

[+] Автор: б̲о̲ʍб̲о̲з̲а̲в̲р • 𝕾𝖔 𝕾1𝖈𝖐
Описание: двухслойный композитный рендерер карточек ранга LevelUP 2.0, динамический трекинг сообщений и голоса, лидерборды, интеграция с Happy Hours и защита базы данных SQLite WAL.

ИЗМЕНЕНИЯ / ПАТЧ-НОТЫ

Что обновлено в ревизии 18.09.2026

Asterion Monitor получил масштабное обновление телеметрии: полный переход на асинхронный двухслойный рендерер карточек ранга LevelUP 2.0, раздельные пулы опыта для текста и войсов, алгоритм защиты от AFK/Mute и прямую синергию с Happy Hours.

  • Dual-Layer Compositor 2.0: отрисовка карточки /profile и /rank разделена на два прохода: статический холст с эффектом матового стекла и векторный слой телеметрии. За счёт LRU-кэширования аватаров (TTL 3600s) рендеринг занимает менее 65мс с отдачей легковесного WebP/PNG.
  • Isolated XP Engine: текстовые сообщения приносят 15–25 XP с кулдауном 60 сек на пользователя; голосовой онлайн рассчитывается независимо (10 XP/мин) и начисляется только при наличии минимум 2 активных участников в канале без серверного или локального заглушения.
  • Honor & Happy Hours: динамическая синхронизация с глобальными окнами удвоенного опыта (2.0×). Активируется автоматически при проведении клановых ивентов или после побед в ConCord Raids без перезагрузки процесса бота.
  • Tier Hierarchy: автоматическое присвоение статусов Onyx, Nemesis и Diamond при достижении 10, 25 и 50 уровней с кастомными рамками и постоянными множителями опыта.
  • SQLite WAL Protection: полная миграция на асинхронный журнал упреждающей записи (Write-Ahead Logging), исключающий блокировки базы данных и десинхронизацию таблицы лидеров при пиковом онлайне (500+ msg/мин).

Команды участников (Monitor Core)

Доступны всем участникам сервера для проверки ранга, прогресса и просмотра лидербордов:

Команда Параметры Доступ Описание
/profile user:@Игрок Public Показывает двухслойную карточку LevelUP 2.0, ранг, прогресс-бар XP и позицию в топе
/leaderboard type:xp|voice|fury Public Глобальный и серверный топ участников по очкам опыта, голосовому онлайну или FuRY
/stats period:day|week|all Public Общая телеметрия активности сервера: новые участники, суточный объем XP и пиковые часы
/monitorhelp — Public Интерактивная справка по возможностям бота, формуле расчёта XP и ролевым наградам
/voice_status — Public Проверка текущей сессии: активен ли таймер XP, множитель канала и валидность войса
/level_card skin:classic|neon|dark Public Выбор визуального скина карточки ранга (для обладателей рангов Nemesis и Diamond)
/rewards — Public Список всех ролевых наград и монетных бонусов, разблокируемых по мере роста уровня

Технология LevelUP 2.0 — Двухслойный рендерер

Собственный графический конвейер ASTERION для сверхбыстрой генерации карточек ранга без блокировки асинхронного event loop:

Layer 0: Dynamic Canvas

ENGINE

Подложка с эффектом матового стекла (glassmorphism), градиентным размытием аватара участника и наложением фирменного неонового контура партнёрского сервера.

Layer 1: Vector Telemetry

60 FPS

Математически точный расчёт прогресс-бара, позиционирование шрифта JetBrains Mono, значки рангов Onyx/Nemesis/Diamond и клановый тег FuRY.

LRU Avatar Cache

TTL 1H

Локальный кольцевой буфер аватаров Discord с временем жизни 3600 секунд. Исключает повторные внешние HTTP-запросы и снижает время ответа до 40–60мс.

WebP Lossless Stream

OPTIMIZED

Сжатие готовой картинки в поток WebP в памяти без сохранения временных файлов на диск. Минимальный вес payload при идеальной чёткости типографики.

РЕАЛИЗАЦИЯ В КЛИЕНТЕ • LIVE CARD COMPOSITING
NobleBlade Engine

Интерактивная карточка прогресса

Наглядная визуализация ранговой шкалы и анимации начисления опыта. Поддерживает динамическое переключение тем оформления и интеграцию с серверными множителями.

✓ Рендеринг за <65ms • Zero Disk I/O • SQLite WAL Sync
NobleBlade LevelUP Progress Card

Административные команды (AST Monitor Admin)

Управление балансом опыта, настройка каналов и аудит прогрессии:

Команда Аргументы Доступ Назначение
/xp user:@... amount:... reason:"..." AST Admin Ручное начисление или списание очков XP у участника с записью причины в лог
/setlevel user:@... level:... AST Admin Принудительная установка уровня пользователя с перерасчётом ролевых прав
/award_event user:@... xp:400 fury:50 Event Staff Интеграционное начисление очков опыта и валюты FuRY за победу в турнире
/mass_award users:"@A @B" xp:250 AST Admin Массовое начисление XP списку участников (до 50 человек за одну транзакцию)
/set_channel_multiplier channel:#voice mult:1.5 AST Admin Установить локальный множитель опыта для голосового или текстового канала
/set_role_multiplier role:@VIP mult:1.25 AST Admin Назначить персональный буст опыта для обладателей заданной роли (Discord Nitro, etc.)
/list_multipliers — AST Admin Вывести список всех активных множителей по ролям, каналам и категориям
/remove_multiplier target:@VIP|#channel AST Admin Удалить заданный множитель и вернуть базовое начисление 1.0×
/blacklist action:add|remove channel:#... AST Admin Исключить канал из телеметрии (опыт за сообщения и войс в нём не начисляется)
/sync_roles — AST Admin Полная синхронизация ролевых наград за уровни для всей базы участников сервера
/reset user:@... confirm:true AST Admin Полный сброс прогресса участника (обнуление XP, уровня и снятие ранговых ролей)
/user_stats user:@... AST Admin Глубокая диагностика пользователя: распределение XP по дням, время в войсе, логи
/admin_logs limit:20 AST Admin Журнал последних административных действий, изменений множителей и сбросов
/guildinfo — AST Admin Сводка по серверу: состояние SQLite WAL базы, число отслеживаемых каналов и кэш

Система XP — Формулы и механика

Расчёт прогрессии и начисления очков в движке Monitor LevelUP 2.0 подчиняется строгой математической модели:

  • Формула требуемого опыта для уровня:
    XP_REQUIRED(L) = 5 × (L ˆ 2) + 50 × L + 100
    Кумулятивная кривая: 1-й уровень требует 155 XP, 10-й — 1 100 XP, 50-й — 15 100 XP.
  • Текстовая активность (Chat XP):
    XP_msg = rand(15, 25) × channel_mult × role_mult × happy_hour_mult
    Кулдаун: 1 начисление в 60 секунд. Фильтр спама отсекает повторяющиеся фразы и сообщения короче 3 символов.
  • Голосовая активность (Voice XP):
    XP_vc = (10 × active_vc_minutes) × channel_mult × role_mult × happy_hour_mult
    Условия: минимум 2 участника в голосовом канале без мута/дефа, вне категории AFK.

Ранговые ступени (Monitor Rank Tiers)

Шкала званий с уникальными эмблемами, множителями и ролевыми привилегиями:

Onyx Rank Уровень 10+

Onyx Rank

Множитель: 1.10× • 6 000 XP

Базовая ступень признания в сообществе. Открывает доступ к клубным комнатам, кастомным эмблемам в профиле и еженедельным монетным бонусам.

  • Эмблема Onyx в карточке /profile
  • Постоянный множитель 1.10×
  • Роль @Onyx Member на сервере
  • Бонус +100 FuRYCoin при получении
Nemesis Rank Уровень 25+

Nemesis Rank

Множитель: 1.25× • 34 375 XP

Продвинутый статус опытного участника. Разблокирует эксклюзивную фиолетовую рамку профиля, право на создание приватных комнат и скидку 15% в магазине.

  • Фиолетовая неоновая рамка профиля
  • Повышенный множитель 1.25×
  • Создание закрытых голосовых лобби
  • Скидка 15% на покупки в /shop
Diamond Rank Уровень 50+

Diamond Rank

Множитель: 1.50× • 137 500 XP

Высший статус легенды сообщества. Максимальный постоянный буст 1.50×, алмазная анимация карточки, персональный цвет роли и прямой доступ в закрытый совет.

  • Алмазный анимированный фрейм LevelUP
  • Максимальный множитель 1.50×
  • Персональный цвет никнейма на сервере
  • Приоритетный слот в Asterion Events

Сводная таблица прогрессии рангов

Уровень Ранг Суммарный XP Множитель Роль Discord Особенности статуса
1–9 Новичок 0 – 5 999 1.00× — Стартовый доступ к чатам и голосовым комнатам
10–24 Onyx Onyx 6 000 1.10× @Onyx Member Базовая эмблема ранга, доступ в #onyx-lounge
25–49 Nemesis Nemesis 34 375 1.25× @Nemesis Elite Фиолетовая рамка, создание лобби, скидка 15% в /shop
50+ Diamond Diamond 137 500 1.50× @Diamond Legend Анимированный скин профиля, персональный цвет никнейма

Правила каналов и каскадные множители

Приоритеты наложения коэффициентов в движке ASTERION:

1. Приоритет канальных множителей (/set_channel_multiplier)
Если для канала установлен индивидуальный множитель (например, 1.5× для #voice-chat), он является базовым множителем сессии. В каналах из черного списка (/blacklist add) начисление строго равно 0× независимо от ролей.
2. Сложение ролевых бустеров (/set_role_multiplier)
При наличии у пользователя нескольких ролей с множителями (например, Server Booster 1.2× и Nemesis 1.25×) применяется наивысший коэффициент, а не их прямое перемножение, для защиты экономики сервера от инфляции.
3. Серверные Happy Hours и клановый кап (3.0×)
В период Happy Hours итоговый множитель умножается на 2.0×. Максимальный совокупный множитель сессии жестко ограничен капом 3.0×, что гарантирует сохранение ценности достижений.

Как настроить систему уровней на сервере

  1. Инициализация и привязка каналов: Задайте выделенный анонс-канал для уведомлений о повышении уровней с помощью /bot_settings key:levelup_channel.
  2. Черный список спам-комнат: Исключите каналы ботов, музыки и оффтопа через /blacklist action:add channel:#bot-commands, чтобы предотвратить фарм сообщений.
  3. Назначение ролевых наград: Свяжите ранги 10, 25 и 50 с соответствующими ролями сервера и запустите синхронизацию через /sync_roles.
  4. Калибровка множителей бустеров: Установите поощрительный множитель для премиум-участников: /set_role_multiplier role:@ServerBooster mult:1.20.
  5. Аудит и контроль: Регулярно проверяйте нагрузку и корректность начислений через /guildinfo и /admin_logs.