Net multiplayer problem

This problems regards the Operation Flashpoint PC game, but please read on even if you aren’t familiar with the game (as it may be a more OSish issue)

The Problem:
My friend and I can connect someone else’s internet game using Gamespy.

When I host a game through gamespy, my friend (and others) can join the “launching room” but when I actually launch the game, everyone gets the “creating client” screen freeze and no one can join.

If I host a game through Flashpoint itself, my friend can’t join by ip address as the game doesn’t show up.

Further points:
I have disabled my firewall.

Other than not being able to host an internet game, Flashpoint runs perfectly.

My friend is using Flashpoint Game of the Year edition and I am using the original Cold War Crisis. (I don’t believe this is the problem because we can join random internet game together with no problems. Additionally, in a gamespy room of 10 other people, none of the others seems to be able to join my game either.)

Any help or insight is appreciated.

What is your IP Address ? It could have somthing to do with Network Address Translation limitations.

Feel free to mask the last few digits to protect your privacy.

My IP is 68.6.91.XX

I’m running XP, and I have internet connection sharing enabled, although the other computer is not involved in this equation.

What I mean is, in simple terms… It’s possible that your ISP’s router uses NAT (Network Address Translation)… which allows you to connect to games hosted by others… but when they need to connect to you as host, it doesn’t happen due to the way NAT works. That’s my suspicion.

To somewhat confirm it, see if you can send files to others on msn messenger… and see if they can send files to you. If you can’t send to them, it’s possible that your ISP is using NAT.

Meanwhile, on preview, lemme try some tests on that IP range.

Ok, do this…

Go to http://www.auditmypc.com/

Click on the Audit link. Then click on the Privacy Section link.

The privacy audit will list the IP address that it thinks you’re coming from. Note the address it lists in the first line “Your Forwarded for IP is” and in the line “Your IP address is”.

Then go to Start/Run. Type “cmd” without quotes.

Type at the dos prompt :

C:>ipconfig /all

If your IP address as shown by ipconfig is not the same as the IP addresses shown by the audit, you can’t be seen direclty by others on the net (they see only the IP address of your ISP’s router) and therefore you can’t host games, as they can’t initiate a direct connection to your comp, since they don’t even know the IP address of your machine.

They keep trying to connect to the game on your ISP’s router. And that’s why they all hang.

A workaround might be possible, but this involves mapping a port from your router’s outside IP to your machine’s inside IP. The router, of course, is controlled by your ISP, and I doubt they’ll want to map it for you.

Confirm this much, then we can proceed. Or stay stuck. As the case may be.

Thanks xash. I’ll do that as soon as I get home to my box. I’ve noticed that I can’t send files using messanger, so I suspect you are right.

I consider myself quite computer savvy and I’d be interested in any workaround you can suggest. How might I go about mapping a port from my router’s outside IP to my machine’s inside IP as you say?

That’s part of a question I asked the Great Minds sometime last year. This was their response :

http://boards.straightdope.com/sdmb/showthread.php?s=&threadid=128324

Thanks for your help. Great link. I’ve read through most of it and I’m still not sure if its possible. I do have ICS enabled, but I’m not sure how that fits in. It seems like the problem is that I need to do port forwarding from the cable company’s router to my local machine, rather than within my home network. I don’t have a hardware router, so many articles I’ve seen don’t really apply to me.

Advice on specifically what to do? Would it change much if I just disabled ICS all together? Then it would just be my box connected directly to the cable modem. Were you able to sort out your situation?

Surely its not impossible for me to host a game. Is it?

Ok, actually I just tried the technique you described above (using auditmypc) and the two IP addresses seem to match.

Exactly what does that mean?

That means that a 3rd party on the Internet can see your external IP address, which means it should be able to connect directly to your machine.

But we have conflicting reports… You say you can’t initiate transfers through msn, but a website can see your external IP address…

I’d like you to test whether a user can connect directly to your computer over the internet. If he can, it’s a game client or software problem, or a problem with the way the game network works. If he can’t, it’s a problem with your network most likely because it uses NAT or because your OS is blocking some incoming ports.

To test this, install and run Serv-U, an FTP server, on your comp. Then give out your IP address to a friend and see if he can connect to your ftp server using an ftp client. If he can connect, you know your network is fine and it’s a problem with the way the game (or its network) works. If he can’t, you know it’s a problem with the way your network (or OS) is configured.

Sorry to make you do all this stuff… but it’s very difficult to diagnose without some testing…

xash, I really appreciate your help. I’ve actually been able to solve the problem, due in no small part to your advice.

Although I’m sure this will be terribly obvious to you, all I needed to do was to disable ICS. Even though I wasn’t dealing with the other (client) computer, somehow having ICS enabled was acting as a firewall (or I guess more specifically, a router).

Now my quest is to find the settings that will allow me to host games with ICS enabled. This probably will require configuring the ports to those that Op Flashpoint uses I guess. Not a big deal though, as I am content just turning it on and off anytime I want to host a game.

Of course the best solution is probably just to buy a hardware router, but that will take at least another paycheck.

Anyway, thanks again for pointing me in the right direction. Of course, any further advice is appreciated.