DNS setup
CNAME, TXT, SRV — what to put in your zone, and what to avoid.
The DNS reference for Infinity-Filter. The rule is simple: your domain must resolve to one of the Infinity-Filter hostnames below. If it resolves to anything else — an IP, an old proxy, a Cloudflare A record — it’s not behind Infinity-Filter.
The hostnames Infinity-Filter owns
Your CNAME must point at one of these:
| Hostname | Used for |
|---|---|
<uuid>.front-<region>.infinity-filter.com | Java servers — front-de, front-fr, front-pl, front-ca |
<uid>.ip.infinity-filter.com | Dedicated IP — Bedrock, Geyser, voice modules |
edge-front-<...>.infinity-filter.com | Legacy Java edge (still works after migration) |
Setting up a domain
Java
A Java domain needs one record: a CNAME to your region’s edge. That CNAME both routes players and verifies that you own the domain.
play.example.com. 300 IN CNAME {uuid}.front-de.infinity-filter.com.
Optionally, add a TXT fallback on the root domain (Name = @) — paste the value from the panel. The CNAME alone is enough, but the TXT keeps the domain verified if the CNAME ever can’t be reached.
example.com. 300 IN TXT "infinity-filter-verification=..."
Bedrock
Bedrock always connects through a dedicated IP. Use a subdomain whose name makes the Bedrock entrypoint obvious — bedrock, mobile, be or mcpe:
bedrock.example.com. 300 IN CNAME {uid}.ip.infinity-filter.com.
Wildcard
Instead of adding play, eu, na, … one by one, point a single wildcard at the edge:
*.example.com. 300 IN CNAME {uuid}.front-de.infinity-filter.com.
The wildcard does not cover the apex (example.com) — add the apex separately if it should route too. Availability depends on your plan. See Wildcard domains.
SRV (optional)
You only need SRV if your backend runs on a non-default port and you want players to type just play.example.com (no :port). The target must resolve to a front-* host.
_minecraft._tcp.play.example.com. 300 IN SRV 0 5 25565 play.example.com.
| Setup | Valid? |
|---|---|
CNAME → front-*, no SRV | ✅ Simplest |
CNAME → front-*, SRV → front-* | ✅ |
CNAME → *.ip.infinity-filter.com, SRV → front-* | ✅ Dedicated IP + SRV-routed Java |
SRV target that doesn’t resolve to front-* | ❌ Misrouted |
_minecraft._tcp.* wildcard SRV | ❌ Not supported — one entry per subdomain |
Cloudflare
If your DNS is on Cloudflare, every Infinity-Filter record must be set to DNS only (grey cloud).
Want a web service like Dynmap behind Cloudflare’s proxy? Put it on its own subdomain (map.example.com) with the orange cloud on. Never mix it with the Minecraft record.
Domain won’t verify?
Verification keys off the CNAME. Work through these in order:
- 1
Confirm the CNAME resolves
Confirm the domain points at the
front-*host the panel gave you:{uuid}.front-de.infinity-filter.com.Nothing returned, or the wrong target? Fix the CNAME in your DNS editor.
- 2
Rule out the usual culprits
The most common reasons a CNAME looks right but isn’t:
Cloudflare orange cloud is onSwitch the record to DNS only (grey cloud).
A/AAAA record instead of a CNAMEYou hard-coded an IP from dig. Replace it with the CNAME — the IP can rotate.
CNAME points at an old hostA leftover like proxy.someoldservice.net. Repoint it at the IF hostname.
Subdomain never added in the panelEach subdomain players use needs its own entry (or a wildcard).
Wrong regionWorks, but adds latency. Run the Latency Test to find the closest PoP.
- 3
Add the TXT fallback
If the CNAME is correct but still won’t verify (e.g. the apex sits behind another proxy), add the TXT fallback on the root domain (Name =
@). Its value must match the panel exactly — a trailing space is the #1 cause of failure:"infinity-filter-verification=..." - 4
Wait for propagation
Propagation across resolvers takes a minute or two. Re-check from more than your local resolver with
dig @1.1.1.1anddig @8.8.8.8.
What’s next
Last updated: May 29, 2026