Name | Modified | Size | Downloads / Week |
---|---|---|---|
README.md | 2017-11-30 | 20.7 kB | |
gtracker-linux.zip | 2017-11-30 | 13.1 MB | |
gtracker-windows(outdated).zip | 2017-09-17 | 11.2 MB | |
Totals: 3 Items | 24.3 MB | 0 |
GTracker
An advanced graphical combat tracker for D&D 5E.
Currently tested on Windows 10 and Ubuntu 16. Will probably work on other Windows versions/Linux distributions. Probably won't work on Mac OS.
How to Download and Run
Download the program from here. If you're on Windows, download gtracker-windows.zip
. If you're on Linux, download gtracker-linux.zip
.
Extract the zip file somewhere on your computer.
In order to launch the program, open the extracted folder and double-click gtracker.exe
on Windows, or gtracker
on Linux.
This help document is also included as a PDF file named help.pdf
in the zip you downloaded.
Usage
Most of the commands can be accessed with the buttons on the bottom part of the screen, or by right-clicking a row in the tracker.
General Controls
- Click on a row in the table to select it. Control-click to select multiple rows, and Shift-click to select a range. Most buttons on the bottom and options in the right-click menu will work on multiple selected combatants.
- Right Click on a row or on a group of selected rows to perform operations on them.
- Escape to clear selection.
- Double click on any cell in the table to change its value manually (most common operations are automated, so you shouldn't need to do this a lot).
- Select rows and click on the header of one of the spell slot columns ("S1"-"S9") to expend a spell slot of that level.
- Enter during any dialog to submit.
- Drag and drop rows to reorder combatants.
- Control-a to select all combatants.
Keyboard Shortcuts
These are also present in buttons and menus. * Control+r to open a dialog that allows you to quickly roll dice (for example - type Control+r,1d20,Enter,Enter). * Control+d to damage the selected combatant(s) (opens dialog in which you can enter a number or a dice roll). * Control+h to heal the selected combatant(s) (same as above). * Control+k to kill the selected combatant(s). * Delete to remove the selected combatant(s) from the table. * Control+Enter to pass the turn. * Control+b to add (begin) a condition for selected combatants. * Control+e to remove (end) a condition for selected combatants. * Control+s to save. * Control+o to open a file.
Adding Combatants
You can add combatants with the "Add Combatant(s)" button. You will be prompted to select a stat block (out of all of the stat blocks in the Monster Manual and Volo's Guide, and those that you have created) and number of combatants. You can use the search box on the bottom to find a stat block easily. If you choose a stat block, by default, the combatant(s) you add will be named after the stat block. If this is not what you want, you can optionally rename the added combatant(s) to something else.
The selected stat block will be used to determine the combatant's HP, spell slots and initiative modifier (which will be used to roll initiative automatically). The entire source book stat block will also be displayed on the bottom right when the combatant is selected.
You can choose "(None)" to enter a name, initiative and HP manually, for example if you are using custom NPCs. HP can be given as a dice roll with standard syntax (i.e. "10d8+3"). You can add spell slots later by double-clicking the required cells in the table. You can also choose "PC" to indicate a player character and get a different set of options. When entering initiative values, you can either enter a final result (a simple number) or a modifier (starting with + or -) which will be used to make an automatic roll. In order to improve efficiency, you can create your own stat blocks (see below) for both PCs and NPCs.
If you add multiple combatants at once, they will roll only one initiative roll and act together in a single turn (this can be changed in the settings).
Once you have created stat blocks for all of the PCs in your group (see below), you can click "Add all PCs" to quickly add all or some of them. You will be prompted to enter any missing values for each player (typically initiative, if your players want to roll it themselves). Leave this field empty in order to prevent a player from being added.
Sorting by Initiative
After you click "Order by Initiative", the combatants will be sorted, and GTracker will help you resolve any initiative ties. Ties that involve only combatants who have an initiative modifier in their stat blocks (i.e. any of the default stat blocks from the rulebooks) will be resolved automatically according to the initiative modifiers. If a tie that involves combatants with no stat block or no initiative field in their stat block (i.e. PCs) occurs, you will be asked if you want to order them randomly, or select the order yourself (The last combatant will be inferred automatically from all the others and you will not be prompted to select it).
Rolling Dice
You can roll dice with the dice roller on the bottom of the screen. Die rolls can be entered in standard syntax - such as 1d20+5
, 3d8+1d4-3
, etc. You can multiply or divide results by a constant (rounding down), i.e. 1d6/2
or 1d20*3
(Note that this affects only the term that it immediately follows - for example, 1d1+2/2
is (1d1)+(2/2)=2 and not (1d1+2)/2=1). You can use this to perform simple arithmetic: for example, type 45*7
to calculate 45 times 7. You can roll with advantage by appending ++
to the end of your roll, and with disadvantage by appending --
to the end of your roll. For example, 1d20+5++
rolls 1d20+5 with advantage. Whitespace such as spaces and tabs is ignored and you can add as much as you want.
The history of the rolls you've made is displayed on the right. You are free to edit this field.
You can make rolls quickly by pressing Control+r, then typing a roll, then pressing Enter. The result will be displayed in a pop-up message and will also be added to the history.
You can enter a die roll in many fields that expect a number, such as when adding a new combatant or when dealing damage to a combatant.
Damage, Healing, and Temporary HP
You can select one or more combatants, and right click one of them and then select Damage.../Heal.../Add THP... . You can also select combatants and press Control+d to deal damage or Control+h to heal. You will be prompted to enter the amount of damage/healing/THP.
With any of the above methods, you can either enter a number or a dice roll using standard syntax (see "Rolling Dice" above). If multiple combatants are selected, the roll will be made for each one separately.
You can remove all THP from the selected combatants(s) with the right-click menu. You can instantly kill combatants with right click => Kill or Control+k. Dead combatants are not removed from the table - you can remove them with Delete, right click => Remove, or the button "Remove all Dead Combatants"..
Any dead (HP <= 0) combatant, which is NOT a PC, will have their turn skipped. You can change this in the settings.
Conditions
You can add, edit and remove conditions (even to multiple combatants at once) by right-clicking selected combatants or with ctrl+b and ctrl+e.
Conditions can be removed automatically, at the start or end of a turn, after a given amount of turns. When you try to remove a condition from a combatant that has multiple conditions, you will be prompted to select which one to remove.
Note that this amount is decremented at every start/end of a turn, including the current one. This means that if you add a condition to the current player, and you want it to remain until the end of their next turn, you should set "number of turns" to 2.
You will be notified with a pop-up message when a condition ends automatically (but you can turn this off in the settings).
Saving and Loading .game Files
You can save the current state of the game, including all cells in the table, the current turn, all settings, and all currently loaded stat blocks with 'Save' or 'Save as' in the 'File' menu. You can later load such files with 'Open'.
Making Permanent Changes - Default .game File
When GTracker is launched, a file named gtracker-default.game
, located in the directory above src
, is loaded. You can open this file, make changes, and save it in order to have them loaded each time you open the tracker. This is useful for importing or creating custom stat blocks and/or stat blocks of your PCs, in order to have them loaded automatically when you launch GTracker. It is also useful for permanently changing settings (see below).
Note that any changes you make to gtracker-default.game
will not affect any .game files you have already created - it will only affect new ones.
Autosaves
GTracker autosaves after every operation. If the program exits unexpectedly, you can load autosave-old.game
, which saves the last state of the previous session (not autosave.game
- it saves the state of the current session, so loading it won't be very useful).
Settings
Some of the potentially controversial decisions that I made, such as groups of similar NPCs making a single initiative roll and sharing a single turn, or PC HP not being tracked, are editable via 'File'->'Settings'.
Important - Changes to settings only affect the current game file and are saved as part of it. Any setting changes you make will be lost when you close the program, but if you saved the game (see above), they will be restored when you open the saved game.
If you want to permanently change the settings of new files on a universal level, you can do so with the gtracker-default.game
file (see above).
Tokens
There is an optional "Tokens" feature that adds "tokens" to NPCs. A token is a combination of letters and an optional number, such as A, B4, CF10, etc. This is useful if you use such alphanumeric tokens on a combat grid.
This feature is disabled by default. You can enable it in the settings, as well as choose whether PCs also use tokens (they don't by default). As with all settings, this change is on a per-save basis and if you want to make it permanent, you need to edit gtracker-default.game
(see above).
In the settings, you will also find a setting named "Automatically give groups of added combatants tokens with incrementing numbers". If this is enabled (the default), when you add multiple combatants at once, incrementing numbers will be appended to the token value you give. For example, if you enter "A" in the token field, and add a group of 4 combatants, their tokens will be "A1","A2","A3", and "A4". You can also enter an initial number to be used for the first combatant. For example, if you add 3 combatants with the token "A4", their tokens will be "A4", "A5" and "A6".
Turn Display Server (Experimental)
If you use a TV screen that is connected to a different computer on the same local network, or a device that allows you to share a single window, GTracker supports a "Turn Display Server" that will display only the names of the combatants, the current turn, whether each combatant is dead, and any conditions they may have (but it hides HP, Initiative, Spell Slots, and the like). To set it up, run turn-display-server.exe
(or turn-display-server
on Linux) on the computer connected to the display you want your players to see. Figure out that computer's IP address (using ifconfig
on Linux or ipconfig
on Windows - Google it). Then click Connect to Turn Display
inside GTracker and enter that IP address. Leave the port as is. (Note that this is only this simple if both devices are on the same local network - if you want to do this over the Internet you will need to set up port forwarding. I assume you can figure that out if you're that dedicated).
If you don't want a combatant to appear on the turn display, start its name with a ~
. You can also right-click it after it's been added and click Display: Hide/Reveal
. Its name, conditions, and death will not be visible on the display, but it will still appear as (hidden)
and players will be able to see when it's its turn. To reveal it, remove the ~
from its name or right-click it and choose Display: Hide/Reveal
.
Similarly, you can hide a single condition from the display by starting its name with ~
. The display will not show the condition at all.
You can also run both programs on the same computer and just type localhost
when asked for the IP address. This is useful if you have a way to project only a single window.
If you want to use a different port, launch the server from your shell/command prompt and add the port you want to use as a command line argument.
Creating and Editing Stat Blocks
Under "Stat Blocks" -> "View/Edit", you can browse all currently imported stat files, and add a new PC (player character) or NPC (non-player character). PCs get only a few options and can be added quickly with the "Add all Player Characters" button, while NPCs get a full 5E monster stat block that you can fill out. Also, by default, the turns of PCs are never skipped, even if they are dead, and their HP is set to 1, but you can change these in the settings. You can also select an existing stat block and click "Edit" to edit it. You will be presented with a form that includes all parts of a stat block. You do not need to fill every field. You can select one or more stat blocks and click "Delete" to remove them from the current game.
While editing or creating a stat block, if a field is irrelevant, or if you simply don't care about it, you can simply leave it empty. It will not be shown when displaying the stat block.
The HP, Initiative and spell slot fields, if given in a stat block, will be automatically used in the combat tracker when you add a combatant with that stat block. You can leave Initiative empty in order to be prompted to enter it manually each time you add the combatant. This is mostly useful for PCs, when your players want to roll dice themselves. Initiative should be given in the form of a roll modifier, starting with + or -. The HP value can be given as a dice roll, in which case it will be rolled each time you add a combatant with the stat block.
The ability scores of NPCs should be given as scores, not as modifiers (which are calculated automatically). Note that the DEX field is entirely separate from the Initiative field, and the Initiative modifier is not calculated from it (as some combatants may have an initiative bonus/penalty), so you should enter the initiative modifier separately in the appropriate field if you want it to be rolled automatically.
Important - Any changes you make to stat blocks, including creating, editing and deleting them, affect only the current game. These changes will be gone when you close the tracker. If you save the game after making them, they will be saved as part of the .game
file and will be present when you open the saved game. You can also export stat blocks into a separate file if you want to add them to multiple games or share them (see below on how to do this). If you want to add/edit/delete stat blocks to all future game files on a permanent basis, you can edit the gtracker-default.game
file (see above).
Importing and Exporting Stat Blocks
You can import stat blocks from a .json file with the Stat Block menu. After the file has been selected, click OK to import all stat blocks, or click on some to import only them. The imported stat blocks will be added to the current ones. The process of exporting some or all of the loaded stat blocks to a file is analogous. If you select an existing stat block file, you will be asked whether you want to overwrite it or update its contents.
The files you downloaded include a file name 5e-monsters.json
, that includes all of the default stat blocks from the rule books present in the default game. If you delete stat blocks from gtracker-default.game
, you can import the file in order to get them back.
Important - the current stat blocks are saved as part of the .game file, and are NOT imported to all games. All imported or created stat blocks will be gone when you close the tracker, and you will need to import them again or load a .game file which contains them. If you want to permanently add stat blocks on a universal level, you can do so with the gtracker-default.game
file (see above).
Creating Stat Block JSON Files Manually
Most users should not need to read from here onwards.
If you want to work a bit more efficiently at the expense of convenience, or if you want to write a script that creates stat blocks, the format of the stat block files is detailed below. If you need an example, the files you downloaded include a 5e-monsters.json
file that you can read.
In Short
stats files are simply JSON files that contain an array of objects. Each object represents a stat block and must have a 'Name' key. For a list of recognized keys see below.
Stat Block File Details
A stats json file begins with a [
and ends with a ]
. Each stat block is contained between a {
and a }
, and individual stat blocks are separated by ,
(comma). A stat block's contents are represented by "<field name>" : "<value>"
, where <field name>
is the name of the field, and <value>
is its value. The pairs are separated by a ,
(comma).
You can't put a newline between quotes. If you want to do that, type \n instead.
Whitespace (spaces, tabs and newlines) is ignored entirely.
A stats file can contain additional fields that don't appear on the table, that may be displayed in the stat block viewer in the bottom-right corner.
For example, let's say a file has the following contents:
[
{
"Name" : "Goblin",
"Max HP" : "2d4",
"Init" : "+2",
"actions" : "Shortsword: +5 attack, 1d6 damage"
},
{
"Name" : "Slime",
"Max HP" : "45",
"actions" : "Acid Splash: +4 attack, 30 ft. range, 2d8 damage"
}
]
The file defines two stat blocks, Goblin
and Slime
. When a Goblin
is added, its Max HP
is determined by a roll of 2d4. When a Slime
is added, its Max HP
is always 45. The Goblin
will also have its initiative rolled automatically, with a +2 modifier, while you will be prompted to manually enter the initiative of the Slime
. The actions
fields isn't displayed in the table, but it is used in the full stat block viewer. See below for a list of recognized fields.
NPC Stat Blocks
There are the fields recognized for NPCs. If a field is not relevant (i.e. if the creature has no damage resistances), or if you simply don't care about it, then omit it. If a field that is required in the table (Init or Max HP) is omitted, you will be prompted to enter it manually when adding the combatant.
Name
- required (the only required field), and must be unique.Init
- Used for initiative modifier during automatic initiative rolls. Can be modifier (starting with + or -) or final result. Entirely independent from theDEX
field.size
kind
- creature type (humanoid, construct, etc)alignment
AC
armor type
- natural armor, chain mail, etc. Omit if not relevant.Max HP
- Used both in stat block and as the value of the HP and Max HP columns in the table. Can be a dice roll.HP formula
speed
STR
,DEX
,CON
,INT
,WIS
,CHA
- scores, not modifiers (which are calculated automatically).saving throws
skills
damage resistances
damage immunities
condition immunities
damage vulnerabilities
senses
languages
CR
XP
passives
- passive traits and the like in the stat block.actions
legendary actions
reactions
S1
,S2
,...,S9
- Number of spell slots for each level. Used in table. Defaults to 0 if omitted.
PC Stat Blocks
Any combatant created with a stat block which has the pair "type" : "PC"
will be treated as a PC. In such a stat block, the Name
field refers to the character name; the player name can (optionally) be added with the Player Name
field. There are only a few recognized fields:
Name
- Character name. Required (the only required field), and must be unique.Player Name
- gets appended to the "Name" column in the table.Init
- Used for initiative modifier during automatic initiative rolls. Can be modifier (starting with + or -) or final result. Omit in order to be prompted to enter initiative manually every time.Max HP
- Only has an effect if "Track the HP of PCs" has been enabled in the settings. Can be a dice roll.type
- Must be set to"PC"
.
For example, here is a typical stat block for a PC:
{
"Name" : "Illidan",
"Player Name" : "John",
"type" : "PC"
}