PlayerStats APIСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (8)
release
PlayerStats API 2.2.0
2.2.015 сент. 2026 г.73Minecraft: 26.2bukkit, paper, purpur, spigot
Что нового
- Updated to 26.2
release
PlayerStats API 2.1.3
2.1.324 июн. 2026 г.94Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
### Added
- Added local activity history storage in `plugins/PlayerStatsAPI/history.json`.
- Added playtime growth tracking based on `minecraft:custom/minecraft:play_time`.
- Added activity metadata: first seen, last seen, last join, last quit, last session duration, active-now duration, and recorded playtime delta.
- Added daily playtime buckets for charting activity by date.
- Added UTC weekday-hour heatmap buckets for per-player and global activity heatmaps.
- Added activity API endpoints:
- `GET /moss/activity/<uuid>`
- `GET /moss/activity/<uuid>/playtime?limit=100`
- `GET /moss/activity/top?window=day|week&limit=10`
- `GET /moss/activity/heatmap`
- `GET /moss/activity/heatmap/<uuid>`
- Added `history.max-points-per-player` config option.
### Changed
- Player list and player detail API responses now include a compact `activity` object when history is available.
- `/moss/top/*` and `/moss/activity/top` now cap requested limits by `web.max-top-results`.
- Updated documentation for activity endpoints, history storage, build verification, and release flow.
### Fixed
- Replaced deprecated Paper `OfflinePlayer#getLastPlayed()` usage with `OfflinePlayer#getLastSeen()`.
**Full Changelog**: https://github.com/AREKKUZZERA/PlayerStats-API/compare/2.1.2...2.1.3
release
PlayerStats API 2.1.2
2.1.225 мая 2026 г.48Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
### What's New
- Added the new admin command `/playerstatsapi` with aliases `/psa` and `/psapi`.
- Added `/psa help`, `/psa status`, `/psa reload`, and `/psa synclog <on|off>`.
- Added config control for `[Sync]` console logs: `stats.log-sync-updates`.
- Added configurable `/statstop` limits: `commands.default-top-limit` and `commands.max-top-limit`.
- Reworked the default `config.yml` into clearer `stats`, `commands`, and `web` sections.
### Changes
- `[Sync]` logs are now disabled by default to avoid console spam.
- `/psa reload` and `/statsreload` now apply config changes at runtime.
- Older flat config keys are still supported, so existing configs keep working.
release
PlayerStats API 2.1.1
2.1.121 мая 2026 г.33Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
### Changed
- Reduced final plugin jar size.
- Removed unused Maven Shade packaging for a cleaner lightweight jar.
- Removed Maven descriptor metadata from the final jar.
- Disabled Java debug metadata in release classes.
- Updated Palantir Java Format to 2.90.0 for compatibility with the current JDK.
### Fixed
- `/statsreload` now reports completion after stats reload actually finishes.
- HTTP server executor is now shut down when the plugin stops.
- CORS allowed methods now match the API surface: `GET, OPTIONS`.
release
PlayerStats-API 2.1
2.128 мар. 2026 г.85Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
### 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` вместо прямой ссылки
release
26.1 - Stability & Performance (1.21.X)
2.028 мар. 2026 г.46Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
# 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
* Добавлены логи синхронизации загрузки статистики
release
PlayerStats API 1.21.x
1.623 февр. 2026 г.80Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
## 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/` и перезапустите сервер.
beta
PlayerStats API 1.21.X
1.522 дек. 2025 г.98Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Что нового
Вот корректно отформатированная версия для вставки в **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 в ленте обновлений).