VTT Desktop Client

VTT Desktop Client

Premium
Version: undefined
FVTT: V10
Download

A simple and lightweight, chromium based, desktop client for your virtual tabletop games. The application is currently in beta, once the developement is complete, it will be available for free.

Usage

Simply download the zip file from the Patron post, extract it, and run the executable (vtt-desktop-client.exe). Forge Login is currently not supported (only public games)

Performance

The classic question: "Is it better than the browser?". The answer is: "It depends". The client is based on chromium, but since there is no stuf around it or running in the background it will generally use a bit less resources. If you are using a powerful computer, you will probably not notice any difference. If you are using a weaker computer, you will probably notice a difference. How big is the difference? It depends. Theoretically the VTT Desktop Client will not perform significantly better than a clean Edge install with only one tab open and no extensions and with all the hardware acceleration\gpus setup correctly.

So, what i can say for certain is. If you are using chrome with a lot of extensions (or other browsers for that matter) and you have weak hardware, you will probably notice some improvement.

Customization

You can pre-configure and customize the client by editing the config.json file. From where the executable is located, you can find the config.json file by navigating to the resources/app folder. You can edit the file with any text editor.

Config Options

ℹ️

Be mindful of trailing commas, they are not allowed in JSON. If you want, you can use an editor such as VSCode or an online tool such as JSON Formatter to validate your JSON.

This is an example configuration file:

{
    "games": [
        {
            "name": "This is the name of my game",
            "url": "https://url-to-my-game.com"
        }
    ],
    "background": "https://url-to-my-img.com/img.jpg",
    "backgroundColor": "#000000",
    "textColor": "white",
    "accentColor": "hsl(0, 100%, 50%)"
}

Games

The games array is where you can add your games. Each game object has a name and url property. The name is what will be displayed on the button, and the url is where the client will navigate to when the button is clicked. These preconfigured games cannot be deleted from the client.

Background

The background property is where you can set a background image for the client. This can be a url to an image, i suggest using imgur to host custom images.

Background Color, Text Color, Accent Color

These properties are where you can set the background color, text color, and accent color of the client. These can be any valid css color value.

Keyboard Shortcuts

ControlAction
Ctrl + RReload
Ctrl + ⇧ Shift + RHard Reload
Ctrl + + or Ctrl + ⇧ Shift + +Zoom In
Ctrl + -Zoom Out
Ctrl + 0Reset Zoom
F11Fullscreen
Ctrl + ⇧ Shift + IDeveloper Console

Connections with invalid certificates (SSL)

ℹ️

While this flag could be directly added to the application, therefore avoiding this procedure, i don't plan on doing so. This is because it could be a security risk, and i don't want to be responsible for that.

While it's suggested to setup a valid SSL certificate for your VTT, if you are using a self-signed certificate or your certificate is invalid, you can follow this procedure:

  1. Locate the vtt-desktop-client.exe file.
  2. Create a shortcut to the executable.
  3. Right click on the shortcut and select Properties.
  4. In the Target field, add the following at the end of the path: --ignore-certificate-errors.
  5. Click Apply and OK.

If you wish to embed the flag directly in the application, you can follow this procedure:

  1. Locate the vtt-desktop-client.exe file.
  2. Navigate to the resources/app folder.
  3. Open the main.js file with a text editor.
  4. Locate the app.commandLine.appendSwitch("force_high_performance_gpu"); line at the beginning of the file.
  5. Add this new line below it app.commandLine.appendSwitch("ignore-certificate-errors");.
  6. Save the file.

If you distribute this modified version of the application to your players they won't have to follow the shortcut procedure.

Pop Outs

If you are using the PopOut! module, you will have to do a small modification for it to work, the developer has been contacted for a fix. In the meantime:

Open the popout.js (lines 460-463) file in the PopOut! module folder, and remove or comment the following lines:

Before

// Check if popout in Electron window
if (navigator.userAgent.toLowerCase().indexOf(" electron/") !== -1) {
    ui.notifications.warn(game.i18n.localize("POPOUT.electronWarning")); // eslint-disable-line no-undef
    return;
}

After

// Check if popout in Electron window
// if (navigator.userAgent.toLowerCase().indexOf(" electron/") !== -1) {
//   ui.notifications.warn(game.i18n.localize("POPOUT.electronWarning")); // eslint-disable-line no-undef
//   return;
// }

Packaging

If you created a custom configuration file and want to share it with your players, you can simply zip the whole vtt-desktop-client-win32-x64 folder and send it to them. They can then extract the zip file and run the executable.