configuring iLok license server clients

cgeorge
New Contributor III

We use iLok's license server to serve our Pro Tools licenses. Currently, to connect the computer to the license server you have to log in and manually set it up, even if the server is on the same subnet as the client. iLok doesn't provide any help with configuring the license server IP via typical means of placing a file in a folder to point the client to the server, or CLI command to point it to a server, and basically told me the only way to do it was manually. Obviously this gets old after the first 20 computers.

I've tried sniffing around using Composer on the client while configuring it to see if I can isolate the file(s) it stores server info in. I did find a file that changed (along with a couple of files placed by the installer that look associated), but copying that file to a computer with iLok License Manager installed and then rebooting didn't pre-populate the server entry in iLok License Manager. There is a way to export a config files from the server, but it still needs to manually loaded in the client's iLok software, so that's a non-starter.

Has anyone found a successful way to get iLok talking with a license server without manual intervention?

12 REPLIES 12

Qwheel
Contributor II

Staying tuned - I’m going to be doing the same shortly!

Ericbolen
New Contributor

Is the The iLok must be connected to the host computer at all times? myPennMedicine Account

cgeorge
New Contributor III

with a floating license, what Avid calls multiseat, the iLok with the multiseat license is connected to the license server computer. The clients don't need a dongle once configured to connect to the license server.

Qwheel
Contributor II

The way I understand it is, license server app will be on a machine with iLok connected, client machines won’t have a license on them (typical floating license system)

There must be some information stored somewhere, either in /Library or /Users/Library.

 

I figure it’ll be a text file or a .plist.

if it’s a .plist you can use a ‘defaults write’ to input the server name/IP address.

if it’s a text file, maybe it can be deployed via composer or copied from a local account that has had the server details entered via the gui.

You’re doing what I’d do by the sounds of it though! Haven’t a clue how the license server app will behave until we get the software.

Also, we have a group of Studios that’ll need to be configured to pull license from a second server (Pro Tools Ultimate/HD) I’m told the two versions require their own servers otherwise there’ll be no control over which version is collected by the client.

im hoping we don’t need to go down the route of static IP addresses as this’ll delay the window we have to deploy the software.

 

bah!

cgeorge
New Contributor III

the file that stores the license server info is com.paceap.eden.floating.v1.client.prefs located in /Library/Preferences/. there is also these two files: com.paceap.eden.clientdb.v1.01.sdb and com.paceap.eden.floating.v1.server.prefs, but they didn't change when the client's iLok software gets pointed to the server. 

there is a preference file that was changed in the ~/Library/Preferences/ folder, but it doesn't store license server info. 

cgeorge
New Contributor III

ok, I thing I figured it out: 

FOR SETUP:

before beginning, install ilok license manager on a computer, and connect the license server(s) as necessary.

on that computer, collect:

copy from /Library/Preferences/

com.paceap.eden.clientdb.v1.01.sdb
com.paceap.eden.floating.v1.client.prefs
com.paceap.eden.floating.v1.server.prefs

copy from ~/Library/Preferences/

com.paceap.eden.iLokLicenseManager.plist
com.paceap.iLokLicenseManager.plist

On unconfigured computers:

1. install ilok license support, either standalone or part of a larger install pkg (like Pro Tools) BUT DO NOT OPEN ILOK
2. copy to /Library/Preferences/ overwriting any existing files

com.paceap.eden.clientdb.v1.01.sdb
com.paceap.eden.floating.v1.client.prefs
com.paceap.eden.floating.v1.server.prefs

3. copy to the local admin account's /Library/Preferences/ (aka ~/Library/Preferences/) overwriting any existing files

com.paceap.eden.iLokLicenseManager.plist
com.paceap.iLokLicenseManager.plist

4. Immediately restart

 

This has worked for me in limited testing. I'll do more tomorrow, including scripting.

mhinsz
New Contributor III

I believe you only need to change the /Library/Preferences/com.paceap.eden.floating.v1.client.prefs
Configure your network IP, username etc. via iLok License Manager
Package the file via Composer - setting 
Owner: root, Read Write
Group: wheel, Read
Everyone: Read
644 permissions

Use a post-install bash script to unload and reload the service:

launchctl unload /Library/LaunchDaemons/com.paceap.eden.licensed.plist
sleep 10
launchctl load /Library/LaunchDaemons/com.paceap.eden.licensed.plist

Sorry, I'd like to credit wherever I found this, but that part isn't in my notes.

Now if I could build an EA to read that .prefs file

jschlimmer
New Contributor III

Update for newer OS (Sonoma)

mhinsz's solution still works, but the launchctl commands need to be changed to use bootout/bootstrap.

  • On your server, export a server.config.prefs file
  • On a test computer, import that file to add the server
  • Copy com.paceap.eden.floating.v1.client.prefs out of /Library/Preferences on your test machine and package it the same way as mhinsz did.

I used whitebox packages, but composer works just fine too.

/Library/Preferences/com.paceap.eden.floating.v1.client.prefs

Owner: root, Read Write
Group: wheel, Read
Everyone: Read
644 permissions

(-rw-r--r--)

 

launchctl bootout system /Library/LaunchDaemons/com.paceap.eden.licensed.plist
launchctl bootstrap system /Library/LaunchDaemons/com.paceap.eden.licensed.plist

 Make sure iLok License Manager.app is restarted as well. (Or the computer rebooted)

If you are including those commands in a postinstall script, in your package. You must include a hashbang.

#!/bin/zsh

launchctl bootout system /Library/LaunchDaemons/com.paceap.eden.licensed.plist
launchctl bootstrap system /Library/LaunchDaemons/com.paceap.eden.licensed.plist

 

MCerano
New Contributor II

Hello,

I've tried this out using all of the processes noted above, however this doesn't seem to have worked even after rebooting the machine.

I can see that it placed the com.paceap.eden.floating.v1.client.prefs file on the desktop of my test machine but upon launching Pro Tools it opens Avid Link and wants to sign in for activation.

When I close Avid Link and try to reopen Pro Tools, I get:
"iLok Server error: UnexpectedException Error message is: TException: connect() failed: No such file or directory.

I am running this on Pro Tools v 2024.3.1

mhinsz
New Contributor III

You'll need to package the prefernce file so it exists in :

/Library/Preferences/com.paceap.eden.floating.v1.client.prefs

and not the Desktop.

MCerano
New Contributor II

Thank you, I repackaged it and it all works now. 👍