Hedge
  • Welcome 👋
  • Arctic
    • Requirements
    • Upgrades
    • Releases
    • Questions
    • Need help?
  • Canister
    • Installation
      • macOS
      • Windows
    • Tape Media
    • Features
      • Formatting
      • Archiving
      • Spanning
      • Retrieving
      • Queuing
      • Catalogs
      • Tape Library Manager
      • Connect
      • Logs & Manifests
    • Licensing
    • Firmware
    • Releases
    • Requirements
    • Troubleshooting
    • Questions
    • Beta Track
    • Need help?
  • Connect
  • EditReady
    • Installing
    • Supported Formats
    • Getting Started
    • Previewing Files
    • Metadata
    • Converting Media
      • Additional Features
      • Custom Presets
      • Trimming Clips
      • Joining Files
      • Naming Your Files
      • Rewrapping
    • Connect
    • Settings
      • General
      • Advanced
    • Automation
    • Upgrades
    • Requirements
    • Releases
    • Questions
      • How can EditReady prep my source media for immediate use in Media Composer?
    • Need help?
  • EditReady Server
    • Releases
  • FoolCat
    • Overview
    • Color Conversion
    • Supported Formats
    • Automation
    • Offload Report Creator
    • Questions
    • Requirements
    • Releases
  • Hedge
    • Releases
    • Moving From Hedge to OffShoot
  • Mimiq
    • Getting Started
    • Bin Locking
    • Workspaces
      • Installing macFUSE
    • Deployment Options
    • Media Composer & Mojave
    • Requirements
      • Avid's Requirements
    • Releases
    • Troubleshooting
    • Questions
    • Beta Track
    • Need help?
  • OffShoot
    • Overview
    • Features
      • Verification
      • Ingest Browser
      • Labels
      • Elements
      • Organization
      • Duplicate Detection
      • Queuing
      • Stop & Resume
      • Cascading Copies
      • S3 Transfers
        • Configuring Connections
      • Logging
      • Connect
      • Date & Time
      • Floating Licenses
      • Automation
        • Scripting
          • Event Log
          • Events
            • OffShoot Started
            • Disk Added
            • Disk Removed
            • Disk Busy
            • Disk Idle
            • Disks Idle
            • Transfers Added
            • File Copy Completed
            • Verification Issue
        • API
        • OffShoot Helper
          • Set Window Layout
        • Example Scripts
          • Transfer Reports
          • Move Transfer Logs
          • Move Foolcat PFD reports
          • Auto-set Destinations
          • Auto-set Preferences
          • Automated Transfers
          • Delete MHL files
          • Slack Notifications
          • Send Email Notifications
          • ZCAM video stitcher
          • Cascading copy
          • Watch Folder
          • Set Finder Tags
    • Integrations
      • Codex
      • EditReady
      • Finder & Explorer
      • FoolCat
      • Frame.io
      • iconik
      • ParaShoot
      • ProGrade
      • Scratch
    • Requirements
    • Releases
    • Questions
    • Need help?
    • Beta Track
    • Solo
  • PostLab
    • Getting Started
    • Supported Apps
    • Supported Storage
    • Features
      • Team Bundles
      • Collections
      • Versioning
    • Requirements
    • Releases
    • Troubleshooting
    • Questions
    • Need help?
    • Beta Track
  • ScopeBox
    • Installing
    • Application Overview
    • Sources
    • ScopeLink
      • Installation and Configuration
      • Troubleshooting
    • Palette Overview
    • Palette Types
      • Audio Meters
      • Channel Plot
      • CIE Plot
      • HML Balance
      • Luma and RGB TimeTrace
      • Luma Histogram
      • Preview
      • RGB Histogram
      • RGB Parade
      • Surround Meters
      • Timecode
      • Vectorscope
      • Waveform
      • YCbCr Parade
    • Stills and Targets
    • Layouts
    • Licensing
    • Upgrades
    • Releases
    • Questions
  • General
    • Downloads
    • Trials
    • Demo Mode
    • Purchasing
      • Students and Non Profits
      • Quotes, POs, and Invoices
      • Refunds
      • Professional Services
    • Licenses
      • The License Manager
      • License Types
      • Local License Server
      • Activating
      • Deactivating
      • Extending
      • Merging
      • OS Updates
      • Licensee Changes
      • VMs & Hypervisors
      • Root Certificates
      • Network Adapters
      • Network Requirements
      • Questions
    • Hedge Funds
    • Certifications
    • Policies
      • Sharing Files
    • Company Details
      • Terms & Conditions
      • Privacy Policy
      • EULA
    • Press
  • Need help?
Powered by GitBook
On this page
  • Preliminaries
  • Converting Your License
  • Setting Up The Server
  • Requirements
  • Preparation
  • Enabling The Executable (macOS)
  • XML Configuration
  • Installing The Server
  • License Changes
  • Troubleshooting
  • Tracking Leases
  • Setting Up The Client
  • Troubleshooting
Export as PDF
  1. General
  2. Licenses

Local License Server

Last updated 5 days ago

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. 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.

  • 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 priviliges

  • An internet connection for activation and daily license checks.

  • Windows 10 or newer, or Windows Server 2022

  • 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:

  1. Download and install the Local License Server application:

  • 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.

  • Extract the zip and move the folder to your Applications folder

  • Ensure you have the following files in the folder:

    • The LocalLicenseServer executable

    • LocalLicenseServer.xml

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

  • Extract the contents to a directory of your choice, e.g., C:\LocalLicenseServer

  • Ensure you have the following files in the directory:

    • LocalLicenseServer.exe

    • 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

  • Open Terminal.app

  • chmod +x /Applications/LocalLicenseServer/LocalLicenseServer

  • Go to Finder, and you'll see the file's icon to have switched:

  • Right-click the LocalLicenseServer file and select Open

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.

XML Configuration

  1. Open LocalLicenseServer.xml in a plain text editor

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

  3. Set the log location (required for Linux and MacOS): <log file="tfs-log.txt" level="warning" />

  4. Save the configuration file

Open LocalLicenseServer.xml in a plain text editor:

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

  • It's mandatory to set the client's lease length (in seconds). 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 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" />

Installing The Server

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

In online mode, LLS checks periodically for license updates like activation count and eligibility for updates.

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 -a="[license key]" -config="LocalLicenseServer.xml" -pdets="[app].dat" -x

Install LLS as launchdin Terminal.app using the following commands:

sudo ./LocalLicenseServer -a="[license key]" -config="LocalLicenseServer.xml" -pdets="[app].dat"
sudo ./LocalLicenseServer -a="[license key]" -config="LocalLicenseServer.xml" -pdets="[app].dat" -i -x

Run the Server as a Windows Service to ensure it's always up and running.

  • Open an elevated command prompt

  • Navigate to the Local License Server directory

  • Activate your license:

    .\LocalLicenseServer.exe -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" -config="LocalLicenseServer.xml"

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

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.

In offline mode, the LLS does not need to phone home. This has implications for the license's support window. Either the LLS you deactivate and reactivate to load license changes, or the client apps are stuck on the last version of the client supported by the license. A good way to prevent this is to get a license with a multi-year support contract instead.

To activate offline, you generate a challenge file on the server with an additional flag:

-areq="C:\Location\To\Save\ActivationRequest.xml"

Send the resulting file over to us, and we'll send you a file that you can then use to activate the LLS with:

-aresp="C:\Location\To\ActivationResponse.xml"

Note that you do need to specify your license key in the Request call but not in the Response call.

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.

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:

2025-01-09, 13:19:45 <notification>: New lease assigned (jorrit, 501, IP=::ffff:100.109.110.37, PID=60901). Expires: 2025-01-09 12:20:15 (in UTC). Used / Total leases: 3 / 10

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
Test-NetConnection -ComputerName [hostname] -Port [portnumber]

For other apps, .

Reach out
Mimiq
PostLab
reach out
https://downloads.hedge.video/licenseserver/LocalLicenseServerLinux.zip
https://downloads.hedge.video/licenseserver/LocalLicenseServerMacOS.zip
https://downloads.hedge.video/licenseserver/LocalLicenseServerWindows.zip
A macOS executable
A macOS executable