/stats <игрок> — сводка статистики: время игры, смерти, прыжки, км, убийства, урон, блоки, крафт/statsreload — принудительная перезагрузка кэша статистики/statsonline — список онлайн-игроков с UUID/statstop <ключ> [лимит] — топ игроков по любому ключу статистики (асинхронно)/stat, /stats, /statstopStatsUtil.totalSection() — суммирование всей секции статистики/moss/summary теперь включает players_online, total_player_kills, total_mob_kills, total_damage_dealt/moss/online теперь возвращает { count, players[] }/moss/top/ теперь включает поле online для каждого игрока/moss/players поддерживает параметр ?stats=true (по умолчанию — без статистики, быстрее)v*/stat теперь работает с оффлайн-игроками (через кэш и Bukkit.getOfflinePlayer)onlineSet переведён на ConcurrentHashMap.newKeySet() — правильная семантикаresolveIntParam больше не принимает отрицательные значенияhandleSummary использует StatsUtil вместо ручного парсинга JSONhandlePlayerByUUID и handlePlayerByName возвращают полный playerEntry с полем onlinelastPathSegment корректно обрабатывает пустые сегменты путиgetStatsCache() возвращает Collections.unmodifiableMap вместо прямой ссылкиОптимизирован WebServer:
/top/jumpsrank в топахОптимизирован StatsManager:
AtomicIntegerretainAll)Оптимизирован StatsUtil:
Gsonminecraft:killed, minecraft:killed_bypom.xml (<n> → <name>)web-port / web.portAdded pagination support for /moss/players with limit and offset parameters.
Добавлена поддержка пагинации для /moss/players с параметрами limit и offset.
total, limit, offset, players.
Возвращает метаданные: total, limit, offset, players.Implemented safe pagination parsing: Реализована безопасная обработка пагинации:
limit defaults to existing behavior (maxResponsePlayers).
limit по умолчанию = maxResponsePlayers.limit → clamped to 0; oversized limit → clamped to max.
Отрицательные значения → 0; слишком большие → до максимума.offset defaults to 0; negative values clamped to 0.
offset по умолчанию = 0; отрицательные значения → 0.Extended /moss/top/<stat_key> to support explicit section selection.
Добавлена поддержка явного указания секции для /moss/top/<stat_key>.
/moss/top/<stat_key>?section=<section>/moss/top/<section>/<stat_key>Implemented strict section-based lookup & validation: Реализован строгий поиск по секции и валидация:
400 response for invalid section.
400 при некорректной секции.404 if stat key is absent in the specified section.
404, если stat_key отсутствует в указанной секции.Added reusable StatsUtil helper methods:
getStatInSectionsectionHasStatKeygetAvailableStatSectionsДобавлены вспомогательные методы StatsUtil для устранения дублирования логики и поддержки динамического поиска по секциям.
Improved backward compatibility - existing clients continue working without changes. Улучшена обратная совместимость - существующие клиенты работают без изменений.
Minor internal refactoring and safety checks (no breaking API changes). Небольшой рефакторинг и дополнительные проверки безопасности (без ломающих изменений API).
statsplugin-1.21.x-1.6.jar
Универсальный JAR: statsplugin-1.21.x-1.6.jarmvn clean package)
Maven-билд (mvn clean package)Pagination significantly improves performance for large servers and makes the API UI-friendly for dashboards and web panels. Пагинация значительно улучшает работу на больших серверах и делает API удобным для веб-интерфейсов.
Explicit section selection resolves stat key ambiguity (e.g., mined vs used) and enables entity kill leaderboards. Явное указание секции решает проблему неоднозначных stat_key и позволяет строить топы по убийствам мобов.
Fully backward compatible with previous 1.21.x releases. Полностью совместим с предыдущими релизами 1.21.x.
plugins/ folder and restart the server.
Замените старый JAR в папке plugins/ и перезапустите сервер.Вот корректно отформатированная версия для вставки в Modrinth changelog (с правильными переносами, разделителями и Markdown-структурой):
Switched to the stable Paper 1.21.x API branch to ensure compatibility across all 1.21 patch versions. Переход на стабильную ветку Paper API 1.21.x для корректной работы на всех патч-версиях 1.21.
Removed any dependency on patch-specific Paper builds. Убрана зависимость от конкретных патч-сборок Paper.
Verified plugin startup and runtime on multiple Paper 1.21.x versions. Проверен запуск и корректная работа плагина на нескольких версиях Paper 1.21.x.
API usage is strictly limited to public Bukkit / Paper APIs (no NMS, no CraftBukkit). Используется только публичный Bukkit / Paper API (без NMS и CraftBukkit).
Improved overall build stability and forward compatibility within the 1.21.x lifecycle. Повышена стабильность сборки и долгосрочная совместимость в рамках линейки 1.21.x.
Ensured a clean shaded JAR without embedding Paper API classes. Проверено, что итоговый JAR не содержит классов Paper API.
Minor internal cleanups and safety checks (no breaking changes). Небольшие внутренние улучшения и проверки без изменения публичного API плагина.
Single universal JAR: statsplugin-1.21.x-1.5.jar
Универсальный JAR: statsplugin-1.21.x-1.5.jar
Built with Java 21 Сборка выполнена под Java 21
Maven-based build (mvn clean package)
Maven-билд (mvn clean package)
This release is intended to be used as-is on all Paper 1.21.x servers. Релиз предназначен для использования без пересборки на всех серверах Paper 1.21.x.
No configuration changes are required when upgrading from previous 1.21 builds. Изменения в конфигурации при обновлении не требуются.
plugins/ folder and restart the server.
Замените старый JAR в папке plugins/ и перезапустите сервер.Если хочешь, могу сделать версию с более «продающей» подачей (чтобы релиз выглядел сильнее на Modrinth в ленте обновлений).

Lightweight vanilla player statistics via REST API for Paper servers