⬡ MineAnalytics — AI-Powered Player Analytics
The only Minecraft plugin that PREDICTS when players leave and WHY
3 Killer Features (unique on the market)
1. ️ Heatmap — Activity Heat Map
See WHERE your players spend time. Chunk-based aggregation with Bloom filter + LRU cache. Interactive Leaflet.js web map.
- Real-time position sampling (configurable interval)
- Chunk-based intensity aggregation
- Top hotspots ranking
- Web dashboard with Leaflet.heat overlay
- Bloom filter for memory efficiency
2. Churn Prediction — Know Who Leaves Before They Do
AI-powered 5-factor risk scoring for every player. 0-100 score with LOW/MEDIUM/HIGH/CRITICAL classification.
- 5 risk factors: session frequency, duration trend, days since login, activity diversity, social connections
- Specific churn REASONS for each player
- Actionable RECOMMENDATIONS: "Send a welcome message", "Add engaging content near spawn"
- Web dashboard with risk distribution chart
3. Retention Funnel — Cohort Analysis Day 1-30
Know exactly WHEN players drop off. Cohort-based retention with automatic calculation.
- Day 1 → 3 → 7 → 14 → 30 tracking
- Cohort table + line chart on web dashboard
- Automatic recalculation every 6 hours
- CSV export for deeper analysis
Web Dashboard (Built-in)
Zero configuration — web server starts automatically on port 8080.
- Overview — Online players, TPS, unique today/week/month, server stats
- Heatmap — Interactive Leaflet.js map with heat overlay
- Retention — Cohort table + Chart.js line graph Day 1-30
- Churn — Risk table with factors, reasons, distribution chart
- Players — Full player profiles, sessions, activities, playtime
AI-Powered Features (v2.0)
- Chat Moderation — AI detects toxicity, hate speech, spam, advertising, grooming (GLM-4.7-Flash, FREE)
- Player Segments — Auto-classify: Builder, Fighter, Trader, Social, Explorer, Veteran, Newbie
- Telegram Bot — Monitor your server from phone: /status, /players, /top, /churn, /alerts
- Push Alerts — Get notified when churn risk spikes, TPS drops, or milestones hit
24+ REST API Endpoints
Full API for integration with external tools:
Code (Text):
GET /api/overview — Server overview stats
GET /api/stats — Detailed server statistics
GET /api/tps — Current TPS + history
GET /api/heatmap — All heatmap points
GET /api/heatmap/{world} — World-specific heatmap
GET /api/retention — Retention cohorts
GET /api/players — All player profiles
GET /api/player/{uuid} — Player detail
GET /api/sessions — Recent sessions
GET /api/activities — Recent activities
GET /api/churn — Churn risk analysis
GET /api/economy — Economy snapshot
GET /api/health — Health check
GET /api/moderation — Moderation logs
GET /api/acquisition — Player sources
GET /api/funnel — Funnel analytics
GET /api/segments — Player segments
GET /api/ab-tests — A/B test results
GET /api/benchmark — Anonymous benchmarks
GET /api/network — Multi-server sync
GET /api/alerts — Alert history
/CODE
SIZE=5B⚙️ In-Game Commands/B/SIZE
CODE
/analytics status — TPS, online, unique players, avg session
/analytics heatmap — Top 10 hot zones
/analytics retention — Day 1-30 retention cohorts
/analytics churn — Players with HIGH/CRITICAL churn risk
/analytics economy — Economy balance stats
/analytics reload — Reload configuration
/stats — Quick server overview
/playerstats <name> — Player profile, sessions, kills, deaths
/refer generate — Generate referral code
/refer <code> — Use referral code
/abtest create — Create A/B test
/abtest list — List active tests
/abtest results — View test results
/CODE
SIZE=5B Integrations/B/SIZE
LIST
*BVault/B — Economy monitoring, permission hooks
*BPlaceholderAPI/B — 15+ placeholders: %mineanalyticstps%, %mineanalyticsonline%, %mineanalyticschurnrisk%, etc.
*BBungeeCord/Velocity/B — Multi-server network sync (MySQL)
/LIST
SIZE=5B️ Technical Stack/B/SIZE
LIST
*Java 25 + Paper API 26.1.2 (Minecraft 1.21.4+)
*HikariCP connection pool (SQLite / MySQL)
*Javalin embedded web server
*Chart.js + Leaflet.js + Tailwind CSS dashboard
*55 Java classes, 7700+ lines of code
*19 database tables
*Full async processing — zero main thread blocking
/LIST
SIZE=5B Installation/B/SIZE
LIST=1
*Download URL='https://papermc.io/downloads/paper'Paper 1.21.4+/URL server
*Drop BMineAnalytics-1.0.0-SNAPSHOT.jar/B into your B/plugins//B folder
*Start the server — plugin auto-creates config and database
*Open Bhttp://your-server-ip:8080/B for the web dashboard
* Install BVault/B for economy monitoring
* Install BPlaceholderAPI/B for placeholders
* Edit Bplugins/MineAnalytics/config.yml/B to customize
/LIST
SIZE=5B config.yml/B/SIZE
CODE
database:
type: sqlite # sqlite or mysql
host: localhost
port: 3306
name: mineanalytics
username: root
password: ""
pool-size: 10
web:
enabled: true
port: 8080
auth:
enabled: false
username: admin
password: changeme
sampling:
movement-interval: 200 # ticks (10 seconds)
activity-flush: 6000 # ticks (5 minutes)
retention-calculate: 72000 # ticks (6 hours)
hooks:
vault: true
placeholderapi: true
telegram:
enabled: false
token: ""
chat-id: ""
economy:
enabled: true
snapshot-interval: 36000 # ticks (30 minutes)
gini-alert-threshold: 0.8
moderation:
enabled: false
model: glm-4.7-flash
api-key: ""
warn-threshold: 50
mute-threshold: 70
kick-threshold: 85
/CODE
SIZE=5B Permissions/B/SIZE
CODE
mineanalytics.admin — Access to /analytics commands
mineanalytics.stats — Access to /stats command
mineanalytics.stats.others — Access to /playerstats <name>
/CODE
SIZE=5B❓ FAQ/B/SIZE
BQ: Does it work with Spigot?/B
A: Designed for Paper 1.21.4+, but should work on Spigot with reduced functionality.
BQ: Performance impact?/B
A: Minimal. All heavy operations (DB writes, AI analysis) run asynchronously. Main thread only does lightweight event recording.
BQ: Can I use MySQL?/B
A: Yes! Change Idatabase.type/I to Imysql/I in config.yml. Recommended for BungeeCord/Velocity networks.
BQ: Web dashboard over HTTPS?/B
A: Use a reverse proxy (Nginx/Caddy) with SSL termination in front of the web server.
BQ: Free?/B
A: Yes! All features are free and open-source.
SIZE=4B⭐️ If you like this plugin, please leave a review!/B/SIZE
---
### Documentation:
bbcode
SIZE=5B Full Documentation/B/SIZE
SIZE=4BWeb Dashboard Pages/B/SIZE
BOverview (index.html)/B
Shows real-time server metrics: online players, TPS chart, unique players
today/week/month, recent activities feed, top hotspots.
[B]Heatmap (heatmap.html)[/B]
Interactive Leaflet.js map. Select world from dropdown. See heat intensity overlay. View top hotspots table. Requires movement sampling enabled.
[B]Retention (retention.html)[/B]
Cohort table with Day 1/3/7/14/30 retention rates. Line chart showing retention trends. Auto-updates every 6 hours.
[B]Churn (churn.html)[/B]
Player risk table sorted by churn score. Doughnut chart showing risk distribution. Click player for detailed factors and recommendations.
[B]Players (players.html)[/B]
Searchable player list with sorting. View sessions, activities, playtime, kills, deaths for each player.
[SIZE=4][B]PlaceholderAPI Placeholders[/B][/SIZE]
[CODE]
%mineanalytics_online% — Online players count
%mineanalytics_unique_today% — Unique players today
%mineanalytics_unique_week% — Unique players this week
%mineanalytics_unique_month% — Unique players this month
%mineanalytics_new_today% — New players today
%mineanalytics_tps% — Current TPS
%mineanalytics_avg_tps% — Average TPS (5 min)
%mineanalytics_avg_session% — Average session length (minutes)
%mineanalytics_total_players% — Total registered players
%mineanalytics_total_sessions% — Total sessions
%mineanalytics_total_activities% — Total activities recorded
%mineanalytics_retention_1d% — Day 1 retention %
%mineanalytics_retention_7d% — Day 7 retention %
%mineanalytics_retention_30d% — Day 30 retention %
%mineanalytics_churn_risk% — Current player's churn risk
%mineanalytics_playtime% — Current player's total playtime
%mineanalytics_sessions% — Current player's total sessions
%mineanalytics_deaths% — Current player's total deaths
%mineanalytics_kills% — Current player's total kills
REST API Usage
Code (Text):
# Server overview
curl http://localhost:8080/api/overview
# TPS with history
curl http://localhost:8080/api/tps
# Heatmap data
curl http://localhost:8080/api/heatmap
curl http://localhost:8080/api/heatmap/world
# Churn analysis
curl http://localhost:8080/api/churn
# Player detail
curl http://localhost:8080/api/player/<uuid>
# Health check
curl http://localhost:8080/api/health
Advanced Configuration
Multi-Server (BungeeCord/Velocity)
Set all servers to use the same MySQL database. Each server gets a unique heartbeat. NetworkSync aggregates data across servers.
Telegram Bot
Enable in config.yml with your bot token. Commands: /status, /players, /top, /churn, /economy, /alerts, /help.
AI Chat Moderation
Requires GLM API key. Set
moderation.enabled: true. Configurable thresholds for warn/mute/kick actions.
![[IMG]](//proxy.spigotmc.org/c2f33b8b632b2d76281ba6fcbfacc96daa353d9b/68747470733a2f2f6170692e70696b77792e636f6d2f7765622f3639666464616561626263356535356530633166363061352e6a7067)