About ServerList.cc
Live Minecraft server player counts, tracked every minute.
How the numbers are measured
Every tracked server is contacted once a minute using the Minecraft Server List Ping, the same request your game client makes when it shows a server in your multiplayer list. Nothing is scraped from other websites and nothing is self-reported, so the player count here is whatever the server itself reported at that moment.
That single request also returns the server's MOTD, icon, version string and response time, which is why those appear exactly as they would in game, colour codes and all.
Bedrock Edition
Bedrock servers don't speak the Java protocol at all. They run on RakNet, where the status query is a single UDP datagram answered with a single UDP datagram, normally on port 19132 — the same request the in-game Servers tab makes. It returns the player count, MOTD and version, but no icon.
The icons on Bedrock rows are therefore not measurements, and they are the only thing on this site that isn't. Every one is either the network's own logo, read from the icon its website publishes, or a genuine server icon taken from a Java ping on the same hostname where the network runs one — of the twelve tracked, CubeCraft is the only one that does. A server page captions which of the two it is showing. Where a network publishes neither, the row keeps its initial. Nothing is invented and nothing is guessed at: whatever comes back is checked to be an image before it is stored, because several of these sites answer any missing path with their homepage.
Bedrock totals are kept on their own page and are never added to the figures on the overview. Java history here goes back months and Bedrock's starts the day it was switched on, so folding one into the other would draw a cliff of tens of thousands of players on a day when nothing happened.
Servers running crossplay are deliberately left out. A Java network with GeyserMC in front of it answers a Bedrock ping perfectly happily, but the number it gives back is the whole server's players, Java included — so tracking it as a Bedrock server would count the same people twice. Every candidate is pinged on both protocols before being added, and any whose two counts match is excluded; three did, including one reporting an identical 33,184 on each.
Hytale
Hytale is a different game, and its servers are measured and totalled entirely separately. Nothing on this site ever adds a Hytale player to a Minecraft one.
A Hytale server speaks QUIC over UDP, normally on port 5520. QUIC on its own tells a status checker only that something is listening — there is no built-in equivalent of the Java handshake or of RakNet's ping — so the counts here come from HyQuery, a status plugin that answers on that same game port by intercepting datagrams with its own magic bytes before the game's codec sees them. Two versions of the protocol are in the field: an older one-round-trip form and a newer one that issues a challenge token first, tied to the caller's address so the protocol can't be used to throw traffic at anybody else. Both are asked on every sweep, because neither covers all of the servers the other does.
The consequence worth stating plainly: a Hytale server appears here only if its owner installed a query plugin, and there is nothing to fall back on when they haven't. So the Hytale total is a floor rather than a population — every server on it is real and measured once a minute like everything else, but the servers missing from it are missing because they cannot be asked, not because nobody looked.
HyQuery carries no icon either, so Hytale rows follow the same rule as Bedrock ones: the logo comes from the network's website, or the row keeps its initial. Unlike Bedrock there is no Java-port fallback, because a Minecraft server on the same hostname is a different server for a different game and its icon would not be this one's.
Hosts
The Hosts page covers platforms like Minehut that run thousands of small servers behind shared addresses. Finding out what exists on one of those means reading the list the platform publishes, which is the company's own account of itself.
The player counts, though, are measured wherever they can be. Minehut and Minekeep put every server behind a proxy that answers a normal ping, so each one is pinged directly and the number shown is ours, not theirs. MCServerHost's addresses answer with the platform's hub rather than the server, so there is nothing to measure and its figures stay reported.
Platform totals are still the host's own count, because they cover every server on the platform rather than the slice we ping. Host figures stay on their own page and are never folded into the site-wide totals on the overview.
How history is stored
Individual per-minute samples are kept for a month. Beyond that they are rolled up into hourly and then daily averages, each keeping the minimum, maximum and uptime for its window. Short ranges are therefore drawn from raw measurements at full resolution, while a one-year chart reads a few hundred daily buckets instead of half a million pings.
Each chart shows which tier it used underneath it. A solid line is the average for the bucket; the dashed line is the peak within it.
The typical week
Every chart here runs left to right. The heatmap on the overview and on each server page does not: it takes the last thirty days and averages each of the 168 hours in a week over all of them, so what you are looking at is the pattern that repeats rather than the last day of it. Brighter is busier, and the two numbers beside the scale are the quietest and busiest hours measured.
Hours are shown in your own timezone. The measurements are taken in UTC, and because the grid is a whole week, moving it to local time is a rotation — every hour lands on its local hour and its local day with nothing estimated. Timezones offset by half an hour round to the nearest one.
A hatched cell is an hour that has never been measured, not an hour when nobody was playing — the same distinction the gaps in the line charts make. The tracker has not been running for a full week yet in most cases, so a good part of the grid is still empty and fills in as each hour comes round for the first time. Until it is full, the busiest hour is labelled "so far", because with half a week measured it says as much about when we were watching as about when anyone was playing.
Gaps in the charts
When a line breaks, the server was not successfully pinged during that period. The gap is deliberate. Carrying the last known value forward would draw a flat line that looks like steady players when in fact nothing was measured at all.
Readings we hold back
A busy server that reports "0 players" one minute and thirty-five thousand the next did not empty out and refill. Either it rate-limited the query, or — far more often — it simply did not answer, and an unanswered ping counts as zero players just like an answered one. So the first such reading from a server that was fine a moment ago is not recorded: no sample is stored, and the displayed count and status are left alone. If the next ping agrees, it is believed and recorded from then on.
The cost of that rule is a minute's delay on a server genuinely emptying out or going offline. The cost of not having it is a permanent false crash to zero in history that is kept forever. How many readings were held back on the last sweep is on the status page, along with everything else the collector is doing.
Add a server
Enter an address below. It starts being tracked immediately if it answers a ping. History builds from that point on, so give it an hour or so before the charts say much.
Java or Bedrock — a bare hostname is tried as both, so a Bedrock-only address is found without having to say so or type :19132. If it answers on both, it's added as Java; submit it again with the port to add the Bedrock side separately.
Spoofed player counts
A server controls the number it answers with, so a server can lie. Padding the count with fake players, counting the same player more than once, or reporting a network's total on every one of its addresses all count as spoofing here.
A server found doing it is marked as spoofed. It stays in the database and keeps being pinged, but it is hidden from the overview, the server list and the comparison page, and it is excluded from the site-wide totals. The point of this site is that the numbers mean something, which they don't if an invented one can outrank a real one.
What this costs to run
Around £15 a month. That covers a small VPS running the ping sweep and the database, backups of everything collected so far, and the domain. The front-end is served from Cloudflare's free tier, and pinging a server costs nothing beyond the bandwidth, so the bill barely moves as more servers are added.
Disclaimer
Not affiliated with Mojang or Microsoft. Server names, icons and MOTDs belong to their respective owners. Player counts are what each server reports and some networks inflate or aggregate them, so treat the numbers as what the server claims, not an audited figure.