Pen and Paper RPG with FLOSS
Pen and Paper RPG with FLOSS
In the following I'm going to describe how to set up an RPG environment to play games online with your friends without the use of proprietary tools. I have tried the things I describe below in some Traveler and Dragon Heresy sessions and everything worked fine. There were some hassles with microphones and so on, but nothing unusual. So, the stuff worked for me.
The tools used
For communications we used Nextcloud Talk and as a Virtual Tabletop (VTT) we used Maptool. We did not use in the calendar functionality of Nextcloud or the ability to make a Doodle like poll, but the use of Nextcloud as filesharing service was helpful in other campaigns.
Maptool and Nextcloud
Prerequisites
I have a self hosted instance of Nextcloud on my home server with valid SSL over Let’s Encrypt. This runs on a low powered Intel-box the size of a hard disc from some nameless vendor.
I am not 100% sure whether you really would need an IPv4 for address to host Maptool but I read about certain problems with IPv6 regarding Maptool. My router knows about UPnP which also is a point when you want to use Maptool, but manual port redirection will work as well.
It is probably obvious that you must have an internet connection with sufficient bandwidth.
The Setup
When you want to start a game online, it is a good thing to have a fixed communication channel for all participants. I just made a public Nextcloud Talk call, named it after the session and sent invite links to the players. If you play with the same guys regularly it may be wise to make a special group for them on your Server and make the calls to the group.
Some game chat |
These talk stays open for days before the game. Most of the time someone has a question before, or players just want to talk about things, or you have sessions notes to share around. There is always something. This talk is just a permanent chat channel at this moment.
When you want to start the game you start the video or audio chat with the other players.
If you do not require shared dice rolls or something like a common table to move stuff around, then you are finished here and game happily.
Some groups prefer to have a shared experience for character sheets, dice rolls and a virtual table where anyone has tokens. That is when you would need Maptool.
Some view from a Dragon Heresy game I ran in Maptool |
Maptool is not just a tool to share such a virtual table, but is also capable to simulate dice rolls and even have more complex character sheets with automated rules. I will not go into to many features since I tend not to use them so much. I want to have a representation of the player and non-player chracters as tokens and some basic die rolling. I do not bother to have all character sheets in fancy automation, but if you want Maptool can handle that as well. The best thing about it is that I can use it much more intuitively than the proprietary competitors’ software.
To have great tokens the people behind Maptool offer a simple software called Tokentool which simplifies the craft of token making to simple drag and drop.
Once everything is setup to your liking in Maptool you just share your IP address and let the players connect. Have a nice game.
Caveats
I will not go into the complexity to setup your own Nextcloud box or possible IPv6 problems here, but the rather simple things. Maptool does not work so well with HiDPI displays, i.e. things tend to be too small. You can fix it by giving certain command line arguments to the Java VM, but that is not so great anyway.
Depending on the level of automation you want to have Maptool might not be what you are looking for, since there are no official rule sets and the degree of integration is not the same as with Starfinder in Fantasy Grounds for example.
On the FLOSS aspect
Let us just for a moment consider that both programs are not only free in the sense that you are free to use them, but also free in the sense that you have the source code and you are allowed to modify and share the programs.
Maptool is under GPLv3 (with some parts Apache 2.0) and Nextcloud AGPLv3.
Source code: Nextcloud and Maptool