How to Use a Custom Domain for Your Minecraft Server
Pointing your own domain at a Minecraft server takes one CNAME record. The field that breaks it is Name, and on Cloudflare the proxy toggle breaks it silently.

Your Minecraft server already has an address, and a custom domain just points a name you own at it. That name has to be a subdomain — mc.yourdomain.com — because a bare yourdomain.com cannot legally hold this kind of record.
Buy the domain where you will manage its DNS
Buy the name where you will edit its records, and check the second year: registrars advertise a first-year price and renew at another, and the cheapest-looking extensions carry the worst multiples:
| Extension | First year | Renews at |
|---|---|---|
.com | $11.08 | $11.08 |
.net | $12.52 | $12.52 |
.online | $1.96 | $28.84 |
.fun | $2.57 | $31.41 |
Porkbun's .com costs the same every year — "The price you see is the price you pay, year after year"1 — while .fun goes from $2.57 to $31.41.2 Checked September 2026.
Leave auto-renew on with a live card behind it: a lapsed domain stops resolving and takes the server address with it within about ten days.3
Records only apply where your nameservers point. Aim them elsewhere and your registrar's editor accepts a record that never takes effect — Namecheap's covers only domains "that are using our BasicDNS, PremiumDNS or FreeDNS."4
Type, Name, Value and TTL: what each field does
Every panel asks the same four things under different labels.
The CNAME record
Type
CNAME. It makes your subdomain an alias for another name, and resolvers follow the alias the rest of the way on their own.Name
The label that goes in front of your domain, on its own. Some panels call this Host.
Value
The address your host gave you, copied exactly. Panels call this Target, Points to, Data or Content. If the form refuses what you pasted, drop any dot on the end.
TTL
Leave it on the default. GoDaddy's is one hour;5 Cloudflare's Auto is five minutes.6
A CNAME excludes every other record type at that label, so delete any conflict first. Namecheap says to check for "any CNAME, URL Redirect … ALIAS or A records set for the same Host."4
The Name field takes mc, and never the bare domain
This is the most common way a correct-looking record does nothing. You want mc.yourdomain.com, so you type that into the Name box — but the panel appends the domain, and you have made mc.yourdomain.com.yourdomain.com.
Three panels document it, from different directions:
- GoDaddy calls it the short form: Name is "The hostname or prefix of the record, without the domain name, such as
blogorshop."5 - Namecheap warns against the long form: enter "your subdomain just like
mysubdomainand not likemysubdomain.domain.tld."4 - Cloudflare shows it: "use your subdomain (
blog) for the record Name."7
For mc.yourdomain.com, the Name is mc.
It will never take the bare domain either. yourdomain.com with nothing in front is the zone's top node, which DNS reserves for the records describing the zone itself:
If a CNAME RR is present at a node, no other data should be present.
That is RFC 1034 §3.6.2.8 Neither it nor its 1997 clarification says "apex": the rule sits beside a separate requirement that a zone's top node carry NS and SOA records, and the two cannot share a name.9 GoDaddy's Name field simply "Cannot be the @ symbol."5
Cloudflare's proxy drops Minecraft traffic
If your domain sits on Cloudflare, one toggle decides whether anybody connects: new records default to Proxied, the orange cloud.
Their published proxied-port lists cover 80, 443 and eleven other HTTP and HTTPS ports.11 Minecraft's 25565 is on neither — click the cloud grey.
A quieter version: CNAME flattening answers with the final IP, not the alias, so a host checking for the CNAME sees nothing — Cloudflare names both it and Proxied status as causes.12 Players connect; the record simply cannot be seen.
The wait is the old record's TTL, not propagation
Nothing crawls across the internet after you save. Every resolver that already asked holds its answer until its clock runs out.
TTL
How long a resolver may keep an answer before asking again.13
Negative caching
The same for an answer that said no such name: ask a minute too early and the absence is cached, with its own countdown.14
The wait is set by what was cached before the change, not by how fast the registrar saved it. Cloudflare publishes globally "within 5 minutes, usually much less," yet warns "your local DNS cache may take longer to update."6 Check from a phone on mobile data — different resolver, different cache.
Hiding the port needs SRV, and only on Java
If your server is on the default port, stop here: the CNAME is the whole job. Java's default is 25565.15
On any other port a CNAME alone will not hide it: the record carries a name and no port. Java has read SRV records since 1.3.1 — the host is _minecraft._tcp. plus your domain, and the value is weight, port and target, like 600 25565 mc.example.com.15
Bedrock has no equivalent — minecraft.wiki lists it under the platform's limitations: it "Doesn't support SRV record for a domain name."16 Bedrock players get the hostname but type the port separately, so a non-default one must be told to them; their default is 19132.16
Pixly keeps checking, and keeps the old address
Turning on Use my own domain changes nothing about the server. It mints the target you point at, prints the record, and starts looking.
The check then runs on its own both ways: a record that appears is promoted with no further action, and one that later disappears keeps working through a 24-hour grace window before the address falls back. Your pixly.gg address is never taken away: the custom name is added beside it, so anyone who saved the original still connects. The setup walkthrough covers the server side.
What players see when it is not working
The server list distinguishes two failures, and the wording says which half to check.
The name never turned into an address, so nothing was attempted. The record is missing, the Name field has the domain in it twice, or a resolver is still holding the answer it cached before the record existed.
That one means DNS worked. The address resolved and the connection failed after it, which points at a proxied Cloudflare record, a wrong target, or a server that is not running.
Check the domain's expiry date first — a lapsed registration stops resolving before anything else shows a symptom. Then check the record still exists and still points where it did.
No. A CNAME only affects how the address is looked up. The server listens the same way whatever name a player typed to reach it.
Footnotes
Porkbun, .com domain pricing. Checked 5 September 2026. ↩
Porkbun, domain price list. Checked 5 September 2026. ↩
Porkbun, What happens after a domain expires. ↩
Namecheap, How to create a CNAME record for your domain, updated 23 September 2024. ↩ ↩ ↩
GoDaddy, Add a CNAME record. Read from an archived capture dated 18 July 2026; the live page refuses automated requests. ↩ ↩ ↩
Cloudflare, Time to Live (TTL), updated 16 April 2026. ↩ ↩
Cloudflare, Create subdomain records, updated 16 April 2026. ↩
RFC 1034 §3.6.2, Domain Names — Concepts and Facilities, November 1987. ↩
RFC 2181 §10.1, Clarifications to the DNS Specification, July 1997, with the zone-top requirement at RFC 1034 §4.2.1. ↩
Cloudflare, Proxy status use cases, updated 23 April 2026. ↩
Cloudflare, Network ports, updated 20 April 2026. ↩
Cloudflare, Cannot verify a domain with CNAME, updated 16 April 2026. ↩
RFC 1035 §3.2.1, Domain Names — Implementation and Specification, November 1987. ↩
RFC 2308 §§1 and 5, Negative Caching of DNS Queries, March 1998. ↩
minecraft.wiki, Tutorial:Setting up a Java Edition server. ↩ ↩
minecraft.wiki, Bedrock Dedicated Server. ↩ ↩