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:
- Players type the bare hostname (no port).
- Your backend / network is not on the default
25565port.
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:
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 target | SRV present | SRV target resolves to | Valid? |
|---|---|---|---|
front-* | No | — | ✅ Simplest |
front-* | Yes | front-* | ✅ |
*.ip.infinity-filter.com | Yes | front-* | ✅ Dedicated IP + SRV |
*.ip.infinity-filter.com | No | — | ❌ (looks Bedrock but isn’t) |
| anything | Yes | non-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:
; _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