|
|
 |
|
|
Pages: 1
New variant of old Starcraft problem
(Click here to view the original thread with full colors/images)
Posted by: globalphunk
I've read many posts here regarding the latency too high error with b.net, but not one that addresses this specific case:
2 guys and I play SC frequently online. One uses Win98, one WinXP, and I use Win2K. We all have cable connections through ATT Broadbutt. When the guy installed WinXP we started getting serious lag in the game--extremely SLOW play. With a bit of experimentation, we realized that it was the XP and 2K comps that didn't play well together. In fact, if either of the problem computers are the creator of the game, then the other problem computer cannot join because of high latency.
We had the same problem even when the XP guy connected with dialup and not cable modem. Neither the XP guy or the 2K guy (myself) have any probs playing with the win98 guy.
XP and 2K both downloaded and employed the Valhalla Legends SCEnhancement patch but to no avail. For reference this patch is supposed to fix the "Bug where UDP thread terminated on destination port unreachable under Windows 2000".
Any clues?
Posted by: Gunslinger
That's the only thing I've ever seen released by Skywing that does not do what it is supposed to - at least not unilaterally.
As far as the UDP thread termination issue is concerned, it has nothing to do with your type of internet connection. If even one UDP packet on the socket goes to Starcraft with a non-fatal ICMP error, Starcraft WILL ALWAYS read it as fatal and WILL ALWAYS terminate the connection - thus providing you with the latency too high issue.
Now to address what you mentioned. I'm afraid, that in the case of an actual peer-to-peer connection, XP and 2K could not possibly be the bottleneck. They both have an identical TCP/IP stack, which just happens to be the best and most efficient stack ever written by Microsoft. The slowdown, is Windows 98. The protocols in XP and 2K are much better than the other Microsoft OSes in that sense.
Re-evaluate the experiment you did. It's Windows98 trying to communicate through a protocol with an OS that possesses a superior version of that protocol.
It has been little publicized - but when you think about it, the UDP thread termination issue does not pertain to simply joining games. If the creator of the game is using 2K or XP, and that OS sends another of those non-fatal errors to the client, while he is in the game, it will terminate transfer, thus, disallowing anyone to join. The people trying to join will see the "latency too high" message as a result of then not receiving return packets from the host. It's the same problem, reversely applied.
I will quote from my previous post on this issue. It's the same problem, and the solution still applies.
This can actually be easily fixed by the user by setting up a firewall to block all ICMP port unreachable errors, as I have done on my machine.
Please note: This isn't a 100% solution, and your reverse application of this problem explains why. While your computer may not be sending the ICMP port unreachable errors to the client, the computer of the host may be sending port unreachable errors to his client, thus terminating all packets on that socket, and giving you the "latency too high" error.
Also, it should be a very easy patch to Starcraft. They merely just need to remove the function that makes the game treat all non-fatal ICMP errors as fatal ones instead. However, Blizzard seems to be busy with other things. In the meantime, downgrade to Pre-2000 operating systems, or get some firewalls set up.
Posted by: globalphunk
I'm certainly no software/networking expert, but I do know how to establish an experiment. Your explanation does not explain why the (98 and XP) and (98 and 2K) combinations show no problems during gameplay. The combination of 98, 2K, and XP in one game, provided that 98 created the game, is playable but slow. However, if either 2K or XP creates the game, the other cannot join, even if 98 is not involved. We've tested this thoroughly.
This matter aside, how does one setup a firewall against "ICMP port unreachable" errors? I use Zonealarm as a soft-firewall. Thanks for your help.
Posted by: Gunslinger
Running an experiment is useless when you don't understand the parameters with which you are working. This is a computer. Like most machines, there are many different things going on. Creating and joining games with the operating system as your only controlled variable is not a good way to identify a problem with a piece of software. I'm not going to explain that further - as you stated, you're not a software/networking expoert (I'm not expert), and I don't want to break it down.. Despite popular opinion on the internet (and some in the mouths of people who should know better), Starcraft runs just fine on Windows XP barring the ICMP port unreachable crap.
Now. Onto the firewall issue.
I don't believe ZoneAlarm gives you that option. It merely asks you which programs you do and do not want to access the internet, and blocks all echo requests. Don't quote me on that, but I don't think ZoneAlarm will be your solution here. I honestly am not familiar with any of the other freeware firewalls out there. A good retail one should give you these more specific options. There's always the Norton Firewall, and McAfee - and there are a few others out there. I'm not familiar with all the retail programs out there, as I have only used one of them.
Double check ZoneAlarm's options, and look for ICMP functions. Maybe try BlackIce, or anything freeware firewall that others on this board could recommend (jump in anytime here people).
Posted by: redwench
i beleive that za pro has those features. the shareware allows specified programs to access. the pro version has many more options.
Posted by: TotalRecall
Tiny Software makes a freeware firewall. Check out their downloads here.
If i'm not mistaken, I believe XP has a built in firewall. I've not used XP yet, so I don't know it's options.
Posted by: Gunslinger
XP's firewall was the first thing I looked at, and it does have ICMP functions, but not the one that is important. It does not (at least on the surface) block the port unreachable error. That would be nice and easy if it did.
Oh well.
Posted by: globalphunk
Thanks for the help all. I will start scouring for firewalls with ICMP functions.
BTW Gunny, thanks for the heads-up that I'm using a computer.
Posted by: Gunslinger
Thanks for being a smart ass.
You're welcome.
Posted by: WindowLiquor
Post Removed
Posted by: Canis Lupus
And on that note .... thread closed
|
|
|
|
|