Master Server

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
Post Reply
User avatar
Crazyass
Posts: 5
Joined: Mon Aug 08, 2005 6:44 am
Location: La Honda

Master Server

Post by Crazyass »

Whenever I go on, sometimes a message pops up that says the master server does not answer. Master server could not be reached and server list could not be updated. I talked to several people about this and they all have the same problem. Can anyone fix this?
Last edited by Crazyass on Wed Aug 10, 2005 8:13 pm, edited 1 time in total.
Metal up your ass!
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

I also get this message once in a while...it gets annoying.. :o :x
Damn, it sure has been a while!
User avatar
Z-Man
God & Project Admin
Posts: 11736
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

This message is caused, surprisingly, by the master server being down or unreachable. Most of the time it simply loses the network connection because of its crappy NIC (like today), but occasionally, an automatic update goes berserk. Redundant servers are in the works.
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

Ah so is it gonna be changed any time soon?
Damn, it sure has been a while!
User avatar
Lucifer
Project Developer
Posts: 8756
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas

Post by Lucifer »

Hey yeah, we were going to do that not too long ago. :)

Where do we stand on redundant master servers, anyway?

It occurs to me that we should try to build into 0.2.8 support for querying multiple master servers if it's not there already, and include two or three DNS names for master servers that are known to operate. So I'll operate one, I think Tank was talking about running one, and then yours, and between the three of us there should always be one that's available.

Then, on the rare occasion when older clients complain about the one server being down, we can tell them to upgrade. :) 0.2.8 is going to be a big enough upgrade, I think, that it'll be worth it to try to get older clients upgraded.
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

I'm sure happy with it so far, but alot of people like 2.6 and stuff...they are firmly against updating cuz the rubber changes..mabye if we informed them that you can now change it from fps dependency to the new way (which is?? someone fill me in) it'd change their minds.
Damn, it sure has been a while!
User avatar
Lucifer
Project Developer
Posts: 8756
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas

Post by Lucifer »

TiTnAsS wrote:I'm sure happy with it so far, but alot of people like 2.6 and stuff...they are firmly against updating cuz the rubber changes..mabye if we informed them that you can now change it from fps dependency to the new way (which is?? someone fill me in) it'd change their minds.
Why don't you just remind them that the client version doesn't matter, it's the server version that matters? :)
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN

Be the devil's own, Lucifer's my name.
- Iron Maiden
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

Lucifer wrote:It occurs to me that we should try to build into 0.2.8 support for querying multiple master servers if it's not there already, and include two or three DNS names for master servers that are known to operate. So I'll operate one, I think Tank was talking about running one, and then yours, and between the three of us there should always be one that's available.
Why different DNS names? This is a perfect example of where we should query a single DNS name (master.armagetronad.net?) and attempt all listed IPs...
Lucifer wrote:Then, on the rare occasion when older clients complain about the one server being down, we can tell them to upgrade. :)
Or, if we can get the DNS name old clients poll as a CNAME to master.armagetronad.net, the users have two options: 1) upgrade; 2) try again :)

Not sure if we'll have trouble setting up the round-robin stuff directly on armagetronad.net-- Tank just had to use no-ip, which seems to be really crappy for anything other than a simple dynamic bla.no-ip.com... :/
Hopefully the DNS specs allow some way to get around this, if that's the case...
User avatar
Z-Man
God & Project Admin
Posts: 11736
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Status: the code both for the master servers and the clients is there. The thing left to do maybe would be to make the timeout of the master server (when it automatically quits) and other settings configurable.
Luke: the advantage of having one dns entry per master server and not one round-robin entry is that then, each client can remember which master servers did not work today and try only the others. Of course, we can detect that centrally and update the round-robin entry accordingly, but that's then another service that may fail.
Plus, at least the master servers themselves need to know the IPs of each other, so we'll have to give each one a DNS name anyway. And if the names are master1.aarmagetronad.net, master2. ...,
Rereading what you wrote and having to admit that a single DNS name could accomplish the same, I'll have to change my argumentation: one DNS name per server works currently, whereas a single, multi-IP DNS entry would require more coding work.
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

z-man wrote:Luke: the advantage of having one dns entry per master server and not one round-robin entry is that then, each client can remember which master servers did not work today and try only the others.
They can do that with round-robin, too. We'd just list an IP instead of domain.
z-man wrote:Of course, we can detect that centrally and update the round-robin entry accordingly, but that's then another service that may fail.
Good idea, for pre-0.2.8 clients to work nicer
z-man wrote:Plus, at least the master servers themselves need to know the IPs of each other, so we'll have to give each one a DNS name anyway.
Why can't they work the same? Read the list from the A DNS records...
z-man wrote:And if the names are master1.aarmagetronad.net, master2. ...,
Then it's no different than a round-robin setup.
z-man wrote:Rereading what you wrote and having to admit that a single DNS name could accomplish the same, I'll have to change my argumentation: one DNS name per server works currently, whereas a single, multi-IP DNS entry would require more coding work.
Fine, but in the long run I think we should move to the round-robin design... How about this... For now, they're 1.master.armagetronad.net, 2.master.armagetronad.net, etc; master.armagetronad.net CNAMEs to 1.master... When we get round-robin code, we have master.armagetronad.net be that and keep #s as the invididual servers.
armagetron.kicks-ass.net obviously would CNAME to master.armagetronad.net :)
User avatar
iceman
Reverse Adjust Outside Corner Grinder
Posts: 2448
Joined: Fri Jan 09, 2004 9:54 am
Location: Yorkshire, England. Quote: Its the fumes, they make one want to play
Contact:

Post by iceman »

while on the subject of master servers ....

did you guys add an option in 2.8 to enable/disable pinging etc of the servers in the list for guys like myself who dont want their machine sending the ip to everybody on the list
Image He who laughs last, probably has a back-up
Image
Image
sorry about the large animated gif
User avatar
Lucifer
Project Developer
Posts: 8756
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas

Post by Lucifer »

Hmm, seems to me the master server is a compromise. Without getting involved in a philosophical discussion, I'm interested in a quick fix to make it redundant that can be easily updated in the future, and allowing for a client to check multiple master servers is exactly that, a quick fix that can be updated in the future to reflect whatever is done. A long discussion isn't needed or wanted right now, all that's needed is to start testing.

So what do we need to do for me to fire up a master server on my machine and start testing master server redundancy? I imagine it'll be something where I fire mine up, you have yours running z-man (updated, I hope), and we verify they're communicating, then we try turning yours off and seeing what happens. You know, in a nutshell.

To be honest, I think there's a good possibility if we get a special arma protocol for web browsers we might be able to do away with the master server completely in favor of a web-service-based interface. Not saying we should, nor am I trying to start another "discussion". ;)
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11736
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Lucifer wrote:So what do we need to do for me to fire up a master server on my machine and start testing master server redundancy?
Yes, this would be the logical next step. I'm updating the master server to the 0.2.8 branch currently. The networking base it relies on should be stable enough for that. You'll then just have to pass over the IP your server runs at and I'll start sending it updates, and we can add it to the list of servers the clients should query.
User avatar
Z-Man
God & Project Admin
Posts: 11736
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Apparently, the automake transition broke the master server. Connects to it are failing in the middle (I think the master stopped sending ack packets???). I'm investigating.
Edit for clarification: the master server build is broken. The real master server is running an old version and should be fine.

Iceman: The possibility is there in the code, but it's not yet configurable. I just don't know what to do with those servers that are not polled.
User avatar
Z-Man
God & Project Admin
Posts: 11736
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

The master server forgot to update the clock in its main loop.

I updated the real master server to the new code, that also means than new servers on dynamic IP can now help the clients to remember them better by setting SERVER_DNS to a dynamic DNS entry that points to the server.
Post Reply