Minecraft Round Robin DNS?

Discussion in 'Server & Community Management' started by BeastsMC, Jun 28, 2013.

  1. Does Round Robin DNS work for Minecraft?

    I have a server with 3 different IPs. One of them just received an 8gbps DDoS and my host has nullrouted it for 24h. I just changed the DNS A record to resolve to a different IP to get around that. However, in the future, I want this to happen without my intervention. It's my understanding that normal, well functioning programs can benefit from round robin DNS because it gives them multiple IPs to try if one of them is down. I've heard Minecraft just gives up after the first try if it doesn't work. Does anybody know if this is true?
    • Like Like x 1
  2. Yes this does work, mc-sg and I believe uberminecraft do this to allow more players onto their servers.
    You can even set up 3 SRV records under your domain, and it will pick a random one each time someone refreshes their server list. (Though a round robin is much better, as some people's devices can't resolve SRV records)
  3. So round robin with A records don't work for Minecraft?
  4. It should work. I am not sure how to set it up though.
  5. I spoke about DNS Round Robin slightly in this post here which was responding to someone who had working Round Robin.

    Minecraft's implementation of SRV records will not fall back onto another server if the first one fails. Though, each time you try and connect it will try the next record. If one server out of three is down, with trial and error you will eventually connect t one of the other two (at least with my previous testing).

    flyingtacoz You just have multiple records for each (sub)domain. eg. 3 A records for "@".

    In short though, Round Robin is used as a basic load balancing method by some of the major servers, I expect they rely on professional DDoS protection rather than this for redundancy.
    • Informative Informative x 1
  6. LukeHandle that works but if one server was to go down people would still be pointed to the dead server. Surprisingly a lot of the big servers have no failure detection.
  7. Specifically, which works? The SRV or DNS Round Robin? And DNS doesn't have a failure detection built in. Otherwise if the DNS server was to manually ping each server for availability before replying to the DNS query it would increase the resolve time dramatically.

    It should be the job of the client connecting to check multiple servers when given multiple addresses.

    Or did you mean that they didn't automate the changing of the DNS records depending on availability? If you had a monitoring server or two you could test availability and then make changes to a DNS server's records (maybe using the CloudFlare API if you used them or just host your own nameserver) if one Minecraft server became unavailable.
  8. But DNS takes time to propagate, so by the time most players began to see the effects, the problem would likely be resolved.
  9. Depends if the DNS servers in between overrode the caching time of the nameserver. Assuming they all respected the TTL then it wouldn't be too bad of an issue?

    If one Bungee server was nailed by a DDoS for ~2 hours, a 5 min (best case scenario) propagation time wouldn't be too bad. Though that is relying on factors out of your control of course.

    I am just spitballing here, partly trying to work out what failure detection treestompz had in mind.
  10. PhanaticD


    try amazons route 53 health checking maybe idk if that applies
  11. PhanaticD yea, what I was gonna link: http://aws.amazon.com/route53/ Most of the big servers have no failover detection but they have a lot of bungee instances so it doesn't matter all that much.