Changelog
What shipped in MCAnalytics
Every change server owners can see, newest first, with the date it went live. Connector releases show their version.
Week of 12 October 20262 changes
Connector 1.0.23: Spigot support and clean shutdown notices
- The Paper connector now also runs on Spigot 1.20 and newer. On Spigot, MSPT and the client brand are not reported.
- When a server shuts down cleanly, the connector tells MCAnalytics, so the Discord bot can post that it was shut down instead of guessing from missed heartbeats.
Discord alerts no longer guess that a server is down
- The bot no longer posts Server offline and Server online when a server misses heartbeats for a few minutes, so a quick restart at night stays quiet.
- A server that is shut down cleanly is posted once, for example "lobby was shut down." Nothing is posted when it starts again. This needs a connector that reports the shutdown; with an older one a stopped server just goes quiet.
- A server saved under an id instead of a name is shown as Paper server, Velocity proxy or Your server.
- Webhooks of your own still receive server.offline and server.online, and can now subscribe to server.stopped.
Week of 28 September 202633 changes
Connector 1.0.22: NPCs no longer count as players
- NPCs from Citizens and similar plugins, and fake players with no real connection, are no longer counted as online, put on the heatmap or sent as player events. On a server behind a proxy they filled the console with events the proxy never reported.
- A player kicked while joining, for example a direct connection refused by Velocity forwarding, no longer leaves events behind.
- The console line about events waiting for a player now names up to 3 of them, so you can see who it is.
- Events that failed earlier and are tried again get one plain line every 10 minutes at most, instead of a dead-lettered message every 30 seconds. Events waiting for a player are tried once an hour as intended.
Connector 1.0.21: Render now from the dashboard
- The world map has its own page, World map in the sidebar, with layers you can turn on and off, storage per map and why each server has the map it has.
- Render now on that page reaches every Paper server on 1.0.21 within a few minutes, so you no longer have to wait for the night or run /mca map render in the console.
Connector 1.0.20: quiet console with the world map off
- With the world map off in Settings, the connector printed "Deleted the map folder on this server" every minute. It now deletes the folder once and stays quiet.
- Deleting map data in Settings still works the same way while the map is on.
Connector 1.0.19: bring your history over from Plan
- New console command mca import plan reads Plan's database on the same server and sends its players, sessions, playtime and join addresses to MCAnalytics.
- Join addresses from Plan become sources, and everything imported is marked Imported from Plan on the player page.
- Safe to run again: sessions already imported are never added twice, and nothing the connector recorded live is changed.
- mca import plan status shows how far it is, and mca import plan cancel stops it. The next run picks up where it stopped.
Connector 1.0.18: quieter console behind a proxy
- Bedrock players on a Paper server behind a proxy are now matched to the player the proxy recorded, so their events are kept.
- Events for a player the proxy has not reported yet are set aside and tried again every hour, not every few seconds, and dropped after 7 days.
- The console shows one short line a minute about those events instead of a warning for each one.
Connector 1.0.17: world map (experimental)
- On the Network plan and up, Settings, Data and privacy can turn on a rendered world map. It is off until you switch it on.
- The connector renders only around spawn, your WorldGuard regions and the chunks players used, on one low priority thread that pauses when a tick takes over 40 ms.
- Players, Places shows the map from above with time spent, quit points and region outlines, and a 3D view.
- Works on Minecraft 1.13.2 to 1.21.11 with Java 21 or newer. Delete map data in Settings removes it everywhere.
Connector 1.0.16: anticheats found
- The connector finds GrimAC, Polar, Vulcan, Matrix and other anticheats on Paper and Folia, and tells you if their bans are attributed.
- Fair Play and Settings, Servers show each anticheat per server, with the last ban it reported.
- /mca status lists the anticheats found.
Connector 1.0.15
- The connector now reports votes from NuVotifier and Votifier, heat samples and the chunk a player quit from, and the route a player takes between servers.
- A new API jar, mcanalytics-api-1.0.15.jar, lets your own plugin send custom events with MCAnalytics.track on Paper, Folia and Velocity.
- A confirmed ban now says which anticheat reported it, GrimAC or Polar.
- Heat sampling is on by default. Set heatmap: enabled: false in config.yml to stop it.
Terms now cover anonymous case studies
- Section 9 of the Terms describes anonymous case studies: they are opt in, only the network owner can turn them on, and an operator reviews each one before it is public.
- Turning the setting off withdraws the study at once. Nothing changes for networks that never turn it on.
- You do not need to accept the Terms again. New checkouts and case study choices record the October 3 version.
Loader 1.0.6
- The loader for BungeeCord and Waterfall is published next to the Velocity and Paper ones, and the setup panel offers it.
- The Paper loader detects Folia when it starts and runs on Folia's own schedulers. There is no separate jar.
- Every platform pairs the same way: get a code in Settings, Servers, then type mca pair and the code in the console.
Free for networks under 50 players
- A network that peaks at 50 players online at once or fewer is free. There is no card, no approval and nothing to verify, and your dashboard opens the moment you name your network.
- The number that counts is your peak over the last 7 days, read the same way as Online now.
- If the peak goes over 50, you get a notice, one email and one Discord alert, and 7 days to upgrade. After that the boards show data up to the end of the grace period.
- Your servers keep sending data the whole time and nothing is deleted. Community access that an operator granted by hand has no cap and is never locked.
Vote tracking and vote ROI
- A new Votes page counts the votes server lists send through NuVotifier or Votifier: per day and per site, with top voters and streaks.
- A vote is matched to a player by premium UUID, Bedrock XUID or cracked UUID, never by name alone. A vote that matches nobody is listed as unmatched.
- Vote ROI shows, for each site, the share of its voters who came back between Day 1 and Day 7 and what they bought, next to players who did not vote. A site needs 20 voters before it shows a number.
- It is on the Network plan and up. Votes are recorded on every active plan, so an upgrade shows the votes you already had.
Heatmaps and session paths
- The Players page has a chunk heatmap of where players spend time and where they quit, with WorldGuard regions drawn as dashed outlines.
- A Session paths card shows where sessions start, the most common moves between servers, and the last server before players leave.
- The connector sends a count per chunk, never a block position. The only position tied to a player is the chunk they quit from, kept 35 days.
- It is on the Network plan and up.
Churn risk and the cohort table
- The Retention page has a cohort table: Day 1, Day 7 and Day 30 return for players grouped by the day, week or month they first joined.
- A list of players at risk names regulars who are playing less than they used to, with the reason beside each name, and exports as CSV.
- The score is five fixed rules and is not a forecast. Banned players are never listed.
- It is on the Network plan and up. Lower plans keep the return curve and the weekly cohort grid.
Custom events and the export API
- Your plugin can send events with one Java call, MCAnalytics.track, or your site and bot can post them over HTTP with a key.
- A Custom events page shows events per day, the top events, one prop broken down, and a funnel of 2 to 4 events.
- The export API gives players, sessions, purchases from every store, votes and custom events as JSON or CSV, one page at a time.
- Both are on the Network plan and up.
Several stores: Tebex, CraftingStore, PayPal, Stripe
- Connect CraftingStore, your own PayPal account or your own Stripe account next to Tebex. A network can also connect more than one Tebex store.
- Each store has its own webhook address and secret, and every delivery is verified before it is read.
- A purchase is matched by premium UUID only. Revenue adds every store, lets you pick one, and compares them in Revenue by store.
- It is on every plan, the free plan included.
Discord alerts
- Paste one Discord channel webhook in Settings, Integrations and get new purchases, lag on a server, player cap warnings and a daily summary in that channel.
- Retention Autopilot now posts to the same webhook, so a network has one Discord integration.
- The webhook is stored sealed and never shown again. It is on every plan.
Player lookup for staff
- A new Player lookup page finds one player by name, UUID or Bedrock XUID and shows their first join address, sessions, purchases, votes, confirmed bans and churn risk.
- Owners and admins can leave private notes, and every search and note is written to an audit log.
- A Discord /lookup command gives staff the same search, for the network their Discord account belongs to.
- It is on the Network plan and up. Viewers can use it only when the owner allows it in Settings, Team.
Anonymous case studies
- The owner can switch on Share an anonymous case study in Settings, Data and privacy. It is off for every network until then.
- A study has relative curves, week numbers and a size band, and no names, hostnames, players or revenue amounts. An operator reads it before it goes public.
- Switching it off deletes your study at once.
BungeeCord, Waterfall and Folia
- MCAnalytics now runs on a BungeeCord or Waterfall proxy. It reads the join address, records one session across every server switch, and reports votes and heartbeats.
- On Folia the Paper loader runs every read of a player or chunk on the thread that owns it. Health shows Not available for TPS, because Folia has no single tick rate.
- Both are on every plan, the free plan included.
Which plan has which new feature
- Network and up: votes with vote ROI, heatmaps and session paths, churn risk and the cohort table, custom events, the export API and player lookup.
- Every plan: Discord alerts, several stores, BungeeCord and Folia support, and anonymous case studies if you opt in.
- The pricing cards and the feature pages list the same.
Where players go, from WorldGuard
- If WorldGuard 7 is on a Paper server, the connector now reports which regions players enter and leave. The Players page has a new card, Where players go, with the regions that hold players longest, where new players spend their first session, and where they quit.
- Only the region name and the world are sent, never where in a region a player stood. Set worldguard-regions: false in config.yml to stop it. Without WorldGuard nothing changes, and the card asks you to install it.
- The connector also notes how far a new player got from where they started, as one of four sizes: under 16 blocks, 16 to 64, 64 to 256, or over 256. It sends the size, not a position, and needs no WorldGuard.
- Retention Autopilot uses that in Never left spawn. A player counts as never having left when they stayed under 16 blocks, or never left a region named spawn, and made no move off the hub server. Older connectors keep the old rule.
- config.yml has a new auto-update-loader: true line, with a comment, for the loader self-update setting.
Plan limits are now enforced
- If your peak players online in the last 7 days goes past your plan's cap, you get 7 days to upgrade. Your servers keep sending data the whole time and nothing is deleted.
- After that week the dashboard shows data up to the day the grace period ended. Everything since is recorded and appears as soon as you upgrade or your peak is back under the cap.
- Fair Play, the anti-cheat board, is on the Network plan and up. Networks on a lower plan see what it does and how to switch it on.
- When a plan is not active, the connector keeps its events on disk instead of dropping them, and sends them once the plan is active again.
Spark lag profiling
- A Paper server that stays under 18 TPS or over 50 ms per tick for 30 seconds can now start a Spark profile. A server takes at most one every 30 minutes and 10 a day.
- Health marks each lag spell on the TPS and MSPT charts. A Lag events card lists them, each with a link to its Spark report.
- A new card compares the 7-day return of new players whose first session overlapped lag with other new players.
- It is off until you switch it on in Settings, under Integrations. It needs the Network plan or Unlimited, and connector 1.0.13 or newer on a Paper server.
- Spark uploads each report to spark.lucko.me as a link that anyone who has it can open. Share those links only with people you trust.
Retention Autopilot and more on Unlimited
- Retention Autopilot is a new Autopilot page under Analytics. It shows where new players drop off in their first session, sends a Discord alert to the webhook you save when a join address's 7-day return falls, and says what to check first. It is on the Unlimited plan, and a demo is open to everyone.
- The network API and outgoing webhooks now come with the Unlimited plan. Other plans see the Settings blocks locked, and an API request answers 403.
- Unlimited networks can pick 1 year and All time on every dashboard page. Both are charted by the week. Your data is kept the same on every plan; the long ranges only change how much of it a page shows.
- The home page has a refresh: Who came back and What they spent now show one whole dashboard card each, and the link preview says a little more.
- Links to mcanalytics.org that end in a ref name, such as ?ref=oa, are now counted by name in our site numbers, and the ref is removed from the address bar.
Links keep your range and server
- Links between boards keep your date range and your server, so a page opens on what you were looking at.
- Invitation emails link straight to the dashboard.
- Opening the dashboard while signed out shows the sign-in page in place, with fewer redirects.
Several proxies, counted once
- Online now no longer counts a player twice on a network with more than one Velocity proxy.
- Pairing a second proxy under a name that is already paired is refused, so it can no longer switch off the first one.
- A proxy leads the server lists, and the servers behind it read as the same players, not extra ones.
- The public status page lists the proxy first, and drops TPS for a network made only of proxies.
- A new docs page, Several proxies and regions, shows the setup.
Plan cap notice
- Overview and Billing show a quiet line when your peak in the last 7 days went past your plan's player cap.
- The notice never cuts any data, and you can dismiss it.
Credit on plan downgrades
- New monthly subscriptions are created in a way that lets a downgrade leave a credit on your next invoice.
- The credit is based on what you paid, so the $1 first month counts as $1.
New prices
- Monthly plans are now $4.99 for Starter, $9.99 for Network and $24.99 for Unlimited. Lifetime plans are $49, $99 and $249.
- The first month is still $1 on every monthly plan, once per network.
- Plan cards now lead with the player cap.
- Existing subscriptions keep the price they pay today.
- The launch video on the home page shows the new prices.
Security page and player privacy
- A Security page at /security says what the connector sends about your players and who can see it.
- The home page has a section on players' privacy.
- The privacy policy and the data processing text were updated to match how the connector works.
Fair Play: bans by source
- A new card lists confirmed bans for each join address, with banned players, new players and bans per 100 new players.
- A source with fewer than 20 new players reads Not enough players, so a small sample does not pass for a trend.
- Fair Play is part of the Network plan and Unlimited.
Week of 21 September 202620 changes
Launch video on the home page
- A 39 second video with no sound sits under the buttons on the home page. It runs on sample data.
- It shows which join address brought players who stayed and paid, who comes back, revenue per source, server lag, bans by source and one count across the proxy.
- It plays only while it is on screen, and never with reduced motion or Save-Data on.
- A text transcript is there for screen readers.
A better phone experience
- Below 640 px wide, every dashboard table turns into cards, one per row.
- Open the menu by tapping the logo, or by swiping in from the left edge.
- Slide a finger across any chart to read it. A vertical swipe still scrolls the page.
- Tap targets are 44 px on a phone, and a page no longer slides sideways.
- The Health heatmap fits a phone screen and reads one cell at a time.
Free coupon orders are not revenue
- A Tebex order that a coupon made free ($0) no longer counts as a sale or as a paying player.
- Revenue has a new Paying customers card. It lists everyone who paid in the range, plus the free coupon orders.
- The Paying players figures on Overview and Revenue open that list.
Faster Overview and loading outlines
- Overview opens faster.
- Every dashboard page shows a loading outline that matches its layout.
- A thin progress bar runs across the top while a page loads.
Terms at checkout
- Checkout has a required box: you agree to the Terms of Service and the Data Processing Addendum, and confirm you have read the Privacy Policy.
- The pay button stays off until the box is ticked.
- The Terms version you accepted and the time are saved with the Stripe payment.
Fair Play leads with confirmed bans
- The Paper connector reports confirmed bans only, so the flag cards read 0 on a real network.
- With no flags in the range, Fair Play now leads with confirmed bans, bans per 100 players and players who played, and opens the log on bans.
Public demo
- Click through the real dashboard boards at /demo, with no account.
- Seven pages: Overview, Retention, Players, Revenue, Growth, Health and Fair Play.
- Every number is sample data, and a banner on each page says so.
- Controls that would change data are hidden.
- There is a Demo link in the top menu and a Live demo button on the home page.
Dashboard redesign
- All nine areas moved to one card layout: Overview, Retention, Players, Revenue, Growth, Health, Fair Play, Settings, and Billing with Account.
- A top bar holds the breadcrumb, Search (Ctrl K) and Help. The sidebar groups pages under Analytics, Network and Account.
- The Overview chart plots players online for each minute on the 24 hour range. Switch between the whole network and a split by server.
- Each chart has a stats row with Now, Peak, Low, Median and Change.
- Cards show a change chip against the period before, and most tables and charts have Export CSV.
Retention page
- Day 1, Day 7 and Day 30 return, with the change against the window before.
- A return curve from Day 1 to Day 30, and a grid of weekly cohorts you can split by join address or identity type.
- A Players at risk list: regulars who played on at least 3 days in the last 30 and have not been seen for 7 days or more.
- A day nobody has finished yet reads Pending, never 0%.
- The curve, the grid and the list all have Export CSV.
Manage your plan in the dashboard
- Switch plans, cancel and resume a monthly plan on the Billing page. The Stripe portal is only for your card and older invoices.
- Before you switch, the card shows the price. An upgrade charges the difference now. A downgrade leaves a credit on the next invoice.
- A downgrade warns you when your peak over the last 30 days is above the new plan's cap.
- If your bank needs to confirm the payment, a Confirm payment button opens the invoice. The plan changes once it is paid.
Pairing right after checkout
- After you pay, a network with no server lands on Servers with the pairing form open.
- A Not getting data? block shows live checks for Paired, First heartbeat and First player, with a short checklist.
- Once a server reports but no player is recorded yet, Overview, Players and the sidebar say the server is connected and players show up as they join, instead of asking you to pair.
- An open pairing code shows a live countdown, and it survives a page reload.
Settings has its own pages
- Settings is split into pages in the sidebar: Servers, Network, Join addresses, Team, Integrations, Status page, Privacy and Danger zone.
- Billing is its own sidebar item.
- Old Settings links still land on the right page.
Calmer connector messages
- The connector always talks to mcanalytics.org. The old api-url setting is ignored, with one calm line in the log.
- A short network blip logs nothing. After 2 minutes of failures you get one clear warning that says your server is fine and data is kept on disk until the connection is back.
- The Paper config.yml now keeps only server-name, deployment-mode, track-ip-address, debug and anticheat. Velocity's config.toml keeps server_name and debug. Timeouts, retries and file paths are fixed in code, and old keys never stop startup.
- Log lines carry the [MCAnalytics] prefix.
Plain Paper servers record their players
- A Paper server with no proxy was treated as a proxy backend and recorded no sessions. A server is a backend only with Velocity forwarding or BungeeCord mode set.
- Paper sends the session at join and again at quit, so players show in Online now while they play.
- Players already online when you install or pair get a session right away.
- The startup log and /mca status name the deployment mode and the reason.
Small dashboard fixes
- Dropdown lists have a dark background, so Currency display is readable in Chrome on Windows.
- Manage billing opens the Stripe portal in a new tab, and the dashboard stays put.
- Visits to http://mcanalytics.org are sent to https.
- Buttons and fields in Revenue and Settings no longer touch or overlap.
- Signing in from a Settings page returns you to that page.
Players counted once behind a proxy
- A Velocity proxy reports every player, and each Paper server behind it reports its own share of the same players. Totals added them all up, so a network showed twice its real head count.
- When a proxy reports, totals now use what the proxies hold. Without a proxy, servers are added up as before.
- This covers Online now, the Health Online card, the activity chart and peaks, the public status page and the players badge.
- A server that is in your MCAnalytics network but not behind the proxy is left out of the total while the proxy reports.
TPS reads Not available on Folia and proxies
- Folia and Velocity have no single tick rate. The connector used to send a placeholder 20 TPS, which Health read as a healthy server. It now sends none.
- Health, the setup guide and the sidebar show Not available, and averages use only the servers that report a tick rate.
- Online now and the Health totals move with each heartbeat, with no page reload.
Startup fixes for Velocity and Paper
- Loader 1.0.1 fixed the Velocity connector failing to start when another plugin ships its own SQLite driver.
- The startup banner and plugin version now show the real connector version.
- Paper 26.3 is no longer reported as Folia.
Billing fixes
- Deleting a network cancels its subscription first, and stops with an error if the cancel fails.
- A payment method that settles late now switches the plan on when the payment clears.
Fewer connection warnings
- When our edge closes an idle connection just as the connector sends, the connector now resends once on a new connection.
- A short network problem that clears on the next try no longer prints a warning in your console.
Week of 14 September 20268 changes
A real connection check
- Each server reads Connected, quiet, offline or Never connected, from the age of its last heartbeat.
- The window scales with how often your connector really sends.
- Overview, Settings, the sidebar dot and its list use the same rule, so the count and the dots agree.
Return rate for young networks
- Before any 7 day window has closed, Overview shows the return so far, marked so far, instead of Pending.
- Returned players shows how many came back so far, and the tooltip names the day the first windows close.
- Once some windows have closed, the final rate is the headline again, with a muted line for returns still sitting in open windows.
Player profiles open again
- Opening a player profile could fail with a server error. That is fixed.
- The public status page had the same fault and is fixed too.
A calmer dashboard
- Panels are flat and lifted off the page with a quiet border, and spacing follows one scale so nothing touches.
- Boards show labels and numbers instead of paragraphs under titles.
- Two floating buttons sit in their own rail on the right, so they never cover a table or a button.
- No board scrolls sideways, and there is less underlined text.
Our outages do not count against you
- When MCAnalytics itself is unavailable, that time is left out of heartbeat uptime and reporting gaps.
- Alerts are held during the outage and for 15 minutes after it, so you get no false offline alerts.
- Health and Overview draw the outage as a grey column labeled MCAnalytics was unavailable.
- A dismissible notice shows on Overview and Health for 48 hours after an outage.
In game events from Paper servers behind a proxy
- Paper servers behind Velocity now record in game events: commands, deaths, kills, advancements, world changes and more.
- The proxy still reports the session, so nothing is counted twice.
- Chat and command text stays off unless you turn it on in Settings.
Live connection updates
- A server you pair, rename or remove shows up on an open dashboard within a second, with no reload.
- A pairing code that runs out shows as expired on its own.
Security hardening
- More checks and limits on the endpoints that receive webhooks, billing callbacks and connector requests.
- Stored webhook and store secrets are encrypted.
- Chat and command text is stored only when you switch it on. Passwords and private messages are never stored.
Week of 7 September 202622 changes
Player events and the first session
- The connector records what players do after they join. Paper: commands, chat, deaths, kills, advancements, world changes, teleports, respawns and kicks. Velocity: server hops, kicks and client details.
- By default no chat or command text leaves your server. A chat message sends its length, and a command sends its label only.
- You can switch on Collect chat and command text in Settings, under Privacy. Passwords and private messages are never collected.
- A First session card shows the median first session length for each source next to that source's 7-day return.
- Player events need connector 1.0.5, and data starts after you update.
Revenue from Tebex or by hand
- Revenue offers two ways in: connect your Tebex store, or add revenue by hand.
- A hand entry has a date, an amount, a currency, a source label and a note.
- Hand entries are never mixed into Tebex package numbers. They get a Manual revenue card and a Manual tag.
Manage servers in Settings
- Servers is the first Settings page, with one Add a server button that opens the pairing form.
- Rename a server without touching its credential.
- Re-pair mints a fresh code for the same server, for a swapped machine. The old credential stops working when the new one is used, and the row keeps its history.
- Remove ends the credential at once. What the server already sent stays in your numbers.
Sign in with Google and Discord
- Signing in with Google or Discord now links to the account that already has the same verified email.
- A failed sign-in shows its error on the sign-in page.
Server and network switchers
- A server switcher in the dashboard header offers All servers and each registered server, with its platform and a reporting dot.
- The choice is in the address, so a link opens the same view. Pages with per-server data follow it.
- A network switcher lists the networks you belong to.
A guided setup page
- The setup guide at /start is one page. Say what you run: a Velocity network, a single Paper server, or not sure.
- It shows only the steps that apply to your answer, and remembers the answer.
- You can pick a plan, download the loader and get a pairing code without leaving the page.
- Each step reads done, now or later.
Corrected numbers and steadier alerts
- Uptime counts every server, so a dead server can no longer hide behind a live one.
- A player who played from two countries is counted once in the country shares.
- A join that arrives late now moves the first join date back, and the credited source moves with it.
- Tebex purchases are matched to players by premium UUID only. Anything else stays in Unmatched.
- A server that stopped reporting while it struggled is no longer announced as recovered. Join drop and ban spike alerts need two checks in a row to open.
Yearly revenue report and packages
- A yearly report shows twelve months of gross revenue, refunds and chargebacks, net, purchases, buyers and average order, with a year picker.
- Download the report as CSV.
- A Packages card ranks packages by revenue, with share bars.
- Each purchase is counted once, whatever number of servers its package covers.
Peak concurrency planning
- Health shows the peak for today, the last 7 days, the last 30 days and all time, each with the minute it happened.
- Headroom compares your 30 day peak with your plan's player cap. It warns at 80 percent and turns critical at 95 percent, with a link to Billing.
- A four week grid of day of week by hour shows when the network is busiest.
- Overview has a Peak today tile.
Public status page and badges
- Switch on a public page at /status/your-name that players can open without an account.
- It shows the overall state, players online now, average TPS for the last hour, and TPS and players over 24 hours.
- You choose whether it shows player counts and a row per server. It never shows player names, addresses or revenue.
- Three SVG badges (status, players and TPS) come with ready embed code for a website, a readme or a forum signature.
Join funnel and playtime leaderboards
- A join funnel for each hostname: first joins, qualified first sessions, returned within 7 days, and bought within 30 days.
- A step that is still open reads Pending, so a young cohort never looks like a failure.
- Playtime leaderboards on the Players page.
Read API, CSV export and webhooks
- Make an API key in Settings, under Integrations, and read your overview, players, revenue and health from your own tools.
- A key is shown once, carries only the scopes you tick, and can be revoked.
- Export sessions, purchases and players as CSV.
- Register an https endpoint to receive signed alerts from your network.
Creator codes and coupons
- Tebex payments now bring their creator code and coupon list, and both are stored on the purchase.
- Growth reports what each creator code brought in: purchases, revenue, refunds, unique buyers, and revenue per join.
- Link a creator code to a join address to see the joins it drove.
- A refund or chargeback keeps its code.
Lifetime value and spenders
- Value by join week shows cumulative revenue per player at Day 7, Day 14, Day 30, Day 60 and Day 90.
- Payer retention shows how many payers paid again one, two and three months later.
- Top spenders lists players by total spent, with a filter for big spenders who stopped playing.
- An Engaged, no spend list shows players with long playtime who have not bought anything.
Notes on charts
- Owners and admins can drop a dated note on a chart: a video, a wipe, a sale, a release or an incident.
- Every chart whose range covers the note draws a thin marker with a numbered chip.
- Everyone on the team can read the notes. Only owners and admins can add or edit them.
Cohort retention and date comparison
- Weekly cohorts of first joins, with return measured on numbered days.
- A cell for a day nobody has finished reads Pending, never 0%.
- Compare a date range with the one before it.
Discord alerts
- Five alerts post to the MCAnalytics Discord for networks linked to your account. Each one sends a second message when it clears.
- Server offline: no heartbeat for 3 minutes. Connector silent: no heartbeat from any server for 10 minutes.
- TPS low: under 15 on three checks in a row.
- Join drop: joins in the last hour under half of the same hour last week.
- Ban spike: confirmed bans well above the hourly average.
Player profiles and who is online
- Every player has a profile: first seen with the join address that got the credit, last seen, sessions, playtime, purchases and refunds.
- It lists sessions, the join addresses the player used and merged accounts, with a badge for premium, cracked or Bedrock.
- The Players page searches on the server and shows who is online now.
Player countries
- Players and Growth show which country players connect from.
- The country is read when a player joins. Premium, cracked and Bedrock players are all covered.
- A Paper server with track-ip-address off sends no address, so it gets no country.
Health charts
- TPS, MSPT, players online and memory are charted over 1 hour, 6 hours, 24 hours, 7 days or 30 days.
- All servers draw one line each. Pick a server to see only that one.
- TPS has a dashed line at 20, and MSPT has one at 50 ms, the time one tick has.
- A stretch where the connector reported nothing stays a gap, not a zero.
Connector 1.0.0
- Connector 1.0.0 is published for Velocity and Paper. The loader downloads it after a server pairs.
- It sends sessions, join addresses, heartbeats and confirmed bans over outbound HTTPS.
- It keeps events in a local spool on disk and sends them when the connection is back.
Loader download from mcanalytics.org
- The setup panel downloads the loader for Velocity and Paper straight from mcanalytics.org.
- A quiet Source link keeps the open source repository one click away.
Something you expected is missing, or a line is wrong? Tell us in the Discord. Setup steps are in the documentation, and the public demo shows the current dashboard on sample data.