Setup TeamSpeak 3 SRV and TSDNS Resource Records

Setting up TeamSpeak 3 TSDNS and SRV resource records can be a challenge for the inexperienced. Looking for support on the TeamSpeak forums is nearly impossible (that’s putting it nicely). The purpose of TeamSpeak SRV and TSDNS records are to give your friends, the public, whomever the ability to remember your server without remembering ports and also gives you the ability to change ports without the need to notify everybody that your server ports changed.

Example without SRV records: TS.MyTeamSpeakServer.Com:17264
Example with SRV records: TS.MyTeamSpeakServer.com

Here is how you setup TeamSpeak SRV and TSDNS records on a Windows DNS server and in GoDaddy with verification steps (using Windows NSLOOKUP).

In this example we have one TeamSpeak server resolving on to two DNS names: TS1.JLTCtech.com and TS.Kronos-Industries.com.
JLTCtech.com exists on my Windows DNS server and Kronos-Industries.com exists in GoDaddy. Adjust your scenario based on your domain name.

Windows DNS

  1. Launch a command prompt (Windows key + R and type “CMD” and press enter).
  2. Type: “nslookup -q=srv _ts3._udp.ts.YourDomain.com” and press enter. You should get NO results. If you do get a result, you already have an SRV record somewhere.
  3. Launch DNS manager on your DNS server.
  4. Find your domain name,  right click on it, select “New Host (A or AAAA)“.
    1. Name (user parent domain name if blank): “TS“.
    2. IP address: (IP address of your TS server).
    3. Click “Add Host“.
  5. Find your domain name, right-click on the domain name, and select “New Domain“. Give it a name such as “TS“. This is going to create a sub-domain of “TS” within your parent domain.
  6. Right-click on the new domain “TS” and select “Other New Record“.
  7. Find Service Location (SRV) record in the list and select “Create Record“.
    1. Domain should be auto-populated with “TS.YourDomain.com”.
    2. Service: “_ts3“.
    3. Protocol: “_udp“.
    4. Priority: “1” (one).
    5. Weight: “0“.
    6. Port number: “9987” (or your TeamSpeak port).
    7. Host offering this service: “TS.YourDomain.Com“.
    8. Click OK.
  8. Still within the “Resource Record Type” window, ensure “Service Location (SRV)” is still selected and click “Create Record“.
    1. “Domain” should be auto-populated with “TS.YourDomain.com”.
    2. Service: “_tsdns“.
    3. Protocol: “_tcp“.
    4. Priority: “0“.
    5. Weight: “0“.
    6. Port number: “41144” (or your TeamSpeak TSDNS port).
    7. Host offering this service: “TS.YourDomain.com“.
    8. Click OK.
  9. At this point you should have two SRV records similar to the pictures below:
  10. Relaunch NSLOOKUP from a command prompt and retry the following two commands. You should get a returned DNS response for each command: “nslookup -q=srv _ts3._udp.ts.YourDomain.com” (press enter) and
    nslookup -q=srv _tsdns._tcp.ts.YourDomain.com” (press enter).
  11. At this point I would attempt to log in to your TeamSpeak server using TeamSpeak 3 client and the settings we used above. Ensure that your computer that is running TeamSpeak is using the DNS server address of the server for which we created the records above.
        1. Your TeamSpeak Client Logs should look like this:


    [code] 3/3/2017 14:03:20 TSDNS Info A/AAAA DNS resolve successful, "ts1.jltctech.com" =(h: 199.168.96.85 p:0)
    3/3/2017 14:03:20 TSDNS Info A/AAAA DNS resolve successful, "jltctech.com" DNS server returned answer with no data
    3/3/2017 14:03:20 TSDNS Info SRV DNS resolve successful, "_tsdns._tcp.jltctech.com" =(h: TS1.JLTCtech.com p:41144)
    3/3/2017 14:03:20 TSDNS Info SRV DNS resolve successful, "_ts3._udp.ts1.jltctech.com" =(h: TS1.JLTCtech.com p:9987)
    3/3/2017 14:03:20 TSDNS Info A/AAAA DNS resolve for possible TSDNS successful, "ts1.jltctech.com" =(h: 199.168.96.85 p:0)
    3/3/2017 14:03:20 TSDNS Info A/AAAA DNS resolve successful, "TS1.JLTCtech.com" =(h: 199.168.96.85 p:0)
    3/3/2017 14:03:20 ClientUI Info Lookup finished: ip=199.168.96.85 port=9987 query=ts1.jltctech.com error=0
    3/3/2017 14:03:20 ClientUI Info Resolve successful: 199.168.96.85:9987
    3/3/2017 14:03:20 ClientUI Info Blacklist check ok
    3/3/2017 14:03:20 ClientUI Info Initiating connection: 199.168.96.85:9987
    3/3/2017 14:03:20 TSDNS Info A/AAAA DNS resolve successful, "blacklist.teamspeak.com" =(h: 46.105.112.65 p:0)
    3/3/2017 14:03:20 ClientUI Info Connect status: Connecting
    3/3/2017 14:03:20 PktHandler Devel Puzzle solve time: 5
    3/3/2017 14:03:21 ClientUI Info Connect status: Connected

GoDaddy DNS

  1. Launch a command prompt (Windows key + R and type “CMD” and press enter).
  2. Type: “nslookup -q=srv _ts3._udp.ts.YourDomain.com” and press enter. You should get NO results. If you do get a result, you already have an SRV record somewhere.
  3. Log in to GoDaddy and drill down to your DNS settings.
    1. GoDaddy has two DNS management systems. The “old” system (which is much easier to use) and the “new” system which just lists all your DNS entries. We will be using the new DNS system.
  4. Click the “ADD” button at the bottom right of the page.
  5. Select “SRV“.
    1. Service: “_ts3“.
    2. Protocol: “_udp“.
    3. Name: “TS“.
    4. Target: “TS.YourDomain.com“.
    5. Priority: “0“.
    6. Weight: “0“.
    7. Port: “9987” (or your TeamSpeak port).
    8. TTL: “1/2 hour” (while we are testing. Once it works, change it to a day unless your TeamSpeak IP address changes frequently).
    9. Click “save“.
  6. Click the “ADD” button at the bottom right of the page.
  7. Select “SRV“.
    1. Service: “_tsdns“.
    2. Protocol: “_tcp“.
    3. Name: “TS“.
    4. Target: “TS.YourDomain.com“.
    5. Priority: “1“.
    6. Weight: “0“.
    7. Port: “41144” (or your TeamSpeak port).
    8. TTL: “1/2 hour” (while we are testing. Once it works, change it to a day unless your TeamSpeak IP address changes frequently).
    9. Click “save“.
  8. Click the “ADD” button at the bottom right of the page.
  9. Select “A“.
    1. Host: “TS
    2. Points to: (your TeamSpeak server public IP. Do NOT use an IANA reserved/private IP address like 192.168.x or 10.x (I forgot what the 172 block is)).
    3. TTL: “1/2 hour” (while we are testing. Once it works, change it to a day unless your TeamSpeak IP address changes frequently).
    4. Click “save“.
  10. *A little caveat here. Just because you hit “save” doesn’t mean that the entire global fleet of publicly available DNS servers immediately got your changes. It can take hours to replicate your changes. Just because you don’t get a response doesn’t mean that what you did failed. Try now, try again in 30 minutes, try again in 2 hours. If after 2 hours you get nothing, leave a comment below and I’ll try to help as much as I can.
  11. Launch a command prompt (Windows key + R and type “CMD” and press enter). We want to resolve our new records using OpenDNS servers. Type the following command in the window:
    nslookup -q=srv _ts3._udp.ts.YourDomain.com 208.67.222.222” (press enter).
    nslookup -q=srv _tsdns._tcp.ts.YourDomain.com 208.67.222.222” (press enter).
  12. You should get two responses like the one in the picture below. This means that our TeamSpeak DNS records are now publicly available for query (and hopefully connectivity):
  13. If you’ve configured your firewall, port forwarding, and security rules correctly, attempt to connect to your TeamSpeak server using your TeamSpeak client not using the internal DNS server we used in the first half of this guide (if that is applicable). Otherwise, you should resolve correctly in your TeamSpeak client.

Happy gaming.

Leave a Reply

Your email address will not be published. Required fields are marked *

four × three =