
Minecraft Metrics: Your Server's History and Player Statistics
What GameGrid Metrics records on a Minecraft server and where each figure comes from: players online, uptime and restarts, sessions and playtime, deaths, PvP kills and mob kills, exact travel distances, dimensions, chat and advancements, TPS and MSPT, blocks placed and broken, leaderboards, Discord and the API.
Where Metrics is
Open your server and click Metrics in the sidebar, just below Events. It is there in every state, stopped servers included, and a deactivated server keeps it so you can still read its history. Everything below works the same on all five server types: Vanilla, Paper, Fabric, Forge and NeoForge.
Metrics is yours. Only you and the people you give panel access to can see it, and nothing on the page is shown to your players unless you switch it on (see "Privacy" below).
On a Minecraft server it answers the questions owners usually ask. Is the lag the server, or one player's connection? Who has been on every day this month and who has drifted away? How much time does the group spend in the Nether compared with the Overworld? Who placed the most blocks building spawn?
On a Minecraft server the page has these tabs:
| Tab | What it is for |
|---|---|
| Overview | The headline cards: players online, resources, server health, busiest hours, and the player cards |
| Players | Every player ranked by kills, deaths, playtime, distance and more, plus Leaderboards |
| Sessions | Every session: who joined, when, for how long, how it ended and how far they went |
| Places | Dimensions, world spawn and 512-block areas, by time spent |
| Travel | Your live map with density, trails and deaths, distance on foot and riding, and speed |
| Combat | PvP kills and deaths, the kill feed, weapons, kill times, the kill map and deaths by cause |
| Events | Event Manager and Command Manager runs, prize events, stops and crashes |
| Economy | Coins earned and spent, purchases and deliveries (servers that use the GameGrid economy) |
| Activity | One timeline of chat, commands, advancements, joins and leaves, deaths, building, purchases and moderation |
| Health | Uptime, outages, start times, CPU, memory, network, disk, TPS, MSPT, entities and lag warnings |
| Busiest hours | A weekday-by-hour grid of when players are on |
| Settings | The Overview layout, Import history from logs, stats seasons, Player access and alerts |
The general guide to every card, range and button is Metrics: Your Server's History. This article covers what is specific to Minecraft.
How GameGrid collects Minecraft data
Nothing is installed in your server for Metrics: no plugin and no mod. Everything is read from what Minecraft already writes and answers: its log, its own per-player statistics and player data files, and RCON, which GameGrid sets up in server.properties on every start.
| What | Where it comes from |
|---|---|
| Server history: running, stopped, crashed, restarts and their causes, CPU, memory, network, disk, players online | GameGrid's own monitoring of the server, for every game |
| Joins, leaves, how each session ended (left, timed out, kicked) | logs/latest.log |
| Deaths, PvP kills and the weapon | The death messages in logs/latest.log |
| Mob kills, distance on foot and riding, blocks placed and broken | Each player's own statistics file, which Minecraft saves in the world folder; read every minute |
| Positions (trails, density, places) | Each player's data file, which Minecraft saves about every 5 minutes and at logout, plus the live map's own reading while someone has the Live Map open |
| Chat, commands and advancements | logs/latest.log |
| TPS, MSPT, entities and admins online | RCON every minute: tick query, an entity count in each dimension, and list matched against ops.json |
| Lag warnings | The server's own "Can't keep up!" lines in its log |
Who a player is on Minecraft
Minecraft Java has no Steam account, so a player is identified by their Minecraft account (its UUID), which the server logs as they join. A player who renames their account stays the same player.
A server with online-mode=false does not verify accounts, so the UUID it logs is made from the name. GameGrid then identifies players by name, and a rename looks like a new player; the panel marks such names "(name only)". See server.properties.
The Overview
| Card | What it shows on Minecraft |
|---|---|
| Players online | The highest player count in each interval, the peak and when it happened, the average, and how much of the running time the server was empty |
| Resources | CPU and memory while the server ran, how long it ran, and how long it has been up now |
| Server health | When the server was running, starting, stopped, crashed or unreachable, with every crash and restart marked and named by its cause |
| Busiest hours | Weekdays by hours in your time zone, darker where more players were on |
| Top players | Your top five by kills, with their playtime |
| Player engagement | Unique and new players per interval |
| Session duration | The average session length, the median and the longest |
| Logins per day | Sessions started each day |
| Deaths & kills | Every death and every PvP kill, with the split between deaths to creatures and to players |
| Deaths by cause | What killed your players: creatures, other players, animals, the environment (falls, lava, drowning, the void), explosions and more |
| Top places and Travel | The dimensions and areas players spent most time in, and distance per day |
| Chat & commands | Messages and commands per day and the most active chatter |
| Event history | The latest five events |
| Recent kills | The latest five PvP kills |
| Building | Blocks placed and broken per day, and your top builders |
| Economy | Coins earned and spent per day, on servers that use the GameGrid economy |
Untick or reorder cards on the Settings tab, or with ⚙ Layout at the top of the page.
Server health, uptime and restarts
The Server health summary reads like "Availability 96.4% · Uptime when meant to be on 99.1% · 1 crash · 3 restarts (2 scheduled, 1 Event Manager)".
- Availability is the share of the range the server was running.
- Uptime when meant to be on leaves out the time you meant it to be off: after you stop the server yourself, that time does not count against it until you start it again.
- Every restart is named by its cause: Owner (you, from the panel, the API or the Discord bot), Scheduled restart, Event Manager, Command Manager, Update or move, Crash recovery, Exited by itself, Crash, Host unreachable, Deactivated, or Other when nothing recorded why.
- A grey band labelled server log unavailable: player data unknown marks minutes the server ran but its log could not be read, so who was on is not known for those minutes. It is not "nobody played".
The Health tab adds Availability per day, Outages (every stretch the server was meant to be on but was not), Time to ready (how long starts take, on average and for nine starts in ten), CPU, Memory, Network, Disk used, Backups and Game updates and mods.
Performance: TPS, MSPT, entities and lag warnings
Minecraft runs on ticks, not frames, so Metrics calls its rate TPS and asks the server for it once a minute.
- TPS is ticks per second. Minecraft aims for 20. A server that holds 20 is keeping up, whatever else the graphs show; one that sits at 15 is running everything, crops, mobs and redstone, at three quarters speed, and players notice.
- Milliseconds per tick (MSPT) is how long one tick takes. A tick has 50 ms before it is late, so MSPT under 50 means there is headroom and MSPT over 50 is the reason TPS drops. MSPT is the earlier warning: it creeps up from 20 to 40 before TPS moves at all.
- Entities is every mob, animal, item on the ground, minecart and armour stand in the Overworld, the Nether and the End together. A sudden climb usually means a mob farm without a kill chamber, or a pile of dropped items somewhere. Compare the climb with MSPT on the same range.
- Lag warnings counts the "Can't keep up!" lines Minecraft writes when it falls badly behind. A few after a start, while chunks load, are normal; a steady stream in the evening is not.
TPS and MSPT come from the tick query command, which Minecraft has from version 1.20.3. When the numbers look wrong, View Distance vs Simulation Distance and the Minecraft Server Performance & Optimization Guide are the places to start.
Busiest hours
The Busiest hours tab shows the grid at full size. Switch between Average players and Peak players, Unique players and New players, or Player kills, and tick Include offline time to count the hours the server was off as empty. Below it are your Top 5 slots and Best time for an event, which opens the Event Manager with that time filled in.
Players, sessions and profiles
The 👥 Players button opens a list of everyone who has played on your server; the Players tab ranks them (Rank, Player, Logins, Kills, Deaths, K/D, Suicides, Playtime, Distance, Last active), and the Sessions tab lists every session with its length, how it ended and its distance. Each name opens the player's profile: playtime, sessions, deaths, kills, K/D, distance, places discovered, the names they used, where they spend time and their latest activity. Full detail: Metrics: Player List and Player Profiles.
Import history from logs (on the Settings tab) reads the Minecraft logs still on your server once, up to 30 days back, and adds the sessions they record from before player statistics started. Running it again adds nothing new.
Combat
Minecraft writes every death into its log, and names the killer and often the weapon, so the Combat tab has:
- Ranking: the Players ranking, sorted by kills.
- Kill feed: every PvP kill, newest first, as "Killer ⟶ Victim · weapon", with PvP only, Player and Weapon filters. The owner or an administrator can download it as a CSV.
- Weapons: PvP kills by the weapon the death message names.
- Kill times: PvP kills by weekday and hour, in your time zone.
- Kill map: your live map with the kills and deaths layer.
- Deaths by cause: every death by what caused it.
The tiles are Player kills, Deaths, K/D, Mobs killed and Longest streak. Mobs killed comes from each player's own statistics file and is counted per player, not listed kill by kill. A kill counts as a player kill when the killer named in the death message is a player online at the time.
Travel and places
Travel shows your server's own live map with Density, Trails and Deaths / Kills layers, drawn on the Overworld. Pick all players, up to 20, or one player's session, and press Play to replay the trails. Beside the map: total distance and how much of it was on foot and how much riding (boats, horses, pigs, striders, minecarts and elytra), time moving and idle, average speed, the top travellers and distance per day.
Distances on Minecraft are exact: they are Minecraft's own statistics, so every block walked or ridden counts. Creative and spectator flying and falling are left out. Trails are drawn from save points, about every 5 minutes, so they are coarse in time, and the tab says so.
A place on Minecraft is:
- Dimensions: the Overworld, the Nether and the End;
- Spawn: the area around world spawn;
- Grid: 512-block areas, named by their coordinates ("Cell 2,-3"), created as players reach them.
On a typical survival server the Overworld dominates the dimension list, and the 512-block cell with the group's base in it tops the grid list. A cell that suddenly gains hours is usually a new build or a new farm worth a look on the map.
Places ranks them by time spent, visits or visitors and opens each one: time spent per day, its busiest hours, who spends most time there, who visited first and the deaths there.
Events, economy, activity, building and chat
- Events lists Event Manager settings windows, Command Manager runs, prize events, and the server's stops and crashes. Open a row to see who took part.
- Activity is one timeline of chat, commands, joins and leaves, deaths, building, purchases, moderation and the server's own history, with filters and a search. Advancements appear as milestones under World events ("has made the advancement").
- Chat is the in-game chat from the server log. A line starting with
/or!, a command a player runs on a Paper server and an operator's command feedback are filed as commands. - Building counts the blocks each player placed and broke, from their statistics file. Minecraft counts placing a block as "using" it, so blocks placed are approximate and marked so; blocks broken are exact. The Build filter on the Activity tab shows the counts per player and save.
- Economy shows coins earned and spent, how coins are earned, how wealth is spread, the items bought most beside how each delivery ended, the richest players (named only to the server's owner and administrators), kits and refunds, on a server that uses the GameGrid economy. See Minecraft Economy and Item Delivery.
Only the server's owner and administrators can read chat text. Everyone else sees that a message was sent, not what it said.
The live status bar
The server's Overview page and the Metrics page show a status bar. On Minecraft it can show: Status, Players online, TPS (with a line of the last 15 minutes), Entities, Admins online (operators online, from ops.json), Uptime, Server time, Next restart, Uptime when on (7 d), Peak today and Kills today. Press ⚙ to choose and order them. While the server is stopped the game figures say not running.
Ranges, time zones, tables and downloads
- The bar at the top picks the range: Live (the last 15 minutes, refreshed every 10 seconds), 1h, 24h, 7d, 30d, 90d or your own dates. Granularity sets how wide each step of a chart is, and Compare to previous period draws the period before as a dashed line with the change beside each headline number.
- Every time is shown in your own time zone, named in the bar; the change link goes to your account page.
- Show as table on any card swaps the chart for the same figures as a table. The card's ⋯ menu has Download CSV, and Export downloads every card on the tab.
- The detailed record goes back seven days; before that charts are filled from hourly records and say "Hour-grained before" and the date.
Privacy: what is recorded about your players
- Player statistics are recorded from 6 October 2026, when version 1.1.0 of GameGrid's Privacy Policy took effect. Apart from sessions added with Import history from logs, nothing about players was recorded before that, and a chart that reaches further back marks where recording began with Not recorded before and the date. The server's own history (uptime, restarts, CPU, memory, players online) goes back further.
- Player IP addresses are never shown or stored by Metrics: not on any page, in any download, in the API or in the Discord bot. Minecraft writes them into its own log on login; that line is never passed on.
- Player access (Metrics, Settings) decides what your players can see. Every switch is off until you turn it on: live positions on share links, leaderboards, posts to Discord and player self-service.
- Forget this player, on a player's profile under Admin, deletes their positions, places and names from Metrics on all your servers (on this server only for a player identified by name) and keeps their statistics as "Deleted player", so your totals stay right.
- Positions are kept 30 days, sessions and deaths 365 days, chat 180 days.
- Changing or resetting the world keeps every statistic. Start a new stats season when you want a fresh start: Metrics: Stats Seasons and Wiping Player Stats.
Full detail: Metrics and Your Players' Privacy.
Moderation and possible alternative accounts
On a Minecraft server Metrics can suggest that two players may be the same person: linked to the same Discord account, the same game account, or connecting from the same connection. The connection is read from the server's login line, which carries it while log-ips is true in server.properties (the default), and the machine your server runs on turns it into a one-way code at once; the address itself is never kept. A suggestion is a hint, never proof, and nothing is done automatically. You can also put a player On Watch, keep notes and set Alerts (a watched player connects, a kill spree, a chat keyword). See Metrics: Moderation, Possible Alternative Accounts and On Watch.
Discord: /metrics, /leaderboard and /my
Your GameGrid Discord bot reads Metrics with the server's API key. Create that key with the Discord bot preset, which includes the Metrics read scopes (Discord Bot Setup).
- `/metrics` for your staff:
summary,uptimeandpeak(which may be posted in the channel),top,player,places,sessionsandkillfeed(always private), andnew-season. The moderation subcommandsaltsandwatchneed theplayer_metrics:altsandplayer_metrics:writescopes added to the bot's key, which the preset leaves out. On Minecraft,/metrics topcan rank by Playtime, Kills, Deaths, K/D, Distance, Sessions or Logins, and/metrics summaryadds a performance line with TPS, MSPT, entities and lag warnings. - `/leaderboard` for everyone, once you switch it on. A Minecraft server is offered Kills, Deaths, Longest life, Playtime, Distance travelled, Places discovered, Event wins and the Milestones feed, plus Top earners and Wealth with the GameGrid economy. Turn on Posted leaderboards or the /leaderboard command under Metrics, Settings, Player access, then set each board up in Players → Leaderboards or with
/leaderboard setup. See Metrics Leaderboards. - `/my` lets a player read their own statistics:
/my stats,/my playtime,/my travel,/my wealth,/my events. Switch on Discord /my and tick the sections to share under Metrics, Settings, Player access, Player self-service. Players must link their Discord with/linkand!linkin game chat first. See Player Self-Service. - Kill feed in Discord: switch on Post every kill to a Discord channel under Player access, and choose the channel with
/config killfeed-channel.
The Customer API
Everything on the Metrics page is in the Customer API too: server history, busiest hours, places, players, sessions, the kill feed and CSV downloads. Server history needs the metrics:read scope and player data player_metrics:read. See Customer API and API Scopes.
Troubleshooting
- No Players, Sessions, Travel or Combat tab. These appear once player statistics are recorded and someone has played since. If the page shows "Player recording starts" with a date, they appear from then.
- A card says "No ... between" two dates. Nothing happened in that range, or the server was not running then. Try a longer range with Widen to 90 days.
- No TPS, MSPT or entities. They are asked over RCON, which GameGrid sets up when the server starts, so a server that has never started has none. TPS and MSPT also need Minecraft 1.20.3 or newer, where
tick queryexists. - Every player is "(name only)". The server runs with
online-mode=false, so it logs no real account ids. - Trails look jumpy. Minecraft saves player positions about every 5 minutes, so a trail joins those points. Distances are still exact.
- No connections under possible alternative accounts.
log-ipsisfalseinserver.properties, so the login line carries no connection to read. - A player kill is filed as a death to a creature. It is a player kill only when the killer the message names is a player online at that moment.