Local License Server

We offer an on-premise license server solution for facilities with air-gapped computers. Available for Linux, FreeBSD, macOS, and Windows, the Local License Server ("LLS") acts as a floating license server for client licenses.

Preliminaries

  • A Pro license with the required amount of simultaneous activations.

  • A bare-metal machine in your local network, to run the Local License Server application on. The LLS application is lightweight and can run on about any hardware: a NUC, Raspberry Pi, or Mac Mini suffices.

  • If you want to run LLS as a VM, reach out. We can host it as a managed service.

When you need a LLS deployed, contact our team. We'll help you set up your licenses and guide you through the (straightforward) deployment process.

Converting Your License

To make a license work with the Local License Server, we will manually switch your license to be used with the LLS. Eligible licenses are required to be the Pro tier, and to always be within support and updates. Reach out to have your license switched.

Setting Up The Server

A Local License Server can run on a different operating system than your workstations. For example, a common scenario is having the server running on Linux, and workstations run on a combination of Windows and macOS.

Important: any instance of the LLS manages a single license. If you need to deploy multiple licenses or apps, you'll need to deploy multiple instances for the Local License Server.

Requirements

The Local License Server will run on almost all hardware, requiring practically no resources.

  • Windows 10 or newer

  • Administrator privileges

  • Firewall access for the chosen port (default is 20000)

  • An internet connection for activation and daily license checks.

Preparation

  1. Download the .dat file for the app you will use with the Local License Server:

For other apps, reach out.

  1. Download and install the Local License Server application:

https://downloads.hedge.video/licenseserver/LocalLicenseServerLinux.zip

  • Extract the contents to a directory of your choice, e.g., ~/LocalLicenseServer

  • Ensure you have the following files in the directory:

    • A folder bin-linux containing executables for each CPU type

    • LocalLicenseServer.xml

    • The product-specific .dat file you download in Step 1.

Enabling The Executable (macOS)

Before you can use the LLS, you need to switch the LLS from a file to an executable.

  • Open Terminal.app and enter this one-line command:

chmod +x /Applications/LocalLicenseServerMacOS/LocalLicenseServer &&
xattr -d com.apple.quarantine /Applications/LocalLicenseServerMacOS/LocalLicenseServer
  • Go to Finder, and you'll see the file's icon to have switched:

  • Open LocalLicenseServer by double-clicking the icon in Finder

  • Click Allow Anyway

MacOS can vary slightly across versions when it comes to these alerts. If you're stuck, don't hesitate to email us a screenshot so that we can help out and refine these documents.

Configuration (Optional)

  1. Open LocalLicenseServer.xml in a plain text editor

  2. Set the port number to the desired port: <bind port="20000"/>

  3. Optional: change the log location to a different folder.

  4. Optional: Set the client's lease length. Leases are always released upon app quit, so change this setting only if your workstations never reboot.

  5. Optional: set the time interval that the LLS will check for new license information. Daily is recommended, 90 days the maximum with a 14-day grace period: <isgenuine days_between="1" grace="1" />

  6. Save the configuration file

Installing, Activation, and Starting The Server

Linux has many approaches to keep services or daemons running. Because of this, we don’t offer a full installation that autostarts after a reboot. You can create an autostart script yourself for Crontab, Systemd, System V Init, Upstart, etc.

Start the process using the following command:

sudo .\LocalLicenseServer -x -config="LocalLicenseServer.xml" --pdets="[app].dat"

Next, activate the license:

sudo ./LocalLicenseServer -config='LocalLicenseServer.xml' -a='XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX'

License Changes

The commands are equal for Linux, macOS, and Windows. Be sure to use the right program name: on Windows, LocalLicenseServer has a .exe extension.

Open an elevated command prompt on Windows, use sudo on macOS and Linux.

  • Shut down the service by running the following command:

.\LocalLicenseServer.exe -u -config="LocalLicenseServer.xml"
  • Update the license information by running the following command:

.\LocalLicenseServer.exe -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" -config="LocalLicenseServer.xml"
  • On Windows, restart the service by running the following command:

.\LocalLicenseServer.exe -i -config="LocalLicenseServer.xml" --pdets="[app].dat"
  • Uninstall the server:

.\LocalLicenseServer.exe -u -config="LocalLicenseServer.xml" --pdets="[app].dat"
  • Deactivating the license . Requires uninstall first.

.\LocalLicenseServer.exe -deact -config="LocalLicenseServer.xml" --pdets="[app].dat"

Troubleshooting

Running into errors when installing or activation your license?

Failed to resolve this executable's path to a real path. Error: 1

You haven't initialized the server, using the -i flag.

Failed to load the product details file.

You're not referring to the right .xml, or you haven't included the -pdets flag.

Failed to parse the configuration XML file. Make sure it's properly formed XML using UTF-8 characters.

You likely haven't included the -config flag in your command.

Failed to load the product details file TurboActivate.dat. Either the file is missing or corrupt.

You haven't downloaded the .dat file for the product you need to activate a license for

You can only run one instance of this floating license server at a time.

You haven't uninstalled the server before deactivating. Try the -u flag first, then deactivate.

Ran into a different error, or can't resolve it? Reach out, and include the LocalLicenseServer.log file in the server directory.

Setting Up The Client

The client app can be installed like a regular app, or via MDM. After installation, switch the licensing method from Remote Activation to Local Activation. Each of our apps uses dedicated API calls, in this example we use mimiq.Replace mimiq:with the app name you are deploying the Local License Server for.

Switch to Local Activation (replace the IP and port number):

open "mimiq://licenseactivation?mode=local&ipAddress=192.168.1.1&port=1234"

Switch back to Remote Activation:

open "mimiq://licenseactivation?mode=remote"

macOS 10.15 Catalina doesn't support API calls to be opened from within Terminal. Use this single-line command instead: defaults write video.hedge.Mimiq.Mac LocalLicenseServerSettings -string '{"port":1234,"ipAddress":"192.168.1.1"}'

An MDM solution is recommended for bulk setting changes on client apps and distribution of app updates.

Troubleshooting

  • Ensure access to the server is allowed through the firewall.

  • On the server, verify that the specified port is open and not used by other applications.

If Mimiq reports it cannot locate the Local License Server, confirm if there's no network roadblock with the following Termina/PowerShell command:

nc -zv IP PORT

Last updated