Issue not covered in the FAQ

Thoughts, Help, Feature Requests, Bug Reports, Developing code for...

Moderators: dorpond, trevor, Azhrei

Forum rules
PLEASE don't post images of your entire desktop, attach entire campaign files when only a single file is needed, or generally act in some other anti-social behavior. :)
Post Reply
gaalderman'
Kobold
Posts: 6
Joined: Fri Apr 16, 2010 7:23 am

Issue not covered in the FAQ

Post by gaalderman' »

Solving port forwarding issues
 
I’m new to the MapTools community.  I first installed MT this weekend, and was able to get it running over a LAN within minutes.  However, starting a server via the internet has proved to be a challenge.  I used the MT networking FAQ and HowTo documents on this site (and big thanks to the community for assembling those) and configured port on my router to forward port 51234 to my desktop computer.  At first it seemed to work fine; I was able to start a server, and the Test Connection button returned a positive result.  
Then, two nights later, it stopped working; the Test Connection button is returning “Unable to see your computer”.  Oddly, if I tried to connect to a server, I could easily see a list of registered MT servers.  
I returned to the FAQ and read through this forum and wasn’t able to resolve the issues.  My troubleshooting process ran as follows:
Is it the software firewall?  I disabled it (I use McAfee), but the problem wasn’t resolved. 
Is the port open to the outside world?  I dowloaded and installed PFPortChecker, which happily reports that port 51234 is OPEN.  But the problem wasn’t resolved.  I used CanYouSeeMe.org to confirm, which reported that it could NOT reach port 51235.  Why would PFPortChecker and CanYouSeeMe.org return different results?
Is it an issue with dynamic local IPs?  I use DHCP on my LAN, of course, and port forwarding needs to have a static IP on the target desktop.  So I configured a static DHCP mapping for the workstation.  That way it always receives the same IP address from DHCP, the one to which the router is forwarding port 51234.   But the problem wasn’t resolved. 
Is it the router?  I connected the workstation directly to the cable modem, taking the router out of the problem.  Then, with the workstation hooked directly up to the ‘Net (shudder) I verified that the port was open using PFPortChecker, but the problem wasn’t resolved. 
What if I put the workstation on the DMZ?  I configured the router to put the workstation on the DMZ, but the problem wasn’t resolved. 
Is it NAT filtering?  I disabled that, but the problem persisted.  Grasping at straws now.
Is it UPnP?  The problem persists both with and without UPnP enabled on the router, and in MT.
Whisky, Tango, and Foxtrot!
 
The facts:
OS:  Windows 7 Home 64-bit
Router:  Netgear WGR614v9
Latest version of MT
Any help would be appreciated.  
gaalderman
 
 

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Issue not covered in the FAQ

Post by Azhrei »

gaalderman' wrote:I’m new to the MapTools community.
Welcome!
I first installed MT this weekend, and was able to get it running over a LAN within minutes.  However, starting a server via the internet has proved to be a challenge.  I used the MT networking FAQ and HowTo documents on this site (and big thanks to the community for assembling those) and configured port on my router to forward port 51234 to my desktop computer.  At first it seemed to work fine; I was able to start a server, and the Test Connection button returned a positive result.
Then yes, you have the port forwarding correct.
Then, two nights later, it stopped working; the Test Connection button is returning “Unable to see your computer”.
Was this during the period where the Test Connection server was down? The main site says that it was back up as of April 6th and I think it was only down for a few hours, less than a day...
Oddly, if I tried to connect to a server, I could easily see a list of registered MT servers.
Why is that odd? Since you read the NFAQ you know that an outbound phone call works differently from an inbound call...
I returned to the FAQ and read through this forum and wasn’t able to resolve the issues.  My troubleshooting process ran as follows:
Is it the software firewall?  I disabled it (I use McAfee), but the problem wasn’t resolved.
First, have you tried it again recently? Second, you didn't indicate if the server still works on a local LAN.

Think about the phone network picture in the NFAQ. By putting two machines on your LAN and testing, you test the firewall on the server without involving the router at all.

Once that's done, perform further tests such that each one eliminates a possible failure point. Such as removing your router and plugging directly into your Internet access device (DSl, cablemodem, whatever).
Is the port open to the outside world?  I dowloaded and installed PFPortChecker, which happily reports that port 51234 is OPEN.  But the problem wasn’t resolved.  I used CanYouSeeMe.org to confirm, which reported that it could NOT reach port 51235.  Why would PFPortChecker and CanYouSeeMe.org return different results?
Did you read the descriptions of what these two things do? I'm not familiar with the first one, but I can tell you what it did:

It opened a port and then sent a message to a server on the 'net asking it to test that port. The external server sent such a message and it reached the application, hence SUCCESS was reported back to you.

The CanYouSeeMe.org web site only checks to see if the port is open. But what if there's no one sitting by the phone to answer the call? It'll look to the site as though the test was inconclusive. You would need to have the MapTool server up and running and listening on the port for the test to be conclusive.
Is it the router?  I connected the workstation directly to the cable modem, taking the router out of the problem.  Then, with the workstation hooked directly up to the ‘Net (shudder) I verified that the port was open using PFPortChecker, but the problem wasn’t resolved.
But you said it worked earlier, right?

I think you've got too much going on -- you've changed things around so many times that you've lost track of what you're testing. Happens all the time! :)

I suggest you go back to basics... Reset your router back to factory default settings. Then check it to make sure UPnP is enabled on the router. Last, start up MapTool and check the UPnP box and perform a Test Connection. Wait until a response comes back. (The GUI will still be responsive because the test happens in parallel, but wait for the result...)

gaalderman'
Kobold
Posts: 6
Joined: Fri Apr 16, 2010 7:23 am

Re: Issue not covered in the FAQ

Post by gaalderman' »

Azhrei wrote:
gaalderman' wrote:I’m new to the MapTools community.
Welcome!
Thanks!
Azhrei wrote:
gaalderman' wrote:Oddly, if I tried to connect to a server, I could easily see a list of registered MT servers.
Why is that odd? Since you read the NFAQ you know that an outbound phone call works differently from an inbound call...
It was odd because I didn't understand the behind the scenes working of the Test Connection button and the process involved in connecting to another server, but your answer and further reflection have cleared that up.
Azhrei wrote: I think you've got too much going on -- you've changed things around so many times that you've lost track of what you're testing. Happens all the time! :)
Every test I made was in isolation from the others; I'm sorry that wasn't clear in my original post. That is, I'd make one (1) change, observe the results, and then I would roll that change back before I made the next change.
Azhrei wrote:I suggest you go back to basics... Reset your router back to factory default settings.
If that's my only choice...seems kind of drastic, given that all my tests were independent.

Also, you asked if I made my tests when the MT server was down on 4/6/2010. I didn't; my tests were last night, 4/15/2010.

Thanks for the help. Still researching the problem.

Phergus
Deity
Posts: 7132
Joined: Fri May 12, 2006 8:56 pm
Location: Middle of Nowhere, NM
Contact:

Re: Issue not covered in the FAQ

Post by Phergus »

Just so you know, you don't need port-forwarding on your end to connect to other servers.

Port-forwarding is for you to run a server.

If you enabled UPnP in MT while you had port-forwarding configured on the router you might very well have royally confused it. Don't do that. Turn off UPnP in MT and let your router handle the forwarding since you already had it working. You'll want to power-cycle your router in case it has gotten jammed up.

gaalderman'
Kobold
Posts: 6
Joined: Fri Apr 16, 2010 7:23 am

Re: Issue not covered in the FAQ

Post by gaalderman' »

I reset the router to factory settings, and added in just the port forwarding and reserved IP address (so that the port forwarding always points to the same workstation), and I still have the same problem.

So to sum up, I'm trying to host a server and have my players connect to it. The facts are:

1. Port forwarding is set up on my router, and it forwards port 51234 to my workstation, which has a reserved IP so that it will always have the same IP address.
2. PFPortChecker reports that port 51234 is open.
3. The router is a Netgear WGR614v9; the computer is running Win7
4. It worked until yesterday (4/15/10), and doesn't work today, so it's unlikely that the server problems on 4/6 are to blame.
5. New symptom: when I use "Test Connection", I get the error message, "Unable to see your computer from the Internet". If I just try to connect, I get the error message, 'java.net.SocketException. Unrecognized Windows Sockets error: 0 "JVM_Bind"'.
6. I am NOT using UPnP in MapTools. I have never turned it on since I reset the router.

:x

Thanks again

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Issue not covered in the FAQ

Post by Azhrei »

gaalderman' wrote:4. It worked until yesterday (4/15/10), and doesn't work today, so it's unlikely that the server problems on 4/6 are to blame.
Any chance your system is set to auto-update via Windows Update?
5. New symptom: when I use "Test Connection", I get the error message, "Unable to see your computer from the Internet". If I just try to connect, I get the error message, 'java.net.SocketException. Unrecognized Windows Sockets error: 0 "JVM_Bind"'.
What does that second sentence mean? You say, "if I just try to connect" along with "Test Connection", yet the first one is what a client/player does and the second is what the server/GM does.

Players don't need to Test Connection since port forwarding isn't needed for players. Or were you providing both pieces of data to show a complete test?

That second one sounds like two programs trying to use the same incoming port number (that's what the bind() function does -- it gives your physical phone line a phone number, to use the analogy in the NFAQ). Do you perchance have a torrent client running? Or do you use torrent clients much at all?

I had an old D-Link that would spaz out if I tried to use UPnP after running torrent client; bad firmware in the router was the problem. It's possible that a similar problem exists with your Netgear, although with a different symptom...?

It sounds like your configuration is correct in regards to the networking aspects (except that possible firmware update), so someone running Win7 is going to have to help.

User avatar
aku
Dragon
Posts: 856
Joined: Wed Nov 15, 2006 9:03 am
Contact:

Re: Issue not covered in the FAQ

Post by aku »

'java.net.SocketException. Unrecognized Windows Sockets error: 0 "JVM_Bind"'.
isnt this where we have him check to make sure his network bind order hasnt changed?

gaalderman'
Kobold
Posts: 6
Joined: Fri Apr 16, 2010 7:23 am

Re: Issue not covered in the FAQ

Post by gaalderman' »

Azhrei wrote:
gaalderman' wrote:5. New symptom: when I use "Test Connection", I get the error message, "Unable to see your computer from the Internet". If I just try to connect, I get the error message, 'java.net.SocketException. Unrecognized Windows Sockets error: 0 "JVM_Bind"'.
What does that second sentence mean? You say, "if I just try to connect" along with "Test Connection", yet the first one is what a client/player does and the second is what the server/GM does.
I apologize for not being clearer. What I mean by "if I just try to connect" is this: in MT, I click File->Start Server, and then click OK in the Start Server dialog box. In other words, I just try to start the server instead of clicking Test Connection. I did this because I was trying to get some sort of error message that I could diagnose instead of "Unable to see your computer". Again, sorry for the poor choice of words.

gaalderman'
Kobold
Posts: 6
Joined: Fri Apr 16, 2010 7:23 am

Re: Issue not covered in the FAQ

Post by gaalderman' »

Update:

I googled the error message, and that error message is what you get when you try to use a port that some other service is already using. netstat -ano told me that the only process using port 51234 was javaw.exe, which is indeed the MT process, since MT is a Java app. OK, so it appears nothing else is using that port.

Some experimentation with netstat, and I learned that when you first start MT, port 51234 isn't used until your start the server. Once you click Test Connection, javaw.exe grabs 51234 and starts listening. OK, that's what I expect.

Then I tried something silly. I opened MT, then clicked File->Start Server and just clicked OK in the Start Server dialog box. That is, I didn't use Test Connection, I just started the server right away.

And it worked. I opened MT on another machine, a laptop, and tried to connect to my MT server. I saw it right away in the RPTools.net server list, and was able to connect to it by double-clicking my server's name on the RPTools.net tab in the Connect To Server dialog box. That is, I didn't connect over the LAN. The client fired right up, and I was able to do stuff like add tokens to a map on the workstation (which was running the server) and it showed the changes on the laptop (which was the client).

:? I'm confused. Test Connection didn't work, but I'm still able to start a server...? Or is it the case that, if the client is on the LAN, it always uses the LAN connection, regardless of which tab you use in the Connect To Server dialog box.

Obviously, Test Connection grabs the port, and once you try to open the server, since Test Connection has already grabbed that port, java kicks back the error message I listed above. So if you try to start the server before you test the connection, it sees an open port and is able to start. So what is Test Connection doing that makes it return the "unable to see your computer" message? Is my workstation hiding? Is it a silicon ninja?

Curiouser and curiouser...

And, BTW, MT is an amazing piece of software. You guys obviously put a lot of love into this project.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Issue not covered in the FAQ

Post by Azhrei »

gaalderman' wrote:I opened MT on another machine, a laptop, and tried to connect to my MT server. I saw it right away in the RPTools.net server list, and was able to connect to it by double-clicking my server's name on the RPTools.net tab in the Connect To Server dialog box. That is, I didn't connect over the LAN. The client fired right up, and I was able to do stuff like add tokens to a map on the workstation (which was running the server) and it showed the changes on the laptop (which was the client).
This is an unsupported configuration, meaning that most ISPs will automatically block any traffic coming from your home whose destination is your home. Most will consider that a misconfiguration on your end and they'll simply drop those packets to let you know that you've got something messed up.

In any case, I'm glad you got it working. :)

Post Reply

Return to “MapTool”