
Quick answer: to let players join with play.yourname.nl instead of an IP address and a port, add two records where your domain's DNS is managed: an A record for play that points to your server's IP address, and an SRV record named _minecraft._tcp.play with your server's port and play.yourname.nl as the target. Minecraft Java Edition has read SRV records since version 1.3.1, so players type the name and nothing else. Bedrock Edition does not use SRV records, so Bedrock players type the name plus the port. These steps work at any DNS provider.
The examples use yourname.nl, the port 25600 and the IP address 203.0.113.10. That address comes from a range reserved for documentation (RFC 5737), so swap in your own.
What You Need
- A domain where you can edit the DNS records. Usually that is at the company you registered it with, or at Cloudflare if you moved the DNS there.
- Your server's IP address and port. On a hosted server, both are in the control panel. For a server at home, it is your public IP after you have forwarded the port (see our port forwarding guide).
- The name you want players to type.
play,mcor the bare domain. This guide usesplay.yourname.nl.
Why It Takes Two Records
An A record turns a name into an IPv4 address, and that is all it carries: no port. If your server listens on the default Minecraft port 25565, the A record alone is enough, because Java Edition uses 25565 when nothing tells it otherwise.
Hosts usually run many servers on one IP address, each on its own port, so your port is often something like 25600. That is where the SRV record comes in. When a player types play.yourname.nl, Java Edition asks DNS for an SRV record at _minecraft._tcp.play.yourname.nl. If it finds one, it takes the port and the target host name from it, then looks up the A record of that target to get the IP address. The Minecraft Wiki describes this setup, and the record format itself is defined in RFC 2782.
Step 1: Add the A Record
| Field | What to enter |
|---|---|
| Type | A |
| Name (or Host) | play |
| Value (IPv4 address, Points to) | 203.0.113.10, your server's IP |
| TTL | The default for now, see the TTL step below |
| Proxy status (Cloudflare only) | DNS only, the grey cloud |
The proxy setting matters on Cloudflare. A proxied record (the orange cloud) sends traffic through Cloudflare, and Cloudflare only proxies HTTP and HTTPS ports by default. For Minecraft the record has to be DNS only, so players connect straight to your server.
Step 2: Add the SRV Record
| Field | What to enter |
|---|---|
| Type | SRV |
| Name | _minecraft._tcp.play |
| Priority | 0 |
| Weight | 5 |
| Port | 25600, the port players join on |
| Target | play.yourname.nl |
| TTL | The same as the A record |
DNS providers lay this form out differently. Some split the name into Service (_minecraft), Protocol (_tcp) and Name (play). Some ask for the priority on its own and put the rest in one value field as weight, port and target, which is the format the Minecraft Wiki shows. The meaning is the same everywhere.
Written out as zone file lines, in the order RFC 2782 uses (priority, weight, port, target), the two records look like this:
play.yourname.nl. 3600 IN A 203.0.113.10
_minecraft._tcp.play.yourname.nl. 3600 IN SRV 0 5 25600 play.yourname.nl.
Priority and weight. RFC 2782 says a client tries the target with the lowest priority first, and weight spreads connections between targets that share a priority. With one server the values make no difference, so 0 and 5 are as good as any.
The target. It has to be a host name with its own A record. The Minecraft Wiki notes that an SRV record cannot point at an IP address, and RFC 2782 adds that the target "MUST NOT be an alias", so do not use a name that is a CNAME.
Players on the Bare Domain, Website on the Same Name
An SRV record sits on its own name, so it does not get in the way of your website. Add a second SRV record named _minecraft._tcp (without play) with the same port and target. Java players can then join with just yourname.nl, while the A record of yourname.nl keeps pointing at your web host. Bedrock players still need play.yourname.nl: Bedrock skips the SRV record and would end up at your website's IP address.
Step 3: Choose a TTL
TTL, time to live, is how long a resolver may keep a record in its cache before it has to ask again (RFC 1035, section 3.2.1). It is set in seconds, so 3600 is one hour. Cloudflare's "Auto" means 300 seconds, and the Minecraft Wiki suggests keeping the default or using 600.
A lower TTL means changes reach players sooner. The routine we use:
- Day to day, keep the default or 3600.
- Before you move the server to a new IP, lower the TTL to 300, at least one full old TTL ahead, so the old value has expired everywhere by the time you switch. Then change the A record, and raise the TTL again once everything works.
There is one more cache to know about. If you or a player looked up play.yourname.nl before the record existed, resolvers may remember that the name did not exist, for a time set in your domain's SOA record (RFC 2308). That is why the test below asks your DNS provider's own name server first.
Step 4: Test It
Ask DNS directly before you open Minecraft. On Linux or macOS:
dig +short A play.yourname.nl
dig +short SRV _minecraft._tcp.play.yourname.nl
The first should print 203.0.113.10 and the second 0 5 25600 play.yourname.nl. On Windows, use nslookup -q=a play.yourname.nl and nslookup -q=srv _minecraft._tcp.play.yourname.nl.
If nothing comes back, find out whether the record is wrong or just not visible yet. dig +short NS yourname.nl lists your domain's name servers. Ask one of them directly, for example dig +short SRV _minecraft._tcp.play.yourname.nl @ns1.example.net with a name server from that list. If the name server answers correctly, the record is right and you are waiting for caches. If it does not, fix the record.
Then check from outside your own network. mcsrvstat.us looks the server up the way a player would. Its API returns a debug block in which srv is true when an SRV record was found and used, and the ipinsrv and cnameinsrv fields flag an IP address or a CNAME in the SRV record. Results are cached for five minutes.
Finally, in Minecraft Java Edition: Multiplayer, Add Server, server address play.yourname.nl, no port.
Bedrock Players
Bedrock Edition does not look up SRV records. The Minecraft Wiki lists it among the limitations of the Bedrock Dedicated Server: no SRV record support for joining with a domain name without typing the port. Bedrock players therefore enter play.yourname.nl as the server address and the Bedrock port in the separate port field. The A record is what makes the name work for them.
On a Java server with Geyser, GeyserMC's FAQ says the same: Bedrock players join with your Java address and the Bedrock port from the Geyser config. If that port is 19132, the Bedrock default, players can leave the port field as it is. Some guides suggest an SRV record under _minecraft._udp for Bedrock. Bedrock does not use SRV records at all, so it does nothing.
Bedrock 26.60, released on 27 October 2026, moved Bedrock to the NetherNet transport, and if you give Geyser's signaling HTTPS, players have to join with your domain rather than the IP address. Our NetherNet setup guide covers that part.
Common Mistakes
- An IP address as the SRV target. The target must be a host name with an A record.
- The domain twice. Most DNS panels add your domain to the name for you. Type
_minecraft._tcp.play.yourname.nlinto such a panel and the record ends up as_minecraft._tcp.play.yourname.nl.yourname.nl. Thedigtest above shows it straight away. - The SRV record on a different name than players type. An SRV record at
_minecraft._tcp.yourname.nldoes nothing for players who typeplay.yourname.nl. Java then finds no SRV record for that name, falls back to its A record and tries port 25565. - An orange cloud on Cloudflare. A proxied A record sends Minecraft traffic to Cloudflare, which only proxies web ports by default. Set the record to DNS only.
- A CNAME as the target. RFC 2782 does not allow it. If your host gives you a host name instead of an IP address, put that host name straight in the SRV target.
- The wrong port. Use the port players join on, not a query, RCON or panel port. On a hosted server, that is the port shown with your server's address.
- Testing too early. New records can take minutes to show up, and the Minecraft Wiki notes that cached answers can take about a day to clear. Ask your own name server with
digbefore you decide something is broken.
Moving to Another Server Later
With your own domain, a move does not change the address your players know. Lower the TTL ahead of time, then update the A record to the new IP address, and the SRV port if that changed too. Our guide to moving a Minecraft server to a new host or region covers the world files and the rest of the move.
Where to Get a Domain
You do not need your own domain to get rid of the IP address. Every Space-Node Minecraft server comes with a free subdomain such as yourname.mymcserver.nl, which you manage from the control panel without touching DNS.
When you want your own name, the records above work the same at any DNS provider, so a domain you already have is fine. If you also want a website and mail for your community, our web hosting includes a free .nl domain with yearly billing: the site on yourname.nl, the server on play.yourname.nl and mail at you@yourname.nl.
FAQ
Do I need an SRV record if my server uses port 25565?
No. On the default port an A record is enough, because Java Edition connects to port 25565 when it finds no SRV record.
Can an SRV record point to an IP address?
No. The target has to be a host name, and that host name needs an A record with the IP address.
Does an SRV record work for Bedrock?
No. Bedrock Edition does not use SRV records, so Bedrock players type the host name and the port. The A record makes the host name work for them.
How long does a new DNS record take to work?
Often a few minutes. The Minecraft Wiki says to allow up to 10 minutes for a new A record, and cached answers can take about a day to clear everywhere. The TTL decides how long an old answer may stay in a cache.
My host gives me a host name, not an IP address. What do I enter?
Put the host's name in the SRV target. For Bedrock players, add a CNAME from play to the host's name instead of an A record. Do not use play.yourname.nl as the SRV target in that case: it is then an alias, and RFC 2782 says the target must not be one.
Can I run several servers on one domain?
Yes. Give each name its own SRV record, for example _minecraft._tcp.survival and _minecraft._tcp.creative, each with that server's port and a target that points to that server. Players then join with survival.yourname.nl and creative.yourname.nl. For Bedrock players, each of those names also needs an A record.
Related: Port forwarding a Minecraft server, Geyser and Floodgate crossplay guide, Playit.gg for Minecraft