For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 s

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 running 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 and requires practically no resources.

  • Ubuntu 18.04 or higher. Other distributions may work just as well, but we tested Ubuntu.

  • sudo or root privileges

  • unzip and wget

  • An internet connection for activation and daily license checks

  • An Apple Silicon or Intel Mac

  • macOS Ventura or newer

  • sudo or Administrator privileges

  • An internet connection for activation and daily license checks

  • Windows 10 or newer, or Windows Server 2022

  • Administrator privileges

  • An internet connection for activation and daily license checks.

Preparation

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

For other apps, reach out.

  1. Install the Local License Server application:

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

  • Ensure you have the following files in this directory:

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

    • LocalLicenseServer.xml

  • Select the right executable for your CPU architecture:

    • In the folder bin-linux that you just extracted, there are directories with the names of common CPU types

    • In a shell, run uname -n to reveal the CPU architecture.

    • Copy the executable from the folder of the same name to the main directory

    • Make the executable runnable using chmod +x LocalLicenseServer

  • Move the Product Details .dat file from Step 1 into the same folder

lightbulb

This procedure can vary slightly across macOS versions. If you're stuck, don't hesitate to email us a screenshot so that we can help out and refine these documents.

  • Extract the .zip and move the LocalLicenseServerMacOS folder to your /Applications folder

  • Ensure you have the following files in the folder:

    • The LocalLicenseServer executable

    • LocalLicenseServer.xml

    • The Product Details file (ends with .dat) from Step 1

  • Make the executable runnable:

  • On macOS 14 and newer, run this additional command to allow the executable to run:

  • In Finder, the file's icon should look similar to this:

A macOS executable
  • To test if it can run: open LocalLicenseServer by double-clicking the icon in Finder and when macOS shows a dialog that asks if it's allowed to run, click Allow Anyway

Configuration

Open LocalLicenseServer.xml in a plain text editor:

  • Change the port number if desired: <bind port="20000"/>

  • The client's lease length (in seconds) is mandatory. Don't change it unless you have a good reason to.

  • Optional: Change the log location to a different folder with <log file="…

  • Optional: Change the interval at which the LLS checks for new license information. Daily is recommended; 90 days with a 14-day grace period is the maximum: <isgenuine days_between="1" grace="1" />

Activating your license

There are two ways to activate the server: online and offline.

Online is the most common and highly recommended option for servers with internet access. After activating online, the Server periodically checks for license updates, including seat/activation counts and eligibility for updates.

Offline mode is available for air-gapped setups. In this mode, the Server does not connect to our service to activate and won't periodically check for license updates. This has implications for the license's support window, as both the Server and the clients won't be able to upgrade to versions released after the last date set in the license at the moment of activation. A good way to prevent this is to get a license with a multi-year support contract instead.

Online mode

  1. Navigate to the Local License Server directory

  2. Use this command to activate your license:

Use this command to activate your license:

  1. Open an elevated command prompt

  2. Navigate to the Local License Server directory

  3. Activate your license:

Offline mode

In this mode, the server generates a "challenge" file, which we use to generate a "response" file that is used to authorize the activation.

  1. Generate a challenge file on the server:

  1. Send the generated ActivationRequest.xml over to us, and we'll send you an ActivationResponse.xml file that you can then use to activate the Server with

  2. Store the file in the same folder as LocalLicenseServer

  3. Then, run this command to complete the activation:

  1. Generate a challenge file on the server:

  1. Send the generated ActivationRequest.xml over to us, and we'll send you an ActivationResponse.xml file that you can then use to activate the Server with

  2. Store the file in the same folder as LocalLicenseServer

  3. Then, run this command to complete the activation:

  1. Open an elevated command prompt

  2. Navigate to the Local License Server directory

  3. Generate a challenge file on the server:

  1. Send the generated ActivationRequest.xml over to us, and we'll send you an ActivationResponse.xml file that you can then use to activate the Server with

  2. Store the file in the same folder as LocalLicenseServer

  3. Then, run this command to complete the activation:

Deactivating the license

Running into issues when deactivating? You can also deactivate your server remotely in The License Manager

Use this command to deactivate your license:

If you've installed the server as a launchd daemon, uninstall it first:

To deactivate the license:

lightbulb

If installed as a Windows Service, uninstall it first:

To deactivate the license:

Running The Server

Run the server using the following command:

You may want to run the server as a service/daemon that automatically starts when the system boots. As linux has many approaches to this, we can't offer any documentation on this. Refer to the documentation of your Linux distribution to create an autostart script for your Crontab, Systemd, System V Init, Upstart, et cetera. Let the script run the server using -d instead of -x so it runs as a daemon:

To run interactively in Terminal.app:

To automatically run the server when the system boots, install as a launchd daemon:

To uninstall the launchd daemon:

To run the server in a command prompt:

  1. Open an elevated command prompt

  2. Navigate to the Local License Server directory

  3. Run the command

To run the Server as a Windows Service, so it automatically starts when the system boots:

  1. Open an elevated command prompt

  2. Navigate to the Local License Server directory

  3. Install the server:

The server will automatically start together with Windows. When running as a service, firewall rules are added automatically to allow incoming connections on the configured port.

To remove the Windows Service:

Troubleshooting

Running into errors when installing or activation your license? These are the most common cases:

Client

If the app you want to use reports it cannot locate the Local License Server, confirm if there's no network roadblock:

Install the netcat package and run the following command with the IP address and port number of your License Server:

For example:

Run the following command with the IP address and port number of your License Server:

For example:

Run the following command with the IP address and port number of your License Server:

For example:

Server

Failed to create the registry key in Software\TurboFloatServer

Not the right permissions to alter the registry; run the command in an elevated command prompt.

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

The server hasn't been initialized, run the command using the -i flag first.

Failed to load the product details file.

The -pdets flag isn't set, or it's not referring to a valid file (see for download links).

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

The executable has likely been invoked without the -config flag, or the -config flag is not referring to an existing file, or in an edge case, the referred .xml file isn't stored in UTF-8 character encoding.

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. See for download links.

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

The server is already (or still) running, and can't be run a 2nd time, even to deactivate. It might be installed as an auto-starting application; in that case, read here how to do uninstall it.

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

Tracking Leases

If you want to track the amount of leases, or to which computer leases have been awarded, you can automatically parse the log files present on the server:

Setting Up Clients

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.

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

Switch back to Remote Activation:

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.10"}'

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

Switch back to Remote Activation:

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.Postlab.Mac LocalLicenseServerSettings -string '{"port":1234,"ipAddress":"192.168.1.10"}'

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

Last updated