1

Topic: Recent concerns over frequent master server downtimes

Master servers are down again and again throughout the days for the past three days. I see here every time whenever I am unable to access the server list, but they all seem to be green lights.

Further, it seems that different regions are affected differently. For example, players from Brasil may be able to see some servers in one region, while players from Chile may not.

Does this mean that all the master servers are failing? Why is there such lack of reliability these days?

2 (edited by Quatria 2016-08-22 22:19:58)

Re: Recent concerns over frequent master server downtimes

I am also having issues. Right now it doesnt work. But also in the last days i experienced empty lists. I am from Austria (europe)

EDIT: it works again

3

Re: Recent concerns over frequent master server downtimes

So for all people who are being annoyed by the master downtimes and wouldn't resist to do something silly, I got a config file which will add all known server adresses of date 21.8.16 to your favorites (make sure to backup them first!)

favs.cfg

Like that, you can play again even without any masters smile

4 (edited by Quatria 2016-08-23 07:40:43)

Re: Recent concerns over frequent master server downtimes

thanks Henningstone thats great, i will download and keep it in case the masterservers go down again
How did you favorite all servers? Did you do it with a program?

EDIT: The masterserver finds 912 servers, but the list only contains 280 or so. Anyways, i added them at the bottom of settings.cfg in /home/user/.teeworlds/, that worked. Not sure how to add them otherwise

5 (edited by Schwertspize 2016-08-23 12:20:33)

Re: Recent concerns over frequent master server downtimes

@quatria you can save it next to your settings.cfg or next to your teeworlds.exe or inside the data directory (well, inside what's listed in storage.cfg) and use 'exec favs.cfg'

Then it will add the favorites and you can insert that line in settings.cfg or you can type it by hand in the local console (f1) as you need it.

edit: exec settings.cfg will unfortunately also add the favorites to your normal settings.cfg.

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

6

Re: Recent concerns over frequent master server downtimes

@Schwertspize oh ok i dident know, thanks.

7

Re: Recent concerns over frequent master server downtimes

Another backup for the master servers.

From now on, i have a script running on my server, which contacts every master server 10 times, builds a serverlist and uploads it to pastebin. Additionally, an always working pointer to the pastebin.

https://chickenmilk.rocks/serverlist.php
curl+wget friendly

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

8 (edited by Quatria 2016-08-23 14:00:24)

Re: Recent concerns over frequent master server downtimes

Schwertspitze thats nice, but that arent all servers, i count 256, there are over 900
you just send a GET request to the masterserver and the server gives you the list?
If i for example put this link: master3.teeworlds.com into my browser bar it does nothing

EDIT: There are 902 servers, sry my mistake, looks like you can have max 256 servers in your fav list

9 (edited by Schwertspize 2016-08-23 15:15:22)

Re: Recent concerns over frequent master server downtimes

Quatria i tried one whole list while developing the script consisting of 904 servers (at that time), loaded them all in a clean ddnet client config and it was able to get all server infos.

Getting the server list is a bit more difficult.

First, you send a REQ package (ff ff ff ff ff ff ff ff ff ff 72 65 71 32; 10 times FF, then ASCII encoded 'req2') to a master server via udp on port 8300.
Next, the server is going to respond in as many packages as the server want, maximum containing 75 servers (excluding header 1364 bytes long), each of them beginning with the LIST header (ff ff ff ff ff ff ff ff ff ff 6c 69 73 32; 10 times FF, then ASCII 'lis2').
Behind that list header the list of server ips begin, each address 18 bytes long.
Each of the ip starts with 00 00 00 00 00 00 00 00 00 00 ff ff (10 times 00, two times FF) if it is an ipv4 address, so far i didn't find out about ipv6.
after that, at position 13-18 of each part of the package is the actual ip address, on position 13-16 is each part of an ip address, as unsigned 8 bit integer and the last two positions (17 and 18) are the port, an unsigned big endian 16 bit integer (or, if you read per-byte, position 17 * 256 + position 18; basic positional notation).

I hope this is clear so far.

Note: this applies for 0.6, 0.7 does afaik a bit more magic
Another note: all series of bytes are in hexadecimal notation

Edit: I found most of these values in the teeworlds source, in various files.
Edit 2: worth mentioning: all actual packages sent by teeworlds are actually prefixed by 6 FF as identifier for teeworlds, so the REQ header as you find it in the source is only 4 times FF plus req2
Edit 3: Here the more general source for contacting the master server, excluded my pastebin upload and the add_favorite: https://gist.github.com/Schwertspize/50 … cc9727642c

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

10 (edited by Quatria 2016-08-23 18:00:56)

Re: Recent concerns over frequent master server downtimes

Thanks for the detailed explanation.
I was not using the ddnet client, but the normal one. Wierd that the normal one is limited to only 256 favorite servers

EDIT:
Found out how to increase the max favorite server size with the normal client
Its under src/engine/client/serverbrowser.h
On line 27: MAX_FAVORITES=256