Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I have a TeamSpeak server that is hosted on a GameServers account under the domain with a port number of 9102. I have setup a CName that redirects to, but to connect I still have to use the port number within the server.

As the gameserver host is using a non-standard port number for TeamSpeak is it possible to redirect with an SRV record from without a port number to connect to my teamspeak server with the port number 9102?

Per default, the TS3 server creates a virtual voice server on port 9987 (UDP). The ServerQuery is listening on port 10011 (TCP) and file transfers will use port 30033 (TCP).

So what I want to do is redirect, without a Port Number so when trying to connect a team speak client it will automatically try to connect to port 9987, and have it transparently be redirected to the correct port number.

Can I do this with a SRV Record?


In version 3.0.8 and greater of the TeamSpeak Client on Mac, Linux and Windows, you can now use SRV records to connect to your servers. The format is as follows. Currently, there is no support for SRV records on iOS and Android versions of TeamSpeak.

Format for a SRV record for a TS3 server is: TTL IN SRV priority weight port target

It is also possible to add a SRV record for a TSDNS server for a domain, the format for this is: TTL IN SRV priority weight port target

The priority when resolving is:

  1. _ts3 SRV record
  2. _tsdns SRV record
  3. TSDNS
  4. DNS


Using my server detail as the example above, I can do the following to setup an SRV Record on my domain, using ts as it's subdomain to connect to the TeamSpeak server hosted by GameServers.

_ts3._udp.ts 3600 IN SRV 0 100 9102

Use Case

We no longer use GameServers as our primary account, as we have a VPS hosted by MediaTemple. For that I setup a selection of servers, one on the VPS, I kept the Game Servers account as a backup, and the last is on my home connection. They are donamed within my domain by their CNAME of ts1, ts2, and ts3 respectively. This allows for a redundant setup.

  1. CNAME @.
  2. CNAME
  3. CNAME <my ip address>.

The SRV Records look like this

  1. ts3_.udp.ts 3600 IN SRV 0 100 9987
  2. ts3_.udp.ts 3600 IN SRV 1 100 9102
  3. ts3_.udp.ts 3600 IN SRV 2 100 9987
share|improve this question

closed as off topic by Zoredache, Jason Berg, EEAA, Sam Sep 8 '11 at 21:12

Questions on Server Fault are expected to relate to server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Google for teamspeak TSDNS. It appears to require a special service – Zoredache Sep 8 '11 at 3:36
@Zoredache, so if anything it's possible, we just have to figure out the how now. – Mark Tomlin Sep 8 '11 at 3:37
@Zoredache For future reference, where should I ask this question? – Mark Tomlin Dec 29 '11 at 7:44
TeamSpeak now supports SRV records as of TeamSpeak Client version 3.0.8. – Mark Tomlin Jul 19 '12 at 4:52
Apparently, this is a fairly popular question. So perhaps we could move this over to Super User so that it goes into it's correct area and people can comment / add answers as they see fit on there? – Mark Tomlin Dec 20 '12 at 21:51
up vote 5 down vote accepted

SRV records don't "do" anything on their own. Clients have to be developed to use those SRV records in order to figure out how to find or connect to a given service.

Googling around, it appears that teamspeak decided to make up their own "TSDNS" protocol that appears to be a special server you have to run on a specific port so that TS can ask it what port to connect to "for real". It appears that as of May, having the client find the server through a SRV record is still planned.

share|improve this answer
Thank you, this is very helpful! – Mark Tomlin Sep 8 '11 at 3:51
OMFG - that TSDNS stuff is so broken. They really need to use SRV records properly like real protocols do. – Alnitak Sep 8 '11 at 9:36
@Alnitak, could not agree more. – Mark Tomlin Sep 8 '11 at 9:41

If you are using Apache for the webserver you can do a mod rewrite rule to forward requests on to the server and include port numbers. Is the service http based or is it a program directly cOnnecting?

share|improve this answer
The program is directly connecting, this is why it needs to be handled on the DNS level. (Also, I did not -1 you, I appreciated the answer, even if it did not help.) – Mark Tomlin Sep 8 '11 at 3:35
I don't really care if you did or didn't -1 me, it's part of the fun here. If you're actually running the server, you may want to look into a port tunneler, one of which is available here: but it's not free. This is only one option. You could run a SOCKS server for this too. – U4iK_HaZe Sep 8 '11 at 3:42
I own the domain name, and I own the team speak instance, but I don't own the servers they are on. As the domain is a redirect to a guild launch address that we just setup. But we are going to have hosting on Godaddy soon. I also do have server admin on the TeamSpeak server, but I don't own the server that the TeamSpeak server is own as it's rented. This would all be a lot easier if we had a dedicated server but we don't have the money for that so I'm just trying to do the best I can with what I have. – Mark Tomlin Sep 8 '11 at 3:49
I understand. You can't request for the port to be switched to default? Becuase then the CNAME would work properly. – U4iK_HaZe Sep 8 '11 at 3:51
Alrighty. Good luck to you. – U4iK_HaZe Sep 8 '11 at 4:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.