Minecraft

MOTD, player count, ping: how Minecraft server status actually works

7 min read · Published Jul 27, 2026
Contents · 5 sections
  1. The Server List Ping, in one paragraph
  2. Everything in that reply is the server's word
  3. What ping (latency) does and doesn't mean
  4. Why checkers disagree with your client
  5. FAQ

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.

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.

Share 𝕏 Twitter LinkedIn
Keep reading

← All notes & guides