Give your server a proper address with an SRV record
Handing people an address like 198.51.100.20:28016 works, but it is forgettable, it
breaks the moment you change host or region, and it looks like something you rented rather
than something you run.
An SRV record fixes all three. Players type play.yourclan.gg, no port, and the record
quietly tells their client where to actually go.
What an SRV record is
Most DNS records map a name to an address. An SRV record maps a service on a name to a host and a port. That port is the whole point: it is what lets the player omit it.
The format looks unfamiliar the first time:
_minecraft._tcp.play IN SRV 0 5 25565 node.survivalhosting.com.
Reading it left to right:
_minecraft._tcp— the service and protocol. This is fixed by the game, not chosen.play— the subdomain players will type, so this becomesplay.yourclan.gg.0— priority. Irrelevant with one record; leave it at 0.5— weight. Also irrelevant with one record.25565— the port your server actually runs on.node.survivalhosting.com.— the hostname it points at. Note the trailing dot.
That trailing dot is the single most common mistake. Without it, most DNS providers append
your own domain and you end up pointing at
node.survivalhosting.com.yourclan.gg, which does not exist.
The service names per game
The prefix is defined by the game and getting it wrong means the record is silently ignored. The ones we are asked about most:
| Game | Record name |
|---|---|
| Minecraft (Java) | _minecraft._tcp.<subdomain> |
| TeamSpeak 3 | _ts3._udp.<subdomain> |
| Mumble | _mumble._tcp.<subdomain> |
| Terraria (tShock) | _terraria._tcp.<subdomain> |
Most games do not support SRV at all. Rust, ARK, Valheim, DayZ and the rest read a
plain address and port from the server browser or the connect string, and no DNS trickery
changes that. For those, an A record still helps: play.yourclan.gg:28015 is much
nicer than an IP, and it survives a move.
Setting one up
- In your DNS provider, add a record of type SRV.
- Service
_minecraft(or whichever), protocol_tcpor_udp, nameplay. - Priority 0, weight 5, port your server's actual port, target the hostname we give you in the panel.
- Save, then wait. DNS propagation is usually minutes but can be an hour.
Some providers — Cloudflare and Namecheap among them — split the record into separate form fields rather than one line, which is easier. Others want the whole string. Both end up in the same place.
To check it worked, from a terminal:
nslookup -type=SRV _minecraft._tcp.play.yourclan.gg
You should see your port and target come back. If you get nothing, the usual causes are a
missing trailing dot, the wrong protocol (_tcp vs _udp), or simply not having waited
long enough.
Why this matters more than a dedicated IP
This is the part people miss. A raw IP ties your community's muscle memory to one server on one host in one region. A domain does not.
- Change region because your players moved to a different continent — update the record, nobody notices.
- Change host — same.
- Change port after a reinstall — same.
That is a better outcome than a dedicated IP gives you, for the price of a domain once a year rather than a monthly add-on.
Lower the TTL before you move
One practical tip: if you know a migration is coming, drop the record's TTL to 300 seconds a day or two beforehand. DNS caches, and a TTL of 86400 means some players will be connecting to the old address for a full day after you cut over.
Put it back up afterwards.
We will do it with you
DNS is nobody's favourite evening. Open a ticket with your domain and which game, and support will give you the exact record to paste — or check the one you have added and tell you what is wrong with it. There is no charge and it is not a silly question; the trailing dot catches experienced people.