<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Custom node-locked licensing: Bypassing checks for Team Renderer, Clients, Server safely?]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I am using a custom node-locked licensing system (2 Nodes) for my Cinema 4D plugin. Since Team Render clients running on other machines shouldn't consume a license activation, I want to bypass the license check on startup for them.</p>
<p dir="auto">My plan is to check  <code>c4d.isClient()</code>  or rather, <code>c4d.GeGetVersionType()</code> right before the licensing routine and skip it if it returns true.</p>
<p dir="auto">Example:</p>
<pre><code>client = c4d.GeGetVersionType()
if client == c4d.VERSIONTYPE_TEAMRENDER_CLIENT or client == c4d.VERSIONTYPE_TEAMRENDER_SERVER:
        print("yes free rendering for all")
        return True
</code></pre>
<p dir="auto"><strong>My question:</strong> Is <code>c4d.isClient()</code> or <code>c4d.GeGeVersionType()</code> reliable and secure against spoofing, meaning a user couldn't just fake this flag on a normal Cinema 4D master instance to bypass the node-lock? Or is there a better way to handle this for Team Renderer, Clients and Server?</p>
<p dir="auto">Thanks!</p>
]]></description><link>http://developers.maxon.net/forum/topic/16431/custom-node-locked-licensing-bypassing-checks-for-team-renderer-clients-server-safely</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 16:38:31 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum/topic/16431.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Jul 2026 16:10:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Custom node-locked licensing: Bypassing checks for Team Renderer, Clients, Server safely? on Fri, 24 Jul 2026 14:31:24 GMT]]></title><description><![CDATA[<p dir="auto">Hey <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/thomasb">@<bdi>ThomasB</bdi></a>,</p>
<p dir="auto">while I understand the direction, your question is a bit ambiguous. What would you consider '<em>reliable and secure against spoofing</em>'? This very much a question of perspective. Everything can be faked and altered with enough knowledge and determination when the data is local. The functions you mention are based on our licensing API (and are also a bit outdated, you should use the newer endpoints). This API is used by Maxon products itself to verify licenses and is considered secure enough for that purpose. However, nothing prevents a user from patching the Cinema binary so that these functions return whatever the user wants. But that is of course expert knowledge domain.</p>
<p dir="auto">I would recommend using the relative new <a href="https://developers.maxon.net/docs/py/2026_3_0/manuals/manual_licensing.html" target="_blank" rel="noopener noreferrer nofollow ugc">Licensing Manual</a> which also explains how to identify the current product and how to find out how many licenses of a given type are available in a user account. In the video I also touch the subject of hardening for plugin licenses, the TLDR is: Do not over-do it, it is not worth the effort. Everything can be cracked.</p>
<p dir="auto">Cheers,<br />
Ferdinand</p>
]]></description><link>http://developers.maxon.net/forum/post/77272</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77272</guid><dc:creator><![CDATA[ferdinand]]></dc:creator><pubDate>Fri, 24 Jul 2026 14:31:24 GMT</pubDate></item></channel></rss>