Every number in your multiplayer screen — the MOTD, the 1,234/5,000 player count, the green connection bars — comes from one small, unauthenticated exchange called the Server List Ping. Understanding what that exchange actually carries explains most of the confusing things Minecraft status can do: counts that don't add up, MOTDs that lie, and "online" servers you can't join.
The Server List Ping, in one paragraph ¶
When your client (or a checker like ours) queries a Java server, it opens a normal TCP connection, sends a handshake with "next state: status", and asks for status. The server replies with a single JSON document: a version object (display name plus protocol number), a players object (online, max, and optionally a small sample of player names), a description — that's the MOTD — and optionally a base64-encoded favicon. A separate ping/pong packet with a timestamp measures latency. That's the whole thing: no login, no account, no authentication.
Bedrock's equivalent is leaner: an "unconnected ping" over UDP, answered with a semicolon-delimited string carrying edition, MOTD, protocol, version, player counts, and gamemode.
Everything in that reply is the server's word ¶
This is the part most people miss: the status reply is composed by the server, freely. Plugins routinely rewrite every field.
- The MOTD is arbitrary text (with color codes) — servers use it as a banner, and some change it dynamically for maintenance or events.
- The player count can be adjusted. Some networks report the sum across many backend servers (that's how a "200,000 player" count exists on one address); some hide or fake counts outright; a proxy in front of dozens of backends reports whatever it chooses.
- The player sample — those names you sometimes see on hover — is optional, capped small, and frequently disabled for privacy or replaced with advertising lines.
- The version string is also free text; compatibility plugins advertise ranges like "1.8-1.21" there.
So "the status says X" always means "the server chose to say X". The one thing a status reply can't fake is its own existence: if you got a reply, something is listening at that address and speaking the protocol. That's why a ping is a reliable up/down signal even when its contents deserve skepticism — and why the strange-looking 0/0 players case is usually a configuration story, not an outage.
What ping (latency) does and doesn't mean ¶
The milliseconds figure measures the round trip of one tiny packet exchange between one vantage point and the server. It reflects network distance and congestion — it says nothing about in-game lag, which is dominated by the server's tick rate. A server 300ms away can play smoothly; a server 20ms away can be a slideshow because its main thread is drowning. We keep those two failure modes separate in lag vs downtime. When you check a server here, the latency shown is a real measured round trip from our probe, not an estimate.
Why checkers disagree with your client ¶
Three honest reasons two observers see different status at the same moment. First, vantage point: our probe and your client take different network paths; a routing problem or a firewall can block one and not the other. Second, caching: your client caches the last ping per server entry until you refresh; a checker's result also has an age, which is why every result we show carries a "checked N ago" stamp. Third, rate limiting: servers and their DDoS-protection layers sometimes throttle status pings from busy IPs — the reply times out even though joins work fine. A timeout from one vantage point is a weaker signal than a refusal; that's why repeated checks over time beat any single snapshot, and it's exactly what a server monitor gives you, including player-count history so you can see whether the population fell off a cliff or just went to bed.
FAQ ¶
Can a server be "online" in the ping but unjoinable?
Easily. The status responder is cheap and often keeps answering while the join path is broken — whitelist on, server full, a plugin crashing during login, or a proxy with dead backends. Ping success plus join failure narrows the problem to the join path.
Is querying a server's status intrusive?
No. It's the same exchange every player's multiplayer screen performs, unauthenticated by design, and it costs the server a fraction of a millisecond. Our probes are also honest about their identity and cadence — one status ping per check, every five minutes on monitored servers.
Where does the favicon come from?
It's embedded in the status reply itself as a base64 PNG (64×64 on Java). If a server's icon vanished, the server stopped sending it — that's a server-side change, not a client bug.