How to Properly Configure DNS SRV Records for Minecraft Server Connectivity


4 views

Many Minecraft server administrators want to allow players to connect using a domain name without specifying the port number. This requires proper DNS SRV record configuration, which often causes confusion.

From the described scenario, we can see:

A record:
Domain: mine.rlnd.cz
Target: 93.91.250.130

SRV record:
Service: _minecraft._tcp.rlnd.cz
Target: mine.rlnd.cz
Priority: 5
Weight: 5
Port: 27296

The most frequent mistakes include:

  • Incorrect service protocol naming
  • Wrong target host format
  • Missing underscore characters
  • Port number mismatches

For Minecraft servers, the proper SRV record should follow this structure:

_minecraft._tcp.example.com. IN SRV 5 5 25565 mc.example.com.

Breaking this down:

  • Service: _minecraft
  • Protocol: _tcp
  • Domain: example.com
  • Priority: 5
  • Weight: 5
  • Port: 25565 (default Minecraft port)
  • Target: mc.example.com

To check your DNS configuration, use these commands:

# Linux/macOS
dig SRV _minecraft._tcp.example.com

# Windows
nslookup -type=SRV _minecraft._tcp.example.com

Here's a complete BIND zone file example:

$ORIGIN example.com.
@        IN SOA  ns1.example.com. admin.example.com. (
                 2023081501 ; serial
                 3600       ; refresh
                 900        ; retry
                 1209600    ; expire
                 3600 )     ; minimum

; A records
@        IN A     93.91.250.130
mc       IN A     93.91.250.130

; SRV record
_minecraft._tcp IN SRV 5 5 27296 mc.example.com.
  1. Verify DNS propagation using multiple tools
  2. Check firewall settings for the Minecraft port
  3. Ensure the Minecraft server is running
  4. Test with both domain and IP to isolate the issue

For multiple Minecraft servers, you can use weighted SRV records:

_minecraft._tcp IN SRV 10 60 25565 mc1.example.com.
_minecraft._tcp IN SRV 20 40 25566 mc2.example.com.

This setup would direct about 60% of connections to mc1 and 40% to mc2.


When setting up a Minecraft server with custom DNS records, many administrators face connection issues despite apparently correct configurations. The common symptom is the "Connection refused" error when trying to connect through the domain name, while direct IP:port connections work fine.

In your case, you have:

A record:
Domain: mine.rlnd.cz
Target: 93.91.250.130

SRV record:
Service: _minecraft._tcp.rlnd.cz
Target: mine.rlnd.cz
Priority: 5
Weight: 5
Port: 27296

The main issue lies in how Minecraft clients handle SRV records. While your DNS configuration is technically correct, Minecraft requires additional considerations:

Here's the proper way to implement this:

1. A record (already correct):
mine.rlnd.cz.    IN  A  93.91.250.130

2. SRV record (modified format):
_minecraft._tcp.rlnd.cz.    IN  SRV  5 5 27296 mine.rlnd.cz.

The crucial details often missed:

  • The trailing dot after the domain in the SRV record target
  • TTL should be reasonably short (300-600 seconds) during setup
  • DNS propagation time (use dig/nslookup to verify)

To test your setup:

# Linux/macOS:
dig SRV _minecraft._tcp.rlnd.cz

# Windows:
nslookup -type=SRV _minecraft._tcp.rlnd.cz

Other factors that might affect connectivity:

  • Firewall rules on port 27296
  • server.properties setting for query-port
  • DNS caching at ISP level

For those running multiple Minecraft instances:

_minecraft._tcp.rlnd.cz.    IN  SRV  10 60 27296 mc1.rlnd.cz.
_minecraft._tcp.rlnd.cz.    IN  SRV  20 40 27297 mc2.rlnd.cz.