Professor Nader "Welcome to the URealms Forums! Please make sure to read the rules before posting!
Your posting ability may be restricted for the first 24 hours!"

Char's Stamina Tracker [Multi-User GM Stamina Tracker] [KonRealms Compatible]

Hey there!

This has been in the works for quite a while, alongside KonRealms creator Konpaatre, and i'm finally glad to say that it is done! Well, it's not got everything I want, but it's usable, customizeable, and ready for use.

This program was written in Java with the goal "Create a tracker that's easy to use, and contained in one jar", and I believe I've accomplished that goal. The server, client and all of the resources are in one jar file that's 3.16 MB on the first release. It's tiny, but very powerful.

It's easy to download and use, you just need Java (created using 1.8.0) and if you're the GM, knowledge of port-forwarding. Unfortunately, I have yet to research into ways of port-forwarding automatically but hopefully it shouldn't be too much of a problem.


This project is open-source and you can view that here, but head on over to the latest release page and download the ZIP.
Extract the .Jar file to somewhere you'll remember it - your documents, or if you plan to use it frequently, your desktop.


When you load up the UI, you will see the screen below.

How to connect as a client

Upon clicking the 'Client' button, new fields will appear and look confusing at first - but don't worry, you just need to click a few things. is the IP field. By default, using 127 will try to connect to a server on your pc. Use this when hosting.

9002 is the port field. Currently, the only port that is supported is 9002.

1 is a list of screens in a drop-down . Fiddle around with the number to find the screen you want, because as of writing my screen numbers flipped for no reason.

Paste the Host's IP in the IP field, and the port it's hosted on in the port field. Select the screen you want to use, and click connect.

If you have an error, check the file, either on GitHub or in the ZIP the file came with, for the error and how to resolve it.

The default client will look like this, unless the GM has already configured changes:

An example of a decorated client:

How to host a server

First, you need to port-forward the port 9002. This is currently the only port that can be used, but I will change that in the near future.

Click the 'Server' button. If you receive an error, check if the port is being used by another application through the resource monitor.

At first, the UI may look crowded, but it's actually just 5 sections: Bulk Actions, Player 1, Player 2, Player 3 and Player 4.

Bulk Actions

Enable Players - The red numbers in the top left correspond to each individual player; They set its visibility on each client. If you have a two player campaign, turn only the first to on. Full house? Turn them all on.
Heal All - Heals every player and companion to their max stamina.
New Round - Resets all non-anytime actions on each player.
Heal All For - Heals each player and companion by selected amount.
Damage All For - Damages each player and companion by selected amount.

Player Sections

Each player has the same layout, and a box for the GM to write a note of who each player is.

First Row - This row controls the Player's health. Their numeric health is shown in the center, and the buttons do what they say.
Second Row - This row controls the Player's gold. Their gold count is shown in the center, and each button decreases/increases by the shown amount.
Third Row - This row controls all three of the Player's Companions. The drop-down box selects which companion is being altered. The checkbox to it's right changes it's visibility in the client.
The current companion's numeric health is shown in the center, and the buttons around the side change the current companion's health.
Actions - Click on an enabled action to use it - it will hide itself and re-appear either when clicked, or newround is pressed. The disabled (gray) actions can be enabled in the options tab.


The options tab is made up of 4 identical player tabs, and an extra 'Miscellaneous' tab.

Player Options

Stamina Fields - Each of the fields corresponds to the description to its left. Only numbers can be entered/pasted into the field, and it auto-updates the value when something is entered. When there is nothing in the field, it will stay at the last remembered number. (10 to null = 1, 397 to null = 3)
Actions - Each action is a drop-down box - click on it to select the player's gem for that action. The layout is 1-2-3-4-5, 7-8-9.
Action Checkboxes - Each box corresponds to the action below it. It disables or enables its action, causing the client to re-center the enabled actions.
Player Image Link - Paste a direct link to an image here, and press enter to set the player's image on the client. It will appear above if valid, or tell you it wasn't. Player images have a 1:1 ratio. ( is a direct link)

Miscellaneous Options

GM Image Link - Paste a direct link to an image to appear in the GM's slot on the client. The image will appear above it if valid, or tell you it wasn't.

Other options that aren't for a player will be added to this section.

Connecting with a Client

It's incredible easy to connect a client to your own server. Just load up a separate client, and don't change the IP field. re-directs to the host's machine.


Found a bug, confused, or have a feature to suggest? Then head on over to the KonRealms Discord server, and there's a section just for this! Gotta </3 that Konpaatre

Planned Features

  • Make the Server's text stand out more
  • Allow Servers to use custom ports
  • Add a button to keep the client 'Always On Top'
  • Save/Load function
  • Deathroll function
  • Images for player hurt, player take damage, player deathroll and gm deathroll

Thanks for reading! I hope you will find this useful, as I feel like it helps to give and interactive experience whilst playing. Feel free to find out how it works by rummaging through my messy code.


Sign In or Register to comment.