By default, Minecraft Java Edition connects to game servers on TCP port 25565. If your server runs on the standard port 25565, players can connect simply by typing your domain name (e.g., play.yourdomain.com).
However, if your server runs on a non-standard port (such as 25570 or 25590), players normally have to type play.yourdomain.com:25570. DNS SRV Records solve this issue by telling the Minecraft client which port to use automatically behind the scenes.
In this guide, we explain how Minecraft SRV records work and how to set them up for your RivinCloud server.
1. What is a DNS SRV Record?
A Service (SRV) record is a specialized DNS entry that maps a service protocol to a specific hostname and port number.
Player Types: play.yourdomain.com
│
▼
Minecraft Client queries: _minecraft._tcp.play.yourdomain.com
│
▼
DNS SRV Answer: Priority 0, Weight 5, Port 25570 ──► Targets mc.yourdomain.com
│
▼
Client connects to: 192.0.2.1:25570 automatically!
2. Step-by-Step SRV Record Setup
To set up an SRV record, you need two separate DNS entries in your DNS management dashboard (such as Cloudflare, Namecheap, or GoDaddy):
Step 1: Create an A Record for Your Server IP
First, point a hostname directly to your server's IPv4 address:
- Type:
A - Name / Host:
node01(ormc) - IPv4 Address:
192.0.2.50(Your RivinCloud server IP) - Proxy Status: DNS Only (Unproxied / Gray Cloud if using Cloudflare)
Step 2: Create the SRV Record
Next, map the Minecraft protocol to your A record and custom port:
- Type:
SRV - Service:
_minecraft - Protocol:
_tcp - Name / Host:
play(this makes players connect viaplay.yourdomain.com) - Priority:
0 - Weight:
5 - Port:
25570(Your custom server port) - Target:
node01.yourdomain.com(Points to theArecord created in Step 1)
Command of the Day: dig SRV
The dig (Domain Information Groper) command queries DNS nameservers for specific record types.
Syntax
dig SRV _service._protocol.domain.com
Practical Example
# Query the Minecraft SRV record for a domain
dig SRV _minecraft._tcp.play.yourdomain.com
Sample Output
;; ANSWER SECTION:
_minecraft._tcp.play.yourdomain.com. 300 IN SRV 0 5 25570 node01.yourdomain.com.
Explanation
This output verifies that the SRV record is active and correctly returning target host node01.yourdomain.com with target port 25570.
Common Mistakes
- Proxying the SRV Record through Cloudflare (Orange Cloud): Cloudflare's standard web proxy only proxies HTTP/HTTPS traffic. Proxying game ports through Orange Cloud breaks Minecraft connections. Always set Minecraft DNS entries to DNS Only (Gray Cloud).
- Pointing Target directly to an IP Address: The SRV record
Targetfield MUST point to a valid domain name (Arecord), not a raw IP address like192.0.2.50.
Troubleshooting
- "Can't resolve hostname" in Minecraft client: Wait a few minutes for DNS propagation, then test using
dig SRV _minecraft._tcp.play.yourdomain.com. - SRV record resolves but connection times out: Ensure your server firewall (UFW) permits incoming traffic on your custom game port (
sudo ufw allow 25570/tcp).
Best Practices
- Use memorable subdomains like
play.yourdomain.comormc.yourdomain.com. - Verify SRV records after modifying domain registrar settings.
Frequently Asked Questions
Does Geyser / Bedrock support SRV records?
Minecraft Bedrock Edition uses UDP and does not support standard Java _minecraft._tcp SRV records out of the box. Bedrock connections require direct IP/port input or specialized Bedrock proxy setups.
Conclusion
SRV records allow you to hide custom port numbers and provide a professional domain connection address for your players. Configure your SRV record today to simplify access to your RivinCloud server!