Using Zoo server from a plugin

Hi, for version 6 of Rhino, there are changes in the node licensing of plugin for using zoo server. My plugin successfully was using Zoo6 server, but the ported version for Rhino 6 doesn’t. Is there a new working example of how a plugin of Rhino 6 can connect and get a license from the zoo 6 server? Also there are newly added functions which probably we will need to implement.
I see some documentation in the header file, but going to the website shows the ‘old version 5’ approach of the licensing mechanism.

Any information will be kindly appreciated.


Hi @kvrantzaliev,

We’ve updated the C++ samples to include one on how to use Rhino’s licensing feature.

Let me know if this helps.

– Dale

Hi Dale, thanks for the update. Unfortunately I tried to open the solution, but it appears to be broken. Can you double check if the files are properly set. I am trying to build it on VS2017.

I don’t understand what this means. Are you getting an error? If so, when? (when loading the solution? When building?)

As you should be.

– Dale

HI Dale, it was my fault. Sorry for the inconvenience. I manage to get it up and running as an example.
The current licensing mechanism is much more sophisticated and is more than only requiring the connection to Zoo server, but also provide much more options.
This would mean that we will need to comply with the approach which Rhinoceros uses, i.e. Login to the profile, Enter license key as Rhino.
What happens if I press Evaluate? It takes the user the Rhino web site.
What happens if I press buy a license key? How we developer can have control on this dialog, or we can only process the Zoo license here only?


Hi @kvrantzaliev,

Yes, there are more features in the licensing system. But you don’t have to use them.

In the sample, you will see this:

BOOL CSampleWithLicensingPlugIn::OnLoadPlugIn()
  SetLicenseCapabilities(g_text_mask, g_capabilities, ON_UuidFromString(L"1ABD5EFC-2C65-11D7-B6F7-0050BABF6BC2"));

This is how you set what your plug-in is capable of.

Does this help?

– Dale

Thanks Dale, I made progress, but you also provide capabilities to handle licenses on the server of Currently all we know is how to work with Zoo 6 and store our licenses there, but some documentation on how the developers can hold plugin licenses on the cloud is much appreciated.

This is currently done for McNeel products only. Thus, you won’t want to specify the CRhinoPlugIn::license_capabilities::supports_rhino_accounts flag…

– Dale

Hi, I have managed to start using the Zoo server with the sample you provided. Despite this, there is a small problem. I have corrected setup my Zoo server, I can connect with the plugin to the server and obtain the license. The problem is that I cannot change the license type. What I mean is that when I select Options\Licenses of main Rhino App, I see my plugin listed and up and running, but if I click - “Change your license key…” nothing happens, i.e. once I have my plugin set to use Zoo server, there is no way to set it back to use a local license key. Can you test this scenario if there is something wrong on my side or there is a bug.

Thanks in advance.

  • Kosta

Hi @kvrantzaliev,

I’m hoping to have time to look into this by the end of the week.

Sorry for the delay.

– Dale

Hi @kvrantzaliev,

Sorry for the delay - let me know if this helps.

– Dale

Hi @dale,

I have exactly the same issue as @kvrantzaliev, where the “Change your licence key” button doesn’t do anything. I scoured through the API but couldn’t find anything related to that button. I’m actually working on Rhino6. Can you please help? Thanks.


Hi @wsw.sims,

Sorry for missing this. Are you still struggling with this? Have you tried the SDK sample?

– Dale

Hi Dale,

Yeah, it still doesn’t work properly as a Single licence. I’ve reverted back to using Zoo server network licensing, which seems to be more stable.