Licensing a render farm
Offline activation at rack scale — seats on headless nodes without a browser in sight.
Render nodes are the worst-case licensing client: no browser, often no internet, imaged from a common template. This guide runs the offline activation flow at rack scale.
Do not bake an activated seat into a machine image. The license fingerprint covers GPU and motherboard — clones fail validation on first cook and show up in your dashboard as conflicting activations.
The flow
Generate requests on every node
Photon and Matter ship a headless license tool next to the DLL — scriptable over your farm's remote execution:
& "C:\Program Files\Derivative\TouchDesigner\Plugins\PhotonRTXPT\nops-license.exe" `
request --out \\filer\licenses\requests\$env:COMPUTERNAME.requestBulk-upload in the dashboard
Dashboard → Seats → Offline activation accepts a zip of
request files and returns a zip of seat.license files, one per node,
named by machine.
Distribute the license files
Copy-Item "\\filer\licenses\issued\$env:COMPUTERNAME.license" `
-Destination "C:\Program Files\Derivative\TouchDesigner\Plugins\PhotonRTXPT\seat.license"Nodes pick the file up on the next TouchDesigner launch — no reboot.
Verify from the farm manager
The tool exits nonzero on an unlicensed node, so your farm's health check can gate dispatch:
& "...\nops-license.exe" status --quiet # 0 = licensedSwapping hardware
GPU replacement invalidates that node's fingerprint. Deactivate the seat in the dashboard before the swap and reissue afterwards — takes two minutes and avoids the conflicting-activation flag.
Farm seats are ordinary seats — same price, same dashboard. If a node dies mid-season, dashboard-deactivate it and the seat is immediately free for the replacement.