- Для версий
- 1.16.+
- BungeeCord
- Velocity
- 1.21.+
Для локального хранения доступна встроенная H2, а для общей или внешней базы — MariaDB. Telegram подключается по желанию и служит каналом для отчётов, CSV-выгрузок и PNG-графиков; сбор и хранение данных работают без него.
Кому подойдёт
- Сетям с несколькими доменами входа, которым важно сравнивать источники подключений.
- Проектам с несколькими backend-серверами, где нужно видеть полный маршрут игрока по сети.
- Администраторам, анализирующим новых, вернувшихся, неактивных, потерянных и реактивированных игроков.
- Командам, которым нужны регулярные отчёты и выгрузки без отдельной web-панели.
- Сетям, которым требуется настраиваемый срок хранения с автоматической очисткой старых записей.
Stats работает на уровне proxy и собирает сетевые события в одном месте. Paper и Purpur в проверенной схеме являются backend-платформами, а не зависимостями плагина.
Что измеряет
- UUID, текущий ник и историю ников игрока.
- Домен или поддомен, через который игрок вошёл в сеть.
- Полные сессии, длительность игры и посещения backend-серверов.
- Переходы между серверами внутри одной proxy-сессии.
- Онлайн как временной ряд: текущие, средние, минимальные и пиковые значения.
- Периоды 1 час, 24 часа, 7 дней, 30 дней и всё время.
- Новых и вернувшихся игроков, а также DAU/MAU-подобную активность.
- Retention за 1, 7 и 30 дней и когорты по первому домену входа.
- Качество источников: короткие сессии, playtime и долю возвратов.
- Dormant, lost и reactivated players, health-показатели и приоритетные операционные сигналы.
При включённом Telegram доступны команды:
/stats
/domains
/retention
/domain_retention
/servers
/sessions
/players_top
/players <ник>
/cohorts
/health
/quality
/online
/risks
/insights
/chart
/export_domains
/export_quality
/export_sessions
/export_players
Команды экспорта отправляют CSV по доменам, качеству, сессиям и игрокам. Telegram также формирует PNG-дашборды и график онлайна. Интеграция опциональна: без неё плагин продолжает собирать, хранить и очищать статистику.
Совместимость
| Компонент | Проверенная роль |
|---|---|
| BungeeCord 26.1+ | Proxy, на который устанавливается Stats |
| Velocity 3.4.0 | Proxy, на который устанавливается Stats |
| Paper | Проверенный backend; JAR Stats сюда не устанавливается |
| Purpur | Проверенный backend; JAR Stats сюда не устанавливается |
| Java 21+ | Требование для proxy-плагина |
Версия 1.0.0 прошла 12 runtime-маршрутов: BungeeCord и Velocity × Paper и Purpur × Minecraft 1.16.5, 1.21.11 и 26.2. На каждом маршруте проверялись реальные подключения, домены, сессии, переходы между backend-серверами, снимки онлайна и корректное закрытие записей после выхода.
Для Minecraft 26.2 Paper/Purpur backend работал нативно на 26.2 и Java 25. Сам Stats по-прежнему запускается на proxy с Java 21+. В части автоматизированного QA использовались checksum-pinned ViaVersion/ViaBackwards только на тестовом стенде; они не входят в продукт и не являются зависимостями Stats.
Установка
- Остановите BungeeCord или Velocity и убедитесь, что proxy работает на Java 21 или новее.
- Поместите выданный Stats-1.0.0.jar в папку plugins только одного proxy.
- Запустите proxy: плагин создаст конфигурацию в своей data directory.
- При необходимости остановите proxy, выберите MariaDB вместо H2 и настройте Telegram.
- Запустите proxy повторно и убедитесь в журнале, что лицензия подтверждена, а хранилище открыто.
Hot-reload, PlugMan и /reload не поддерживаются. Для установки и изменения конфигурации используйте полный штатный перезапуск proxy.
Зависимости и интеграции
- Обязательных сторонних плагинов нет.
- Лицензия mcdev.su обязательна и проверяется до открытия базы данных.
- H2 уже включена в JAR и не требует отдельного сервера базы данных.
- MariaDB опциональна; она подходит для общей или внешней БД.
- Telegram опционален; он нужен только для команд, отчётов, CSV и PNG.
HikariCP, драйверы H2/MariaDB, Jackson и SnakeYAML включены в release JAR. Дополнительный JAR на backend-серверах не требуется.
Приватность и хранение
Stats хранит UUID, ники и их историю, домен входа, имя backend-сервера, время и длительность сессий и посещений, а также агрегированные точки онлайна. IP-адреса и содержимое чата не сохраняются. Telegram получает только отчёт или экспорт, который запросил разрешённый администратор.Срок хранения задаётся в конфигурации. Завершённые сессии, посещения и старые online snapshots удаляются автоматически. Записи игроков и история ников сохраняются для поиска, когорт и определения возврата. Оператор сервера отвечает за правовое основание обработки, ограничение доступа к MariaDB/Telegram и информирование игроков.
Токен Telegram и пароль базы нельзя публиковать, передавать в тикеты или хранить в Git. В журнал не выводятся Telegram token, chat ID и содержимое неожиданных HTTP-ответов.
Проверка качества
| Proxy | Backend | Minecraft | Результат |
|---|---|---|---|
| BungeeCord | Paper | 1.16.5, 1.21.11, 26.2 | 3 × PASS |
| BungeeCord | Purpur | 1.16.5, 1.21.11, 26.2 | 3 × PASS |
| Velocity | Paper | 1.16.5, 1.21.11, 26.2 | 3 × PASS |
| Velocity | Purpur | 1.16.5, 1.21.11, 26.2 | 3 × PASS |
Дополнительно проверены аварийное завершение и восстановление открытых сессий, интеграция с MariaDB 11.4, создание схемы и индексов, повторное открытие базы, отчёты, CSV и упаковка одного JAR для двух proxy. CI выполняет тесты, проверку границ исходников, secret scan и две независимые сборки с побайтовым сравнением QA-артефакта.
Ограничения
- Stats является proxy-плагином и не устанавливается на Paper или Purpur.
- Для proxy требуется Java 21 или новее.
- Web-панели в версии 1.0.0 нет; интерактивные отчёты доступны через Telegram.
- Проверенная матрица версии 1.0.0 ограничена Minecraft 1.16.5, 1.21.11 и 26.2 в указанных сочетаниях.
- Для работы обязательна действующая лицензия mcdev.su; при ошибке проверки база не открывается.
- Telegram-команды, CSV и PNG требуют настроенного бота, точного chat ID и списка разрешённых пользователей.