MinecraftStatusPublic instrument · Evidence Ladder

Measured, not guessed.

Minecraft SRV records and server-address resolution

A hostname without an explicit port may resolve through _minecraft._tcp SRV, redirecting host and port; ICMP ping is the wrong Minecraft test.

Last verified
Evidence cutoff

Direct answer: A Java Edition server address is not “whatever ping says.” When you enter a hostname without an explicit port, modern clients and status checkers may look up a DNS SRV name of the form _minecraft._tcp.<hostname>. That record can redirect both the host and port the game actually uses. Typing an explicit port—including the default 25565—is treated by this checker as a direct path that skips SRV. An A/AAAA record alone, or an ICMP echo reply, does not prove Minecraft can connect.

What the address string means

Players usually type one of:

  • a bare IPv4/IPv6 address (optionally with :port)

  • a domain that already has an A or AAAA record on port 25565

  • a short domain that only works because of an SRV redirect to another hostname and non-default port

Default Java game port is 25565 when the port is omitted. Bedrock multiplayer addressing is a different stack and is outside this article’s scope.

How SRV resolution works

DNS SRV records (RFC 2782) tell clients where a service lives: target hostname, port, priority, and weight. Minecraft Java, since 1.3.1, uses a fixed service label:

_minecraft._tcp.<the-name-players-type>

Example shape (not a live claim about any specific operator):

_minecraft._tcp.play.example.org.  300  IN  SRV  0 5 25565 mc.example.org.

Important properties, grounded in the Java setup tutorial, Server List Ping notes, RFC 2782, and this product’s living checker:

  1. SRV is not a substitute for an address record. The SRV target still needs resolvable A/AAAA (or other address) records.

  2. SRV can supply a non-default port so players do not type :25566 (or whatever you host on).

  3. Connect target vs handshake name are separate. After following _minecraft._tcp.example.com to mc.example.org, the TCP connection uses the SRV target host:port. This checker’s handshake still sends the original typed hostname (and the port used for that address form)—it does not rewrite the handshake server-address field to the SRV target. Vanilla clients and other tools may differ, so do not assume every implementation rewrites the handshake name the same way.

  4. Priority first; weight is selection among equals. RFC 2782 prefers lower priority values, then uses weighted probability among equal-priority records. This checker currently sorts equal-priority records by descending weight and takes the first—not a full RFC weighted-probability selector. Do not treat that as RFC-complete load balancing.

When SRV is used vs bypassed (this checker)

Address formSRV lookup (_minecraft._tcp.<host>)
Hostname with no explicit port (defaults to 25565)Allowed
Hostname with any explicit port, including :25565Skipped — direct connect to host:port
Raw IP (with or without port)Skipped
localhostSkipped

Other tools may differ. Compare results only when the same address string and the same explicit-port rule are used.

Missing SRV vs “service unavailable” (RFC 2782 Target ".")

These are not the same outcome:

DNS outcomeRFC 2782 meaningThis checker’s practical path
No SRV record, NXDOMAIN for the SRV name, empty usable set, or lookup failureClient-specific; many Minecraft paths fall back to direct A/AAAA on the typed host and default/explicit portFalls through to direct connect on the typed host and port
A sole SRV record whose Target is .Service is decidedly not available for that name; do not treat it as “no record, try direct”Not yet a dedicated public taxonomy row; do not silently describe it as ordinary direct-fallback success. Operators should avoid publishing a lone . target unless they intend unavailability.

Why ICMP “ping” is the wrong tool

ping host uses ICMP echo. Minecraft Java multiplayer uses TCP to the resolved game port (and status uses the same port with a short status handshake). A host can:

  • answer ICMP while the game port is closed or filtered

  • drop ICMP while TCP 25565 (or the SRV port) works

  • resolve to a different host after SRV than the A record you tested

For address diagnosis, prefer DNS queries (dig / nslookup) and a Minecraft-aware status check, not ICMP.

Diagnostic flow

  1. Copy the exact address string the player types—including port if any. Trailing spaces, wrong TLD, and https:// prefixes are common typos.

  2. Classify the form: raw IP, hostname with explicit port, or hostname with no port (default 25565 path).

  3. Resolve the player-facing name:

    • dig A <name> and dig AAAA <name>

    • if the player typed no explicit port, also dig SRV _minecraft._tcp.<name>

  4. If SRV exists: note priority, weight, port, and target. Then resolve the target with A/AAAA. Do not stop at the first name. If the only answer is Target ., treat that as intentional service-unavailable signaling under RFC 2782—not as “missing SRV.”

  5. If no usable SRV answer (and no . unavailability record): expect direct connect to <name>:25565 when the port was omitted, or to the explicit host:port when a port was typed.

  6. Compare paths carefully: this checker skips SRV whenever a port is explicit. A tool that still runs _minecraft._tcp for host:25565 will not match. Prefer the exact player string.

  7. Only then run a Java server status check on the same string the player uses. A single Online/Offline/Unknown result is evidence for that vantage and method, not a global guarantee.

  8. If DNS fails completely, continue with the dedicated Unknown host guide rather than assuming the game process is down.

Evidence limits

  • This page explains address resolution, not platform authentication, Realms, or Bedrock RakNet.

  • DNS answers are cache- and resolver-dependent. Propagation and stale recursive caches can make two clients disagree for hours.

  • Public status checkers must not expose resolved private or link-local targets. If a name points at a non-public address, the correct public result is often Unknown or a policy rejection, not a leaked internal IP.

  • An Online status response proves a status handshake completed from the checker’s vantage. It does not prove every player path, every proxy backend, or that login will succeed.

  • The MinecraftStatus checker sorts equal-priority SRV records deterministically by weight. It does not reproduce RFC 2782 randomized weighted selection, so treat the selected target as this checker's observation rather than a simulation of every client.

  • This article does not claim any listed public server is “correctly configured” or recommend any host as best practice.

Last verified

  • Evidence cutoff: 2026-07-20

  • Sources re-checked: Minecraft Wiki Java server tutorial (Domain name / SRV), Server List Ping handshake notes, RFC 2782 (priority, weight, Target .), MinecraftStatus checker SRV allow/skip and handshake-host behavior