▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/PlayerStats API
PlayerStats API

PlayerStats API

Lightweight vanilla player statistics via REST API for Paper servers

126
4

PlayerStats-API 2.1

release28 марта 2026 г.

Added

  • /stats <игрок> — сводка статистики: время игры, смерти, прыжки, км, убийства, урон, блоки, крафт
  • /statsreload — принудительная перезагрузка кэша статистики
  • /statsonline — список онлайн-игроков с UUID
  • /statstop <ключ> [лимит] — топ игроков по любому ключу статистики (асинхронно)
  • Tab-complete для /stat, /stats, /statstop
  • Permissions-система для всех команд
  • StatsUtil.totalSection() — суммирование всей секции статистики
  • Web API /moss/summary теперь включает players_online, total_player_kills, total_mob_kills, total_damage_dealt
  • Web API /moss/online теперь возвращает { count, players[] }
  • Web API /moss/top/ теперь включает поле online для каждого игрока
  • Web API /moss/players поддерживает параметр ?stats=true (по умолчанию — без статистики, быстрее)
  • GitHub Actions: автопубликация на Modrinth при push тега v*

Fixed

  • /stat теперь работает с оффлайн-игроками (через кэш и Bukkit.getOfflinePlayer)
  • onlineSet переведён на ConcurrentHashMap.newKeySet() — правильная семантика
  • resolveIntParam больше не принимает отрицательные значения
  • handleSummary использует StatsUtil вместо ручного парсинга JSON
  • handlePlayerByUUID и handlePlayerByName возвращают полный playerEntry с полем online
  • lastPathSegment корректно обрабатывает пустые сегменты пути

Changed

  • Версия плагина: 2.0 → 2.1
  • getStatsCache() возвращает Collections.unmodifiableMap вместо прямой ссылки

26.1 - Stability & Performance (1.21.X)

release28 марта 2026 г.

StatsPlugin 1.21.x - Release 2.0

🚀 Improvements

  • Оптимизирован WebServer:

    • удалён дублирующий /top/jumps
    • унифицирован парсинг параметров
    • добавлено поле rank в топах
  • Оптимизирован StatsManager:

    • убран лишний AtomicInteger
    • исправлен кэш онлайн-игроков (retainAll)
  • Оптимизирован StatsUtil:

    • единый Gson
    • унифицирован доступ к stats root
    • добавлены minecraft:killed, minecraft:killed_by

🐛 Fixes

  • Исправлен pom.xml (<n><name>)
  • Удалено дублирование web-port / web.port
  • Убрано дублирование логики лимитов
  • Устранён двойной проход по кэшу

⚠️ Requirements

  • Paper 1.21+

🧠 Internal

  • Упрощена архитектура Web API
  • Снижен overhead загрузки статистики

📊 Logging

  • Добавлены логи синхронизации загрузки статистики

PlayerStats API 1.21.x

release23 февраля 2026 г.

StatsPlugin 1.21.x - Release 1.6

✅ Compatibility / Совместимость

  • Paper / Minecraft: 1.21.x (1.21, 1.21.1 … 1.21.11)
  • Java: 21
  • API: Paper API 1.21 (no patch-specific binding / без привязки к патч-версиям)

✨ What’s changed / Что изменилось

  • Added pagination support for /moss/players with limit and offset parameters. Добавлена поддержка пагинации для /moss/players с параметрами limit и offset.

    • Returns metadata envelope: total, limit, offset, players. Возвращает метаданные: total, limit, offset, players.
    • Deterministic UUID sorting preserved. Сохраняется детерминированная сортировка по UUID.
  • Implemented safe pagination parsing: Реализована безопасная обработка пагинации:

    • limit defaults to existing behavior (maxResponsePlayers). limit по умолчанию = maxResponsePlayers.
    • Negative 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>.

    • Query param form: /moss/top/<stat_key>?section=<section>
    • Path variant: /moss/top/<section>/<stat_key>
    • Legacy behavior preserved when section is not provided. Старое поведение сохраняется, если секция не указана.
  • Implemented strict section-based lookup & validation: Реализован строгий поиск по секции и валидация:

    • Dynamic section discovery from loaded stats. Динамическое определение доступных секций.
    • 400 response for invalid section. 400 при некорректной секции.
    • 404 if stat key is absent in the specified section. 404, если stat_key отсутствует в указанной секции.
    • No fallback when section is explicitly provided. Без fallback при явном указании секции.

🔧 Improvements / Улучшения

  • Added reusable StatsUtil helper methods:

    • getStatInSection
    • sectionHasStatKey
    • getAvailableStatSections

    Добавлены вспомогательные методы StatsUtil для устранения дублирования логики и поддержки динамического поиска по секциям.

  • Improved backward compatibility - existing clients continue working without changes. Улучшена обратная совместимость - существующие клиенты работают без изменений.

  • Minor internal refactoring and safety checks (no breaking API changes). Небольшой рефакторинг и дополнительные проверки безопасности (без ломающих изменений API).


📦 Build details / Информация о сборке

  • Single universal JAR: statsplugin-1.21.x-1.6.jar Универсальный JAR: statsplugin-1.21.x-1.6.jar
  • Built with Java 21 Сборка выполнена под Java 21
  • Maven-based build (mvn clean package) Maven-билд (mvn clean package)

⚠️ Notes / Примечания

  • 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.


📌 Upgrade / Обновление

  • Replace the old JAR in your plugins/ folder and restart the server. Замените старый JAR в папке plugins/ и перезапустите сервер.

PlayerStats API 1.21.X

release22 декабря 2025 г.

Вот корректно отформатированная версия для вставки в Modrinth changelog (с правильными переносами, разделителями и Markdown-структурой):


StatsPlugin 1.21.x — Release 1.5

✅ Compatibility / Совместимость

  • Paper / Minecraft: 1.21.x (1.21, 1.21.1 … 1.21.11)
  • Java: 21
  • API: Paper API 1.21 (no patch-specific binding / без привязки к патч-версиям)

✨ What’s changed / Что изменилось

  • 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).


🔧 Improvements / Улучшения

  • 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 плагина.


📦 Build details / Информация о сборке

  • 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)


⚠️ Notes / Примечания

  • 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. Изменения в конфигурации при обновлении не требуются.


📌 Upgrade / Обновление

  • Replace the old JAR in your plugins/ folder and restart the server. Замените старый JAR в папке plugins/ и перезапустите сервер.

Если хочешь, могу сделать версию с более «продающей» подачей (чтобы релиз выглядел сильнее на Modrinth в ленте обновлений).

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:3 месяца назад
Обновлён:1 день назад
Главная