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?
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.
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.
ok, I thing I figured it out:
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/
copy from ~/Library/Preferences/
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
3. copy to the local admin account's /Library/Preferences/ (aka ~/Library/Preferences/) overwriting any existing files
4. Immediately restart
This has worked for me in limited testing. I'll do more tomorrow, including scripting.
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
Use a post-install bash script to unload and reload the service:
launchctl unload /Library/LaunchDaemons/com.paceap.eden.licensed.plist
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