Page 1 of 1
Unreal server browser needs a thorough check imo
Posted: Mon Aug 30, 2010 9:55 am
by Hyper
Apart from the problems with the master servers themselves:
With the recent master server issues it becomes clear that the Unreal server browser itself also is not working perfectly yet.
In this thread I find a number of possible shortcomings which are not in the master servers themselves but in the way the Unreal server browser works:
Recent master server troubles
Encountered problems:
- the list of multiple fallback master servers which seems to be not properly handled by the Unreal server browser. If one or more of the master servers are dead, the others are not properly used.
- It could be that the queries of multiple master servers are not being properly combined into one final list. For details see the mentioned thread.
- There may, or may not be a hardcoded reference to the Gamespy master (I think not after my testing, but we better be sure)
- UT servers (With GameName=UT) can be listed in the Unreal server browser (with GameName=Unreal). The filtering on GameName may not work properly
- The default.ini could use an update. "unreal.epicgames.com" is not a master server. It is the Unreal technology website on which there is currently no master. Therefore it should be removed from the list.
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 11:36 am
by Hyper
Because nobody is responding, I'm doing my own tests, for so far I can. (Without the sources or understanding of the sources)
I want to make sure that we get a robust server browser in u227g.
Test scenario 1: Several master servers are down.
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=sadgkjhskjgh.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=sgjakjghsadkj.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=sadf.erwsds.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[3]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.oldunreal.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[4]=UBrowser.UBrowserGSpyFact,MasterServerAddress=sdfsadf.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[5]=UBrowser.UBrowserGSpyFact,MasterServerAddress=sdgfeeiii.com,MasterServerTCPPort=28900,GameName=unreal
Test: success. The browser gets the servers from the only available master server which is "master.oldunreal.com" in my test.
Log:
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Log: Resolving
www.oldunreal.com...
Log: Resolving sadgkjhskjgh.com...
Log: Resolving sgjakjghsadkj.com...
Log: Resolving sadf.erwsds.com...
Log: Resolving master.oldunreal.com...
Log: Resolving sdfsadf.com...
Log: Resolving sdgfeeiii.com...
Init: WinSock: I am PC096 (192.168.52.94)
Log: Resolved
www.oldunreal.com (85.88.2.206)
Log: AInternetLink Resolve failed: Can't find host sadgkjhskjgh.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: AInternetLink Resolve failed: Can't find host sgjakjghsadkj.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: AInternetLink Resolve failed: Can't find host sadf.erwsds.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: Resolved master.oldunreal.com (68.198.44.178)
ScriptLog: UBrowserGSpyLink: Master Server is master.oldunreal.com:28900
Log: AInternetLink Resolve failed: Can't find host sdfsadf.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: AInternetLink Resolve failed: Can't find host sdgfeeiii.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 11:43 am
by Hyper
Test scenario 2: Gamespy is down.
To test this, I added the following entries to my hosts file, where 192.168.33.33 is a non-existing local IP.
Code: Select all
127.0.0.1 localhost
::1 localhost
192.168.33.33 master0.gamespy.com
192.168.33.33 master.gamespy.com
192.168.33.33 gamespy.com
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master0.gamespy.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.oldunreal.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.hypercoop.tk,MasterServerTCPPort=28900,GameName=unreal
ListFactories[3]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.hlkclan.net,MasterServerTCPPort=28900,GameName=unreal
ListFactories[4]=UBrowser.UBrowserGSpyFact,MasterServerAddress=skwmaster.dyndns.org,MasterServerTCPPort=28900,GameName=unreal
ListFactories[5]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.thenerdnetwork.com,MasterServerTCPPort=28900,GameName=unreal
Test: Success! There seems to be no hardcoded reference to Gamespy, or any hardcoded references to Gamespy do not prevent the alternative master servers to be used.
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Log: Resolving
www.oldunreal.com...
Log: Resolving master0.gamespy.com...
Log: Resolving master.oldunreal.com...
Log: Resolving master.hypercoop.tk...
Log: Resolving master.hlkclan.net...
Log: Resolving skwmaster.dyndns.org...
Log: Resolving master.thenerdnetwork.com...
Init: WinSock: I am PC096 (192.168.52.94)
Log: Resolved
www.oldunreal.com (85.88.2.206)
Log: Resolved master0.gamespy.com (192.168.33.33)
ScriptLog: UBrowserGSpyLink: Master Server is master0.gamespy.com:28900
Log: Resolved master.oldunreal.com (68.198.44.178)
ScriptLog: UBrowserGSpyLink: Master Server is master.oldunreal.com:28900
Log: Resolved master.hypercoop.tk (82.176.185.131)
ScriptLog: UBrowserGSpyLink: Master Server is master.hypercoop.tk:28900
Log: Resolved master.hlkclan.net (12.177.134.21)
ScriptLog: UBrowserGSpyLink: Master Server is master.hlkclan.net:28900
Log: Resolved skwmaster.dyndns.org (80.221.231.252)
ScriptLog: UBrowserGSpyLink: Master Server is skwmaster.dyndns.org:28900
Log: Resolved master.thenerdnetwork.com (206.67.234.165)
ScriptLog: UBrowserGSpyLink: Master Server is master.thenerdnetwork.com:28900
ScriptLog: UBrowserGSpyLink: Couldn't connect to master server.
Log: CheckConnectionAttempt: Error while checking socket status.
ScriptLog: UBrowserGSpyLink: Couldn't connect to master server.
Log: CheckConnectionAttempt: Error while checking socket status.
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 11:53 am
by Hyper
Test scenario 3: Are multiple community master servers used?
This test is to determine if the other master servers are used if the first one is also available. This is needed because not all master servers may list all servers.
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=skwmaster.dyndns.org,MasterServerTCPPort=28900,GameName=unreal
ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.hypercoop.tk,MasterServerTCPPort=28900,GameName=unreal
(skwmaster.dyndns.org only lists very few servers as it is new. The Unreal server browser also should use the second master server because it can get more servers from there). In this test, the Gamespy master is still unavailable.
Test: Success! I get a list of servers from
both master servers. They don't cancel each other out. (Skwmaster.dyndns.org lists my servers only, at the time of testing. master.hypercoop.tk lists other servers but not my Hyper servers because of a local loopback issue. The test is successful because both my servers as the other servers get listed.)
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Log: Resolving
www.oldunreal.com...
Log: Resolving skwmaster.dyndns.org...
Log: Resolving master.oldunreal.com...
Init: WinSock: I am PC096 (192.168.52.94)
Log: Resolved
www.oldunreal.com (85.88.2.206)
Log: Resolved skwmaster.dyndns.org (80.221.231.252)
ScriptLog: UBrowserGSpyLink: Master Server is skwmaster.dyndns.org:28900
Log: Resolved master.oldunreal.com (68.198.44.178)
ScriptLog: UBrowserGSpyLink: Master Server is master.oldunreal.com:28900
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 12:00 pm
by Hyper
Test scenario 4: Chaos!
This test is to determine if multiple things fail at once if the Unreal server browser is still working.
1. Gamespy still resolves to a non-existing IP.
2. There are multiple backup master servers down.
3. Not all backup master servers who are online contain all servers. Does combining still work?
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=riifsdfelln.org,MasterServerTCPPort=28900,GameName=unreal
ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=asjeeseh.com,MasterServerTCPPort=28900,GameName=unreal
ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=skwmaster.dyndns.org,MasterServerTCPPort=28900,GameName=unreal
ListFactories[3]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.hypercoop.tk,MasterServerTCPPort=28900,GameName=unreal
ListFactories[4]=UBrowser.UBrowserGSpyFact,MasterServerAddress=asdjh.net,MasterServerTCPPort=28900,GameName=unreal
ListFactories[5]=UBrowser.UBrowserGSpyFact,MasterServerAddress=blah.asdfkgsaj.org,MasterServerTCPPort=28900,GameName=unreal
Test: Success! I still get a combined list even when multiple factors fail.
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Log: Resolving
www.oldunreal.com...
Log: Resolving riifsdfelln.org...
Log: Resolving asjeeseh.com...
Log: Resolving skwmaster.dyndns.org...
Log: Resolving master.hypercoop.tk...
Log: Resolving asdjh.net...
Log: Resolving blah.asdfkgsaj.org...
Init: WinSock: I am PC096 (192.168.52.94)
Log: Resolved
www.oldunreal.com (85.88.2.206)
Log: AInternetLink Resolve failed: Can't find host riifsdfelln.org (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: AInternetLink Resolve failed: Can't find host asjeeseh.com (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: Resolved skwmaster.dyndns.org (80.221.231.252)
ScriptLog: UBrowserGSpyLink: Master Server is skwmaster.dyndns.org:28900
Log: Resolved master.hypercoop.tk (82.176.185.131)
ScriptLog: UBrowserGSpyLink: Master Server is master.hypercoop.tk:28900
Log: AInternetLink Resolve failed: Can't find host asdjh.net (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Log: AInternetLink Resolve failed: Can't find host blah.asdfkgsaj.org (WSANO_DATA)
ScriptLog: UBrowserGSpyLink: Failed to resolve master server address, aborting.
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 12:08 pm
by Hyper
Test scenario 5: Can the UT server browser be used for Unreal?
This test is to determine if Epics UT master server can also be used as backup master for our Unreal 1 servers.
I added the UT master server to my Unreal game servers:
Code: Select all
ServerActors=IpServer.UdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
And I set up my client to query only this master server:
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=utmaster.epicgames.com,MasterServerTCPPort=28900,GameName=unreal
Test: Failed, for two reasons:
1. The server browser lists UT-servers, while it should filter them out on the GameName= string.
2. My servers are not listed. Epic seems to filter Unreal servers out of their UT master server, maybe on version number or on the GameName=UT string.
Re: Unreal server browser needs a thorough check imo
Posted: Tue Sep 14, 2010 12:21 pm
by Hyper
From my own testing, I can conclude that the server browser performs nicely. The problems last month when no servers appeared where mostly related to Gamespy and most the community backup master servers failing all at the same time. Still, there was at least one or two backup servers still working then, but they were not queried by the server browser. This is something I cannot explain with my above testing.
What at least needs to be done is to update the list of master servers in
dafault.ini. Here is my list to choose from:
Code: Select all
master0.gamespy.com
master.oldunreal.com
master.hlkclan.net
master.hypercoop.tk
skwmaster.dyndns.org (Unsure yet if this one will stay)
These masters are online and queryable at the time of writing.
unreal.epicgames.com should be removed from the default ini files because it is no master server.
master.thenerdnetwork.com should be removed because it is down for weeks and TNN does not respond to support requests related to it. utmaster.epicgames.com should not be added because it is not usable for Unreal.
As for the server side:
Code: Select all
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900
The QTracker master server can also be used in addition to the ones mentioned above. While the QTracker master server cannot be queried from Unreal, it does get used via the standalone QTracker program. In my opinion, the Gamespy master server should always be used as the first one in the list, because it has been online for many years now, so they are quite reliable even with the occasional downtimes. Gamespy has showed responsibility since the beginning of Unreal.
Some attention please?
Posted: Thu Sep 16, 2010 8:51 am
by Hyper
Can this thread please get some attention from Smirftsch and if neccessary the other responsible developers?
Re: Unreal server browser needs a thorough check imo
Posted: Thu Sep 16, 2010 3:13 pm
by []KAOS[]Casey
Before 227f was out I actually tried messing with this function where the browser receives master server information, and the normal code has this really stupid thing where if one master server fails, they all fail. and I tried to allow the list if one works, but it spammed the shit out of the log to high hell for some reason I couldn't figure out. After digging and digging and digging I just gave up, UWindow is a headache...
Maybe I can try again, it has been a year, but then again dots will probably yell at me since I'm not so great with uwindow code lol
Re: Unreal server browser needs a thorough check imo
Posted: Thu Sep 16, 2010 4:29 pm
by Smirftsch
be sure it has attention, quite a lot indeed, but I'm currently knocked out due to much work and since today an additional flu to my crappy health too...
Re: Unreal server browser needs a thorough check imo
Posted: Fri Sep 17, 2010 6:03 am
by Skw
Hyper.dnsalias.net lists other servers but not my Hyper servers because of a local loopback issue.
Ha! You have same problem too. I'll do same as you, I remove my servers from the master server soon. Then there will be not weird LAN IP addresses.
Then it is even more certain that skwmaster.dyndns.org will stay. Still in testing stage. OldUnreal community, keep testing!
Re: Unreal server browser needs a thorough check imo
Posted: Fri Sep 17, 2010 3:36 pm
by Hyper
be sure it has attention, quite a lot indeed, but I'm currently knocked out due to much work and since today an additional flu to my crappy health too...
Okay, I understand. Get well soon!