Docs
Miscellaneous

SRV records

When and how to use SRV records with Infinity-Filter.

A Minecraft Java client can resolve _minecraft._tcp.<domain> SRV records to find the server host and port — that’s how players type play.example.com (no port) and still reach a server on a non-default port.

Infinity-Filter supports SRV routing with two specific rules.

When you need an SRV record

You need an SRV record when both of these are true:

  1. Players type the bare hostname (no port).
  2. Your backend / network is not on the default 25565 port.

If your network is on 25565, no SRV is needed — the client connects to that port by default.

When SRV is required by Infinity-Filter

If you use a dedicated-IP CNAME for Java (<uid>.ip.infinity-filter.com), an SRV record is required:

zone.conf dns
play.example.com.                   IN   CNAME   {uid}.ip.infinity-filter.com.
_minecraft._tcp.play.example.com.   IN   SRV     0 5 25565 play.example.com.

The SRV target must ultimately resolve to a front-* host.

If you use a shared-edge CNAME (<uuid>.front-<region>.infinity-filter.com), SRV is optional — the simpler setup is just the CNAME.

Valid combinations

CNAME targetSRV presentSRV target resolves toValid?
front-*No✅ Simplest
front-*Yesfront-*
*.ip.infinity-filter.comYesfront-*✅ Dedicated IP + SRV
*.ip.infinity-filter.comNo❌ (looks Bedrock but isn’t)
anythingYesnon-front-*❌ misrouted

Wildcard SRV does NOT work

_minecraft._tcp.*.example.com.   IN   SRV   ...

This is invalid. Each Java subdomain that needs an SRV record requires its own explicit entry.

Bedrock doesn’t use SRV

Bedrock clients don’t read SRV records. For Bedrock subdomains, just point a CNAME at the dedicated IP CNAME and skip SRV entirely.

If you add an SRV on a Bedrock-only subdomain, it’s harmless but unnecessary.

Sample SRV record

The standard format:

zone.conf dns
; _minecraft._tcp.{domain}.  TTL  IN SRV  {priority} {weight} {port} {target}
_minecraft._tcp.play.example.com.   300   IN   SRV   0 5 25565 play.example.com.

The target is itself a hostname (a CNAME or A record). The proxy follows the SRV target’s CNAME chain at validation time.

What’s next

Last updated: May 28, 2026