Introduction to Game Hosting
Introduction
As seen in the Introduction to Mapping, MapTool lets you create virtual maps and virtual "miniatures" (which are known in MapTool jargon as tokens) to be used for playing a roleplaying game session, much like you would use a real map and real miniatures on a tabletop. In fact, that's why we call MapTool a "virtual tabletop," or "VTT." In this guide, we'll walk through MapTool's fundamental reason to be: sharing a map with other players via the Internet.
Note: MapTool is not only useful for online play - many people use it for their face to face sessions too, because you can do things with a virtual map that you can't do with a physical one. Also, you're less likely to dump Mountain Dew on it. However, this guide will assume that you're playing online.
The Introduction to Mapping guided you through the basic steps to get MapTool, open it up, and put a map and some tokens on it. It also talked about saving Campaign Files, how you can move and zoom the map, and how to move tokens around. These are essential features of the program, without which none of the rest would be worth reading about!
Since hosting is no fun without people connecting to your game, the last section of this guide covers how to connect to a MapTool server. You'll need to tell your friends how to do that, so make sure to read that section!
Finally, since this guide is about hosting an online game, "you" will always mean "the person who is running the server."
Architecture
When used for online gaming, MapTool uses a client-server architecture. In other words, one person (usually the GM, but not always) uses MapTool to start a server, and the other people in the group then connect to that server as clients.
Once you start the server and everyone is connected, the campaign file (with all the maps, tokens, and other info) is then shared among all the players, so that everyone sees the same map and can watch as they and their friends move tokens around, enter text in the chat window, and have a great time.
A Word About Networking Stuff
One of the bigger challenges in setting up a MapTool game (like many client-server applications, including many other Virtual Tabletop programs) is configuring your home network to permit your friends to connect to your MapTool server.
With the wide variation in home networks and networking hardware (routers, switches, cable modems, etc.), it's not possible to give a single set of rules that will guarantee success.
Port Forwarding
For home networks that use a router or physical firewall, you will probably need to configure port forwarding. This is a mechanism by which information coming to your network, and arriving on a specific port, is sent to the right place inside your network. This is important for you as the MapTool server person, since your friends need to be sending information to the right place!
The specifics of configuring port forwarding will depend on your hardware, so you'll have to check your manual for that one. But the basic idea is that you indicate two things to the router/switch/firewall:
- Which port MapTool will use (more on MapTool ports later!) - this is telling the router "information will be coming in on Port XYZ; pay attention!"
- Which computer, inside the network, that information needs to go to - basically, "and when you see information coming in on Port XYZ, send it here"
- Incidentally, setting up port forwarding also tells the router where it can stick outgoing information, too.
That is port forwarding in a nutshell, and the reason you need to set it up is that most routers (especially if they're configured securely and properly) are not going to just allow random incoming information to get through.
uPnP
An alternative to port forwarding - if it's available on your router - is called UPnP (short for Universal Plug-and-Play). This feature, instead of permanently saying "Port XYZ traffic goes here!", will instead tell the router "for a little while - while we're playing - why don't you open up Port XYZ for us. That would be greeaaaat."
In other words, it makes the handling of ports and incoming and outgoing traffic a little more seamless and simple. Of course, the downside is that not everything supports UPnP, and you'll have to figure out whether your network can do it.
More and Better Networking Information
I was all set to write an elaborate section on networking, when I realized that there is an excellent FAQ written by Azhrei at the MapTool Forums. If you are unfamiliar with concepts like Port Forwarding, configuring your router, or how networks work (in general), please read the FAQ.
If you are familiar with network configuration and managing your home network (especially if you can set up software to act as a server, or have set up port forwarding on your network for other applications), setting up MapTool to act as a server will be old hat: you'll basically need to configure port forwarding or UPnP on your router to permit MapTool network traffic to pass.
If you need specific information on port forwarding configuration for your network hardware, check out Portforward.com for an extensive collection of how-to documents for specific network hardware and specific software packages.
On the other hand, if all that stuff above made no sense to you: read the Networking FAQ! All will be revealed!
Now, let's get on with it.
Starting Up a MapTool Server
Assuming that you've configured your network to handle MapTool traffic (via port forwarding or UPnP, for example), the following steps will help you start a MapTool Server so that your friends can connect and you can get to some gaming. There are a couple steps to take here.
The Start Server Dialog
1. Go to File > Start Server.
File:mt-file-menu-startserv.jpg
2. You will now see the Start Server dialog. There are a lot of options here.
Server Options and Settings
Configuration Settings
- Username: this is the name that will appear in chat and in the Connections window; you can set it to be anything you like.
- Role: this drop down box lets you tell MapTool what kind of user you are: are you the GM (and therefore in possession of Total Cosmic Power over all of the MapTool functions?) or are you a player, who lives at the GM's every whim (or, in other words, only has access to player functions)? Note that a game can have more than 1 GM!
- Port: A very important setting, this is where you tell MapTool what port you've configured your router to forward. If you give it the wrong port, MapTool traffic will be unable to enter or leave your network, and you will have no game!
- RPTools Alias: this field allows you to set up an "alias" for your server to appear on the RPTools server registry. It basically lets you tell your players "look for the server named Awesome Server and connect to it," instead of "connect to the server at IP Address 123.45.678.9"
- GM and Player Passwords: you can protect access to your server by setting a password for access for both GM's and Players.
Ownership, Vision, and Behavior
- Strict Token Ownership: MapTool uses a concept called "token ownership" to control who can select, move, or look at the properties of a particular token. If you enable Strict Token Ownership, only the owner of a particular token may perform any actions on it - everyone else is confined to looking at the token.
- Players can reveal vision: MapTool has a vision and fog-of-war system (where you can configure how tokens "see" the map). With this option enabled, players can reveal the area that is "visible" to their token without GM intervention (in other words, an area hidden to the token is covered by Fog of War, and appears opaque on the screen; when you reveal it, the opaque overlay is cleared, and the map underneath becomes visible). Otherwise, the GM must do all reveals.
- Use Individual Views: in the vision system mentioned above, player tokens can either "share" their vision (i.e., everyone sees what one player character sees) or they can have individualized views.
- Restricted Player Impersonation: This means that players can only impersonate tokens that they have ownership (see above) of
- Players Receive Campaign Macros: MapTool lets you write macros, which are basically sequences of text, token, and dice rolling commands used to automate certain activities - basically, a short script that does something. The GM can create "Campaign Macros" which become available to all players if this option is checked.
- Use Tooltip for [] rolls: Enabling this option makes any dice roll you enclose in square brackets show only the roll result, and display the full roll details if you hover your mouse over the result.
Testing the Connection
Before you start your server, it is a good idea to hit the Test Connection button. This will send a message out to a server at RPTools.net asking that it attempt to connect to your computer - in other words, the RPTools connection testing server will find out if it can see your computer over the network!
What you want to see is Success! I can see your computer! If you get that, you can be pretty sure that your server will be visible when you start it up.
If you do not see a message proclaiming a successful connection test, you will need to investigate port forwarding and your network configuration to make sure you have the right ports configured and everything properly arranged.
Get your Connection Information and Tell Your Friends
Assuming that you had a successful connection test, and you clicked OK to start the server, you can then check out your Connection Information to double-check the settings. These settings will need to be passed on to your friends so that they can connect to the server.
1. Go to File > Connection Information.
This will display what MapTool currently knows about your computer. Since you haven't started a server quite yet, you'll just see your computers internal and external IP addresses (this is useful info, though, especially if you haven't quite set up port forwarding!). The dialog looks like this:
When a server is started, you will also see the name of the server (if you give it one), and the network port that server traffic will use.
2. Provide this information to your friends: tell them the Server Name (a.k.a. the RPTools Alias, if you set one), the external IP address, and the port. They will need to put this into the Connect to Server dialog when they attempt to log in to your server.
Connecting to a MapTool Server
The steps leading up to this point walked you through setting up a MapTool server so that people can connect to it. Of course, if you don't have anyone connecting to your server, things are going to get pretty boring pretty quick. These steps are focused on your friends who will be connecting to the server you just created.
The following information assumes:
- You have friends
- You have a MapTool server running
- Your friends know the following:
- Either the server's Name OR the servers External Address is (or preferably, both!)
- What the appropriate password is (either GM or Player password)
- What Port the server is using
- VERY IMPORTANT: Your friends are using the same version of MapTool that you are using!
Open the Connect to Server Dialog
If the assumptions mentioned above are met, here's what you tell your friends:
1. Go to File > Connect to Server to see the Connect to Server dialog.
2. Enter a User name. This can be anything your friends wish.
3. Enter the password (which you set when you started the server).
4. Choose your Role. Your friends can connect as a GM, or as a Player. Make sure that they pick the right role for the password you're using!
Choose how You will Connect
The Connect to Server dialog presents three ways to connect to a running server.
RPTools.net
This tab (which is shown by default) lists all of the servers listed at the RPTools.net Server Registry. When you set up the server, you had the option to give it an alias, which is what appears in this list. The Server Registry stores the connection information for the server, so your friends can just select the server they want, and hit OK.
LAN
This tab will show any servers that are currently running on the local network. This is for when you want to have a MapTool LAN Party, or when all your friends are inside the same network (like if everyone bringes their laptop to your house for game night).
Direct
A direct connection is just that - your friends bypass the friendly RPTools.net tab, and simply type the External Address and port number for the server.
Verifying Connections
As your friends connect to your MapTool server, you will see notifications in the Chat Pane that people have connected to your server, which look like:
JQRandom has connected.
You can also check the Connections Pane to see a list of everyone who is connected to your server. If you do not see the Connections Pane, go to Window > Connections to have it pop into view.