Page 1 of 3

Networking FAQ for MapTool

Posted: Sun Feb 03, 2008 12:31 am
by Azhrei
I've attached a short introduction to networking (enough to understand MapTool) and a series of FAQs for connection problems. If you came to this page because MapTool directed you here, you are looking for a way to test your network setup without needing a player to connect. Please read through the NFAQ and pay particular attention to Step 1 in the diagnostics section.

I eventually want to discuss solutions like Hamachi in more detail. And I plan to give a quick run-down on the types of problems that are likely to occur in various environments (University student, cable user at home, Mac user vs. Windows user, customizing a Web Start link, etc). This NFAQ also includes solutions to problems people have had with particular versions of an OS or problems with drivers for specific network cards.

(Edit: 2009-01-24. New v1.6 attached. Added clarification on a few things.)
(Edit: 2009-01-30. New v1.7 attached. Fixed typos, corrected wording, updated graphics, added details on how to run MapTool in a console window, added a sample scenario of troubleshooting a network problem.)
(Edit: 2010-01-21. New v1.19 attached. Lots of general cleanup and rewording, addition of Atheros issue in Windows 7.)
(Edit: 2010-06-03. New v1.20 attached. Cleanup of Step 1 and some mention of the new SysInfo tool on the main site.)
(Edit: 2011-02-02. New v1.22 attached. More cleanup. Started an index, but not ready yet.)
(Edit: 2011-03-30. New v1.23 attached. Added page numbers (!) and internal references.)

Posted: Sun Feb 03, 2008 2:42 am
by mrobviousjosh
AWESOME! This is great for those of us who find that isn't enough. I will help however I can so expect some constructive feedback. ;)

*EDIT* I made some writing suggestions. I hope you don't take offense (I do have a Writing degree if it makes you feel better). :P Check them out here.

Posted: Sun Feb 03, 2008 10:42 am
by dorpond

"Background Information"
Change (and amazing accurate) to (and amazingly accurate)

But then again, I barely got through english class so I could be wrong. ;)

Documentation really helps - thanks for all the work, Azhrei!

Posted: Sun Feb 03, 2008 2:44 pm
by brad
That's awesome Azhrei! I will be pointing people to this document in my Connecting Computers tutorial. It will be very useful.

Posted: Mon Feb 04, 2008 8:17 pm
by Azhrei
Thanks everyone!

Josh, I'll be looking at your notes tonight. I appreciate your time and effort.

Dorpond, I've made the change. I'll incorporate Josh's stuff and get a new one up there in a day or two (busy tonight and tomorrow night, unfortunately). Thanks!

Brad, don't be pointing them to it just yet! It has a lot of work needed and then it will likely be hosted at instead of in the gallery. But thanks for the encouragement! ;)

I'll post to this thread when I've made more updates.

Posted: Mon Feb 04, 2008 8:46 pm
by Phergus
It's a great start Az!

I do question this (and not just because I did the UPnP implementation).

However, most routers do not have this turned on by default because of the potential security issues – what if some malware got on your computer and opened up a bunch of ports, allowing even more malware to get in?! So routers typically ship with UPnP disabled and the user must specifically enable it.

My experience so far as been that most do have UPnP enabled. Only one person reported that their router had it off by default and the 3 routers I've personally tested all had it enabled.

The security issue, while real, is actually a bit different. If you already have malware on your PC, UPnP isn't going to make it any easier for that malware to put more on it. It does open up the possibility that the malware could more easily use the infected PC as an illicit server.

In any case the correct advice is that if the user keeps their AV & Firewall software up-to-date and doesn't make it a habit to infect their computer by randomly opening spam attachments the risk posed by enabling UPnP is exceedingly minimal.

Another thing I though of was that your doc would be a good place to explicitly state just who it is that needs to enable port-forwarding. From many of the help posts here on the forum it is clear that a lot of new users believe port forwarding is needed for players & GM which obviously isn't true.

I'd also recommend adding a note that only those on home broadband connections are going to need or be able to use port-forwarding. Users on company or university networks are likely to be restricted from making such changes.

Posted: Tue Feb 05, 2008 7:46 pm
by Azhrei
All good comments, Phergus; thanks.

I do plan to add a step-by-step sequence for people setting up servers. I want them to have a list of the steps (and sub-steps) required so that if they have a problem, people here on the forum can say, "Go back and check your result of Step 3 and make sure you're using the IP address as Step 5", for example. Port-forwarding will certainly one of those steps. I want to have multiple flowcharts, though; one for cable, one for dial-up, one for... Then have a "super-generic" one that includes all of the different possibilities with lots of "if-this-then-that" scattered throughout. I know when I look for HOWTO docs, it's nice to have one for my specific configuration, but I'd like to have a big generic one as well because my configuration will never exactly match he HOWTO.

If your experience is that UPnP is mostly turned on, then I'll change my description to be more "generic" and to tell users to check their particular router themselves.

Concerning the security of UPnP, the "malware" can actually be javascript running inside a web browser. A/V and firewalls generally will not block that stuff. And the javascript code could open your (otherwise) secure network to sniffing. While people on the outside may not necessarily be able to break into a machine that has A/V and other goodies installed, it's possible to sniff the network and listen in on print jobs (possibly with financial or other sensitive data) and so on.

My goal was simply to mention it in a way that users would know there was a potential vulnerability without scaring them into thinking it was a huge, gaping hole. I don't feel it's responsible of my to tell folks to enable it, but not issue a warning. Although I can issue a warning without providing specific examples; perhaps that's good enough.

No work on the document tonight -- here's a MapTool game tonight! -- but I'll get a lot done tomorrow night.

Posted: Thu Feb 07, 2008 4:47 pm
by Azhrei
mrobviousjosh wrote:*EDIT* I made some writing suggestions. I hope you don't take offense (I do have a Writing degree if it makes you feel better). :P Check them out here.

Thanks for the notes, Josh. We'll have to chat some time and you can give me the rules for when to use parentheses, when to use em-dashes vs. en-dashes, and probably a bunch of other stuff. :)

I've made your changes to the document and I'll upload another version tonight after I add more content to the FAQ section. Thanks again for your help.

Posted: Thu Feb 07, 2008 5:29 pm
by Phergus
Az - Some flowcharts covering the various scenarios sounds great. I was actually thinking about doing exactly what you are doing a few days before you posted. Glad you got to it first and saved me the work. :)

re: UPnP - might suggest trying and if it doesn't work, then check the router.

re: security - a warning about potential security issues would be good. Of course the normal practice of opening a port and leaving it always open also has its risks albeit on the minimal side as well.

Posted: Thu Feb 07, 2008 8:09 pm
by Azhrei
Okay, I've uploaded a new version. Phergus, I didn't see your UPnP comment, so I'll get that in the next version.

I've filled out the FAQ section with as many questions as I could come up with off the top of my head. If you have some favorites, please add them to this thread and I'll get answers and put them in the FAQ.

Once the list of questions is fairly stable, I'll do the flowchart that walks the user through the things to check on. It may cover multiple pages... I guess we'll find out.

I've also added a "How to find your network information" section that talks about how to find your IP address and other info. I'd like to expand that with screen shots and such, but that'll come later.

Some of the layout needs work. Some paragraphs are too close to the drawings, for example, or there should be page breaks between major sections. I'll be doing that kind of cleanup in the next few days.

I'm going to let comments accumulate here through the weekend, as I'm DM'ing a session on Sunday and I need to prep. :)

Posted: Thu Feb 07, 2008 9:11 pm
by Phergus
Here's a link to it: Networking FAQ 1.2

Posted: Thu Feb 07, 2008 9:27 pm
by Phergus
re: Finding IP addresses

First I would suggest that they use MapTool itself. Opening the dialog from File/Connection Information will give them both their local address and the current port setting. Most importantly it will give them the one that MapTool believes it is using. It will also give them their external IP address which they might want to give to their players.

A second benefit from that is if it comes up with 127.0.0.x or 0.1.0.x then you can determine that MapTool has latched onto the wrong network interface.

A third benefit is that it works on all platforms.

re: finding IPs under Windows

On finding IPs under Windows I would suggest using CMD instead of Command. The cmd command shell can be closed with the close gadget without getting the scary warning dialog and very few users are going to now to just type in 'exit' to quite the shell.

On *nix systems I don't believe ifconfig is going to be in the default path for users. At least under Suse 10.x a user would have to type /sbin/ifconfig to get the info.

re: Stinking Microsoft & Webcams

Getting back to something I mentioned earlier it is possible that you'll see a weird IP address like 0.1.0.x. Microsoft, in their infinite wisdom, decided to add another Local Area Connection whenever you plug in a webcam. This interface can't be disabled or removed except by rebooting your computer (without the webcam plugged in). So if you do an ifconfig and see something like this:

Code: Select all

Ethernet adapter Local Area Connection 2:

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Microsoft TV/Video Connection
        Physical Address. . . . . . . . . : 00-00-00-00-00-00
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        Autoconfiguration IP Address. . . :
        Subnet Mask . . . . . . . . . . . :
        Default Gateway . . . . . . . . . :

Then you know to reboot and curse the day Bill Gates was born.

Posted: Thu Feb 07, 2008 10:13 pm
by Azhrei
Thanks for posting the link. I suppose I should've linked to my album in the first post and not directly to the PDF. Live and learn.

Phergus wrote:re: Finding IP addresses

First I would suggest that they use MapTool itself.

Doh! Of course! Thanks a bunch for that. I've already updated the doc.

A second benefit from that is if it comes up with 127.0.0.x or 0.1.0.x then you can determine that MapTool has latched onto the wrong network interface.

Hmm. This would only happen when other interfaces are not available, correct? I just need to be sure so that I can make the appropriate comments in the doc.

re: finding IPs under Windows

Yeah, forget it. I'll stick to using MapTool. If they can't get MapTool downloaded because they don't have an Internet connection, my doc isn't going to help them anyway! ;)

re: Stinking Microsoft & Webcams

Well, you get what you pay for. And sometimes you pay for what you get. If you catch my meaning...

In any case, this is good info. Thanks.

I'm going to stick with MapTool for IP info, but can MapTool accidentally choose 0.1.0.x? How is MapTool told which interfaces to ignore? It can't simply ignore a 32-bit netmask, because PPP links will appear have them, such as dial-up Internet connections.

Code: Select all

        Description . . . . . . . . . . . : Microsoft TV/Video Connection
        Physical Address. . . . . . . . . : 00-00-00-00-00-00

It looks like those two lines are enough to eliminate interfaces that MapTool shouldn't use. Is that correct? If so, I'll put a comment in the doc that mentions it.

Posted: Thu Feb 07, 2008 10:51 pm
by Phergus
Unfortunately MapTool always seems to grab the least useful interface. :)

So even though there is a perfectly good ethernet connection, MapTool grabs the webcam connection.

I don't know if this is a Java thing or what as I haven't looked at the MapTool code in that area.

So, yes, under Windows having a webcam plugged in might very well cause MapTool to "fail" in mysterious ways.

Posted: Thu Feb 07, 2008 11:19 pm
by Phergus
Some synapses finally fired in the ol' noggin and I remembered you could change the Network Binding Order of the interfaces pretty easily in Windows.

Open the Network Connections control panel. Go to the Adanced Menu and then Advanced Settings. Under Adapters & Bindings, select the silly webcam connection and use the arrows to move it below your normal ethernet connection. Click OK to exit.

Doing that fixes the problem with MapTool trying to grab the webcam connection.