Lambchops do you have any ideas?
Hi DJ, sorry I just noticed this - didn't mean to ignore you.
Firstly I should say that I don't have any definitive solutions for you, because I don't have this problem, so I have no way of diagnosing it apart from the words people write here.
That being said I can try to guess at things and provide a little bit of information.
Here's some stuff that might provide food for thought:
- WC2 used to run fine on a 90's 486. It's pretty much impossible to get a computer that doesn't have 100x enough power to run WC2 these days, unless you're shopping at a museum. So this problem, whatever it is, is a modern issue.
- Don't use the "CPU saviour" mod if you are trying to troubleshoot problems. Get the problems sorted out first then install it afterwards if you wish to use it.
- The single player and multiplayer modes are internally very different, they use different code and memory structures (some things are the same, some are quite different). I'm actually amazed that after this long people havn't discovered a heap of gameplay glitches/differences between the two modes. It's testimony to the solid grass roots programming the blizzard guys did back then. So single player running fine is just demonstrating that your computer is well capable of running the game (as we know).... rendering the graphics and updating the internals is most of the work.... the network stuff isn't really increasing the load much at all.
- In multiplayer mode the game obviously has a network component whereby other players become part of the loop. Using this exact setup, if you don't have any remote players in the game then there is no (relevant) external communication over the network - as can be demonstrated by the "switch of your router" test. However, the code that is running is still written to allow remote clients to be looped in. WC2 doesn't switch to single player mode, it is still running multiplayer, just with no remote players.
- So because of this, and because of reports of this problem, I assume (without actually knowing - never devoted the time to investigate this scenario) that WC2 is still using your network to run the game, but its just being routed straight back to the local client without leaving the computer because there aren't any remote clients. Lots of programs use this form of behavior, it's generally referred to as "loopback". The dummy IPv4 address of 127.0.0.1 is reserved for loopback, also sometimes designated as "localhost". Anything you send to 127.0.0.1 is routed straight back to you by your TCP/IP drivers. Actually I doubt that WC2 would be sending anything to 127.0.0.1, it is no doubt designed to forward everything on to the next remote client and as in this case there are no remote clients is is probably explicitly sending information to you own local IP address.
So this is where I think this problem is manifesting - it's WC2 is sending UDP packets to itself by bouncing them off your network services. This should be virtually instantainious - like a ping time of 0.1ms or whatever. If it's not then SOMETHING
is causing a delay to these packets.
So what is messing with it?.... how long is a piece of string? Could be anything. My first suspect for this kind of this is always security: Anti-virus programs, stateful firewalls, air-port security, bitchy door-people at nightclubs.... you know the type - they want to make everyone stand in a queue so they can make themselves feel important before they allow you past. This could mean 3rd party security programs of stuff that is built in to your OS. Perhaps the culprit doesn't like network traffic that is explicitly addressed to the local node instead of using the loopback address?
If it's not a security program/protocol then perhaps its a routing issue of some description. It could be that instead of just throwing the packets straight back to WC2, you network is actually forwarding them further into the network before they are retuned... your network adapter and its drivers... a LAN router... a virtual network device of some description... who knows - could be anything - and somewhere along this roundabout route things are being delayed before they are finally being returned.
The other possibility is malware. If you have a rootkit on your computer it could be messing with the network of local services.PLEASE NOTE: This is all just conjecture. It's a bunch of ideas and guesses based on assumed premises. I have never seen this problem myself and I have never seen your computer/OS/software/network. This could all be total garbage and the problem could be something else entirely.
Reply from 220.127.116.11: bytes=32 time=481ms TTL=52
Reply from 18.104.22.168: bytes=32 time=309ms TTL=52
Reply from 22.214.171.124: bytes=32 time=554ms TTL=52
Reply from 126.96.36.199: bytes=32 time=175ms TTL=52
Like I say: server ping times aren't relevant for gameplay, only UDP times to the other clients, however I should mention that these ping times don't look good
. Mainly because they are so inconsistant
- down to 309
- up to 554
- down to 175
... this much variation is not a good sign and would probably suggest network congestion somewhere. The first 3 also seem a bit slow if you are in Europe.
Here's what I get from my computer in Australia via my cellphone's data connection (only 2 bars right now!)
Reply from 188.8.131.52: bytes=32 time=263ms TTL=43
Reply from 184.108.40.206: bytes=32 time=254ms TTL=43
Reply from 220.127.116.11: bytes=32 time=253ms TTL=43
Reply from 18.104.22.168: bytes=32 time=253ms TTL=43
Usually the first time will be slightly slower as you can see here, but they should normally all be in the same ball park. Like I have said previously ping traffic uses different network protocols to UDP traffic, so your in game ping will usually be slower that a standard network ping.
Maybe problem is that I have about 250 active TCP connections?
This isn't ideal, but isn't necessarily a problem as long as your network hardware can cope. If it was me I would want to know WHY I had 250 TCP connections from my local puter. This is an unusually large amount for normal use. Is there is some reason why you have apps on your puter that need to be connected to 250 different remote locations? If there is a reason then fine, that's your call, but if there isn't I would be checking it out, this could possibly indicate malware/botnet type behavior.
I find Android phones tend to have higher numbers of open connections. They are a result of almost every installed app having a few connections (their home servers, google and amazon add servers etc.) plus a heap of built in google data mining and advertising stuff. I would expect to find modern Windows versions moving further in this direction too - IDK I try to keep it old school myself.
If you dont need all of these connections open, it certialy can't hurt to shut down as much of it as possible, but an idle TCP connection does not generate a very large amount of network traffic. Hovever if some of these connections are active they could possibly be causing all sorts of conjestion problems.
Anyway there's some stuff to think about, I hope some of it's helpful. Let me know if you have any other questions. You can PM me too just in case I don't notice your post, or if you wish to discuss personal info about your system/setup.