Internet Servers' list bug

Got a problem with OpenTTD? Find some help here.

Moderator: OpenTTD Developers

Post Reply
McArcher
Engineer
Engineer
Posts: 15
Joined: 30 Apr 2007 01:33

Internet Servers' list bug

Post by McArcher »

I've got strange bug. When I start the game and go to multiplayer, select Internet and refresh servers' list, it has 2/3 of servers without names and info (they are aslo marked as offline servers). But if I select this server and refresh it, it's shown that this server isn't offline. Strange refreshing list bug...

and another bug... when I refresh the whole list for the second (and further) time, it shows only servers with red circle and many-many other servers with IP only and status "offline", which aren't really offline (as in first bug above).

what can it be? 0.5.1 version bug or something else?
Rubidium
OpenTTD Developer
OpenTTD Developer
Posts: 3815
Joined: 09 Feb 2006 19:15

Post by Rubidium »

That's not really a bug, but rather your internet connection acting up.

What happens is that multiplayer gets a list of ip-addresses + ports. Then your client has to request the info from the servers. It does this using a so-called UDP packet, which is sent to the client but there is no guarantee the packet arrives at the server. A similar packet is sent back to you (that can be dropped too).

I presume that your firewall sees this behaviour as flooding and therefor drops the packets _or_ your internet connection is so slow that it drops the packets.

Anyway, OpenTTD has a resend mechanism that performs a couple of retries. However, when your firewall has already blocked there 'floods' of packets, the next time you press on refresh only (very) few servers are reached by the query for information and by chance that are only servers that are not version-compatible with your client.
SyncViews
Engineer
Engineer
Posts: 38
Joined: 13 May 2007 12:31
Location: UK

Post by SyncViews »

I get this with around 50% of the games on the list.
Is there anyway to stop this happening so much as it's realy annoying when trying to find a game.
Rubidium
OpenTTD Developer
OpenTTD Developer
Posts: 3815
Joined: 09 Feb 2006 19:15

Post by Rubidium »

SyncViews wrote:I get this with around 50% of the games on the list.
Is there anyway to stop this happening so much as it's realy annoying when trying to find a game.
Make sure your firewalls etc. do not drop the UDP packets and make sure that the internet connection isn't saturated.
OpenTTD has a retry mechanism that tries to query all servers, but it won't try indefinitely, however for all internet connections I could test it on that were not totally saturated by for example bittorrent or something similar, it worked flawless.
SyncViews
Engineer
Engineer
Posts: 38
Joined: 13 May 2007 12:31
Location: UK

Post by SyncViews »

i noticed that it keeps putting server to the ip's for 1 second after i hit find servers then it stops so i suppose the firewall is blocking it somehow...
I don't know much about these things so can someone tell be what to do with a Netgear Router to stop this happing? (that is if it's the firewall and not something else...)
User avatar
Campmaster
Engineer
Engineer
Posts: 24
Joined: 24 Feb 2005 11:59

Post by Campmaster »

If you are running Windows XP with Servicepack 2 it also might be related to the limited connections. (SP2 limits connections wich are in initialization phase to a maximum of 10. If the limit is exeeded Windows will slow down new connections).

The easy way to remove this limit is using XP-Antispy which you can get from http://xp-antispy.org/?lang=en&option=c ... e&Itemid=1
In the tool select "Special" from the Menu and there go to "Connection limit...". After accepting the legal notice you can set the limit to "unlimited". After this you have to restart Windows and the limit is gone for good. (Additional info: Windows-Updates can reset the limit to 10 so if you have Automatic Updates activated you might need to repatch the limits after certain updates - those which replace tcpip.sys).
maartena
Route Supervisor
Route Supervisor
Posts: 470
Joined: 11 Jul 2003 04:53
Location: California, U.S.A.

Post by maartena »

Campmaster wrote:If you are running Windows XP with Servicepack 2 it also might be related to the limited connections. (SP2 limits connections wich are in initialization phase to a maximum of 10. If the limit is exeeded Windows will slow down new connections).
Misconception. That connection limit only applies to IP connections that are considered "incomplete". P2P applications have a lot of incomplete connections either way, but since they don't contain any valid data anyways it is actually a GOOD thing that SP2 blocks them.

Valid TCP/IP connections are not affected in any way, and nor the OpenTTD client or the OpenTTD advertising server should send out bogus TCP/IP connections, so the SP2 connection limit really should not affect you in any way.

As a matter of fact, the whole 10-connections-per-second is widely misunderstood. Just by loading your average website you can hit more then 10 connections per second, but because they are valid connections they all get passed through. Only invalid/incomplete connections get blocked, so it is actually a GOOD thing that SP2 (and Vista btw) drops these invalid connections. People seem to think that it slows down their P2P downloads, while in fact it is mostly the router that is causing the problem.

Most routers only allow for about 512 connections per second, and there are plenty of idiots out there that set the amount of connections per torrent to something like 200, and then proceed to download 5 torrents and think they can easily breach 1000 connections per second. Sure, you computer can (even WITH SP2 as most connections are valid), but your router will be the bottleneck.

Anyways, I severely digress here, the 10-connections-per-second thing has NO effect whatsoever on OpenTTD.
Guess what! I got a fever! And the only prescription...... is MORE COWBELL!
SyncViews
Engineer
Engineer
Posts: 38
Joined: 13 May 2007 12:31
Location: UK

Post by SyncViews »

After 1 second no more ip's are replaced with server data.
But the number of servers in that one second is more like 20.
I'm sure when i 1st played ottd months ago I never had this but then i'm also sure the number of servers is like 10 times more now than it was when I 1st played.
User avatar
Campmaster
Engineer
Engineer
Posts: 24
Joined: 24 Feb 2005 11:59

Post by Campmaster »

maartena wrote:As a matter of fact, the whole 10-connections-per-second is widely misunderstood. Just by loading your average website you can hit more then 10 connections per second, but because they are valid connections they all get passed through. Only invalid/incomplete connections get blocked, so it is actually a GOOD thing that SP2 (and Vista btw) drops these invalid connections. People seem to think that it slows down their P2P downloads, while in fact it is mostly the router that is causing the problem.
Every connection which hasn't got a reply from the other side is considered incomplete by Windows. Therefore a website can have incomplete connections. Shortly after the limit applied I had a problem with one of my companies websites which dramatically slowed down in loading. Turned out we had about 20 Frames on that site (~15 of them are hidden ones). Therefore upon opening the IE produced 20 connections to the server which all are incomplete at that time because the webserver hadn't responded within the first second to all 20 of them, so Windows decided to slow down the connections with the result of about 1 HTML-Frame per second which resulted in the fact, that our website had a loading time of about 12 seconds instead of 2 seconds...
And don't tell me this was something else because after patching tcpip.sys to 50 connections everything was fine again (reproduceable).
User avatar
LordOfThePigs
Route Supervisor
Route Supervisor
Posts: 435
Joined: 01 Jul 2004 10:28
Location: Jura/Switzerland

Post by LordOfThePigs »

You guys are besides the point with your connection limit thing. As Rubidium said, these are UDP packets. These don't need a connection, they are just send on a fire-and-pray way: you know you sent it, but you cannot know whether the destination really received it.

The connection really only applies to TCP connections (that are only half open, that is you made the connection request, but the other side hasn't replied that he accepted the connection yet), not to UDP datagrams.
Sometimes I'm told "Brilliant"...
Sometimes I'm told "Charming"...
And Often I'm told "Shut Up"!
Post Reply

Return to “OpenTTD Problems”

Who is online

Users browsing this forum: No registered users and 3 guests