Forum


Notice to all users

We are migrating towards a new forum system located at community.teamspeak.com, as such this forum will become read-only on January 29, 2020

Page 3 of 6 FirstFirst 12345 ... LastLast
Results 31 to 45 of 79

Thread: SRV Records

  1. #31
    Join Date
    December 2009
    Location
    Portugal
    Posts
    492
    We've recently added srv records for our server, and after the first issue occurred, i found this whole thing about the teamspeak's implementation of srv not being fully spec compliant. I was quite disappointed by that, but im not going to press on the subject.

    After realizing this, i decided to investigate something else that has been stated, the resolve/connect order:
    Before connecting to any server, the TeamSpeak 3 Client will try to resolve the IP address of the server in the following order:
    1) _ts3 SRV record
    2) _tsdns SRV record
    3) TSDNS
    4) DNS
    Source: https://support.teamspeakusa.com/ind...ns-srv-records

    The question is how does the client decide which server to connect to if the first successfully resolved server down/unreachable? Does it try to connect to the others in the order stated above, or does it just give up?

    I did the tests with the following setup:

    Main server: my.domain.com:9990
    Backup server: backup.domain.com:9987
    Test server: my.domain.com:9987

    SRV record: _ts3._udp.ts.my.domain.com pointing to my.domain.com:9990
    A record: ts.my.domain.com pointing to backup.domain.ip.address

    There is a TSDNS server running on both domains, with a single line of configuration, respectively:
    *=my.domain.com:$PORT
    *=backup.domain.com:$PORT

    With all the servers up, connecting to ts.my.domain.com connects to my.domain.com:9990, as expected. If i shutdown the main server, it results in the following:

    05/12/2015 13:21:43 ClientUI Info Connect to server: ts.my.domain.com
    05/12/2015 13:21:43 ClientUI Info Trying to resolve ts.my.domain.com
    05/12/2015 13:21:43 TSDNS Info DNS resolve successful, "ts.my.domain.com"=backup.domain.ip.address
    05/12/2015 13:21:43 TSDNS Info SRV DNS resolve successful, "_ts3._udp.ts.my.domain.com"=>"my.domain.com:9 990" = my.domain.ip.address:9990
    05/12/2015 13:21:43 TSDNS Info TSDNS found at "my.domain.com" and queried successfully. Result: my.domain.com:9987
    05/12/2015 13:21:43 ClientUI Info Lookup finished: my.domain.ip.address 9990 ts.my.domain.com 0 0
    05/12/2015 13:21:43 ClientUI Info Resolve successful: my.domain.ip.address:9990
    05/12/2015 13:21:43 ClientUI Info Blacklist check ok
    05/12/2015 13:21:43 ClientUI Info Initiating connection: my.domain.ip.address:9990 ts.my.domain.com
    05/12/2015 13:21:43 ClientUI Info Connect status: Connecting
    05/12/2015 13:21:43 TSDNS Info TSDNS found at "ts.my.domain.com" and queried successfully. Result: ts.backup.domain.com:9987
    05/12/2015 13:21:48 ClientUI Info Connect status: Disconnected
    05/12/2015 13:21:48 ClientUI Info Failed to connect to server, want autoreconnect = 0
    Everything resolves as expected, but once it fails to connect to the result of the SRV record, it wont try to connect to any of the others, even though they were resolved successfully.

    So, what i take from my experiences is that not only the current SRV implementation does not allow availability/priority connection, but also adding a SRV record breaks other kind of failover/backup mechanisms that you can already have with TSDNS and/or A records.

    If you need any more information from me, please ask. I hope that this issue taken more seriously.

    Regards

  2. #32
    Join Date
    February 2012
    Location
    Germany
    Posts
    577
    It is indeed the case that failover via SRV DNS record is not implemented in the TS3 client. This has been pointed out before, but nothing was changed in the client. Don't expect that to change.

    I assume this is made so, because failover like in a cloud or in a cluster is not applicable in Teamspeak. In a failover-aware system with stateful applications, there is always known which node is the active node. In Teamspeak, there is no mechanism that has the information who is the active node. Servers are either online and accessible, or not online and not accessible. But there is no standby state: online but not accessible.

    Imagine what happens if your primary server goes down: your clients connect to the backup server. But what happens if the primary server is up again? All the users on the backup servers remain on the backup server, and new users connect to the primary server. The userbase is split between the servers, and this is confusing for sure.

    What happens if one user has temporary connection problems? The client thinks the primary server is down and connects him to the backup server, which is empty, because there are no real connection problems. This is even more confusing if a user connects to an empty server, while his fellow gamers might tell him that they are on a full server speaking to each other in this very moment!

    So, as long as there is no client-supported failover mechanism between a (also not really existing) TS3 server cluster, it makes no sense to have redundant SRV entries.

    If you want to have some failover process, implement this in a different way:

    1. Implement a monitoring process that checks if the primary TS3 server is up or down.
    2. If the primary server is up, the monitoring process stops the secondary TS3 server and edits the SRV DNS record to point to the primary server. The TTL of the SRV record is 10 seconds or whatever the length of your monitoring process loop is.
    3. If the primary server is down, the monitoring process stops the primary server and starts the secondary server. Then it edits the SRV DNS record to point to the secondary server.
    4. Let the secondary server now be the primary server and the old primary server the secondary.
    5. goto 1.

    The flaw in this scenario is the server database. It must be shared or mirrored. If it is shared, it becomes the single point of failure (which you want to get rid of in the first place), and if it is mirrored, it is always outdated on the non-active server. So, both variants are bad.

    As long as there is no native support for that in the Teamspeak software, you are better off with ensuring that your only server doesn't ever fail. The TS3 server software itself is so stable that it is no big task to ensure this, if you know how to operate a 24/7 service.

  3. #33
    Join Date
    December 2009
    Location
    Portugal
    Posts
    492
    Thanks for the reply, but i am aware of that.

    We have in fact a working system for a backup server switch over. It relies on updating A records via an API.

    We have the main server and then a backup server with just some basic channels and permissions. In the main server, we have a script that checks the server instance availability (and restarts it if it ever crashes or becomes unreachable), updates the TSDNS to point to the backup server in case it is not able to get the server instance running properly, and even checks for internet connectivity and tries to trigger the record update via a backup internet connection. There is also a sort of all else fails script running in the backup server, querying the main server every minute, and forcing the update in case it fails after a couple of attempts.

    As for the divided members issue, we have the script on the backup server spam the ts server with messages telling clients to go back to the main server when it comes back up (we could even shut the backup server down, but there is no need for it).

    It is far from a high availability solution, as the maximum downtime is of about 40s-1m, depending on the DNS server of the client, but it is better than nothing. This was implemented by us when the main server was served by a home ADSL connection. Now we have FTTH with fixed IP, and there has not been any unexpected downtime since then, but it is always nice to have a backup system.

    We only decided to add the SRV records because it is faster to resolve a single SRV record than resolving an A/CNAME, then querying TSDNS and resolving another A/CNAME. Now, since the client does not even try the other methods after resolving the SRV record (and the priority failover mechanism is not working), it renders our backup system useless.

    We can also not update the SRV record, because our current DNS manager does not have any kind of API, so we have to resort to an intermediary domain.

    It works just fine, i just wish it was simpler.

    Regards

  4. #34
    Join Date
    December 2004
    Location
    RF
    Posts
    3,008
    You wanted failover, but you did not implement it at your end, to begin with.
    I don't see the results of your test having any use.

  5. #35
    Join Date
    December 2009
    Location
    Portugal
    Posts
    492
    Failover at client side? Care to elaborate?

  6. #36
    Join Date
    December 2015
    Posts
    1

    How do I Setup a Custom TS IP?

    Hi there,
    I don't know if this is the right place to post this but I was looking for tutorials on how to set a Custom TS IP but all of them did not help me or tell me how do I get a custom TS IP.
    Basically I want a Custom TS IP for my Teamspeak Server for example TS.mysite.com rather than a IP that has a long number, I am basically a noob when it comes to stuff like this, I went on my Domain reg because a lot of people tell me to go there to do a custom TS IP.

    Name:  Ts Thingy.JPG
Views: 905
Size:  55.1 KB
    What do I do from here and how do I fill this in to setup my Custom TS IP or is there a other way to setup a Custom TS IP can someone please help me because I need to start my community as fast as possible.
    Last edited by dante696; December 16th, 2015 at 08:20 AM. Reason: merged

  7. #37
    Join Date
    December 2004
    Location
    RF
    Posts
    3,008
    Not at client side.

  8. #38
    Join Date
    December 2015
    Posts
    3
    anyone done this on windows 2008 with a dedicated box?

    Ive tried for about 6hrs and cant seem to get it working.

  9. #39
    Join Date
    January 2016
    Posts
    1

    SRV record help

    Okay so...

    Everywhere I see on support threads are people trying to configure their SRV records by having people connect with 'ts3.domain.com' or some other random subdomain but I have found very, very few with people trying to redirect their non subdomain 'domain.com' to a TS3 server. I am one of those people, I strictly want people to only have to use 'domain.com' to connect. My website hosting is through IPOWER and my TS3 server is on a VPS server with a different provider. The TS3 server is currently running on the default port of 9987.

    I have come to the conclusion to use either of the following:
    Code:
    _ts3._udp.domain.com. 3600 IN SRV 0 5 9987 domain.com.
    _tsdns._tcp.domain.com. 3600 IN SRV 0 5 41144 domain.com.
    OR

    Code:
    _ts3._udp 3600 IN SRV 0 5 9987 domain.com.
    _tsdns._tcp 3600 IN SRV 0 5 41144 domain.com.
    In addition to that, I have added an A record for my domain in Cpanel set as 'ts' and it is pointed to the IP of my TS3 server. With said A record, will the above SRV records still work automatically with TeamSpeak or do I have to put 'ts.domain.com' in the name or target? I can already connect to the server by using 'ts.domain.com' but that is not what I want, I don't want to have to use the extra 'ts'.

    I've searched countless threads and every one has been making my head spin... Please help. I would appreciate the exact SRV record to hand over to IPOWER support since only they can add it.
    Last edited by dante696; January 18th, 2016 at 02:17 PM. Reason: merged

  10. #40
    Join Date
    December 2004
    Location
    RF
    Posts
    3,008

  11. #41
    Join Date
    February 2015
    Location
    Bosina & Hercegovina
    Posts
    7

    ts

    Okay, I configure that and also I cant to connect to my TS3 server where is mistake, can some help me.
    Look picture'
    http://prntscr.com/9uqtzc

  12. #42
    Join Date
    February 2012
    Location
    Germany
    Posts
    577
    The target must not be an ip address. It must be a hostname such as ts.example.org, and that hostname must point to the IP address.

  13. #43
    Join Date
    February 2015
    Location
    Bosina & Hercegovina
    Posts
    7

    ts

    okay that, but where i type my ip ts3
    Like that?
    http://prntscr.com/9us8ez

  14. #44
    Join Date
    December 2004
    Location
    RF
    Posts
    3,008
    ; <<>> DiG 9.10.3 <<>> _ts3._udp.fatality-cs.info. SRV
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 31636
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
    Just where you are making your changes, may I ask?

  15. #45
    Join Date
    February 2015
    Location
    Bosina & Hercegovina
    Posts
    7

    ts

    Here?

    http://prntscr.com/9uu8nb

    http://prntscr.com/9uu9bt


    And I see now this make forum i dont make this probably automatic make is ? sry for bad english
    look picture

    http://prntscr.com/9uuag2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. SRV & AName Records - Need help!
    By Novadrake1111 in forum Server Support
    Replies: 3
    Last Post: July 5th, 2014, 10:55 PM
  2. TS3 SRV records not working
    By ApolloIXI in forum Server Support
    Replies: 3
    Last Post: January 31st, 2014, 10:20 AM
  3. Problems with SRV records
    By Ronald in forum Client Support
    Replies: 10
    Last Post: July 10th, 2013, 05:22 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •