Skip to content

Floating licence

activatelease

Congratulations on your purchase of a floating licence for Ragdoll Dynamics!

This page will help you get set-up with a licence server, on-premise, and instruct Ragdoll to "lease" a licence from it. The server itself can run on any machine and any platform, including Windows, Linux and MacOS, so long as it is accessible from the machine running Ragdoll.

Test Connectivity

To test whether machine A is accessible from machine B, try ping.

ping 10.0.0.13
# Reply from 10.0.0.13: bytes=32 time=1ms TTL=117

On each platform, the procedure is the same.

  1. Download the server software
  2. Optionally edit the configuration file
  3. Activate the server with your Product Key
  4. Start it up

The server will need to remain running in order for Ragdoll to lease licences.


Linux

Here's a typical series of commands for an x64 system, look inside the .zip for alternative Linux-based platforms.

Requirements

Make sure you have unzip and wget at the ready, or use alternatives like curl and tar at your own leisure.

mkdir turbofloat
cd turbofloat
wget https://files.ragdolldynamics.com/api/public/dl/hAlavAOP/TurboFloat-Server-Linux.zip
wget https://files.ragdolldynamics.com/api/public/dl/6lMDDMdn/TurboActivate.dat
unzip TurboFloat-Server-Linux.zip
mv bin-linux/x64/turbofloatserver ./
chmod +x turbofloatserver
./turbofloatserver -a="YOUR-SERIAL-NUMBER"
./turbofloatserver -x
# Floating license server for Ragdoll Dynamics (TFS v4.4.4.0)

You can optionally pass -silent after -x for less verbosity.

No internet?

The licence server can be activated offline.

From here, you'll likely want turbofloatserver -x called automatically on reboot, such that Ragdoll and Maya can lease licences from it. The exact procedure varies between Linux distributions and company preferences, so I won't go into details here except to say that systemd is a common option.

More Details


Windows

Here's what you need to do in order to run the licence server on the Windows platform.


Download

You'll need both of these.

Unzip into a folder that looks like this.

image


Activate

Next we'll need to activate the server.

TurboFloatServer.exe -a="YOUR-SERIAL-NUMBER"

There should be no output from the command, unless there's a problem.

No internet?

The licence server can be activated offline.

Now you're ready to launch the server!


Start

This next command will launch the server in the current PowerShell or cmd.exe terminal you are in.

TurboFloatServer.exe -x
# Floating license server for Ragdoll Dynamics (TFS v4.4.3.0)

Test

This is a good place to test Ragdoll from within Maya, so scroll to the Maya section, test it out and then come back here to finish things up.

All good? Great.

In order for the server to run in the background, and restart itself whenever the machine reboots, you'll need to install it as a "service".

TurboFloatServer.exe -i
# 2021-05-12, 07:47:26 <error>: OpenSCManager failed (5)

To do that, you'll need to launch PowerShell/cmd as Administrator.

# As Administrator
TurboFloatServer.exe -i
# 2021-05-12, 07:48:40 <notification>: Service installed successfully.

From here you can try launching Ragdoll Dynamics in Maya to see whether it manages to successfully lease a licence.

More Details


Maya

With a licence server running, your next step is having Ragdoll connect to it.

On each platform, the procedure is the same.

  • Set RAGDOLL_FLOATING
  • Load plug-in

Example

# From Python
os.environ["RAGDOLL_FLOATING"] = "127.0.0.1:13"
cmds.loadPlugin("ragdoll")
# From an environment like bash
export RAGDOLL_FLOATING=127.0.0.1:13
maya

The format of RAGDOLL_FLOATING is <ip-address>:<port-number>.


Python

Just like with a node-locked licence, you can control the leasing of licences via Python.

from ragdoll import licence

# Activate this machine
licence.request_lease()

# Deactivate this machine
licence.drop_lease()


FAQ

Let's cover some common scenarios.


Can I activate my server offline?

Yes.

Like node-locked licences, the floating licence server can be activated without an internet connection to the machine running the server.

The procedure is the same on each platform.

  1. Generate an activation request
  2. Send activation request to licencing@ragdolldynamics.com
  3. Activate with activation response
./turbofloatserver -areq="~/ActivationRequest.xml" -a="YOUR-SERIAL-NUMBER" 
./turbofloatserver -aresp="~/ActivationResponse.xml" -a

Coming up

This will be automated in a later release, for activation/deactivation through a Web UI.


What happens when my server is offline?

Leasing will attempt to connect for about 2 seconds until giving up. During that time, Maya may appear frozen.


What happens when my server goes offline?

Leasing is re-done once every 30 minutes.

30 minutes is the default value (see below), which means that if the server goes down whilst an artist is using it, the solver will be disabled within 30 minutes.

The duration can be adjusted, however it is a balance since the time is also how long it takes for the server to free a realise as a result of a Maya crash.


Can I change the port used by the server?

Yes.

The default port is 13 and can be edited via the TurboFloatServer-config.xml file residing in the same directory as the server executable.

<?xml version="1.0" encoding="utf-8"?>
<config>
    ...
    <bind port="666"/>
    ...
</config>


What if I have multiple serial numbers?

1 serial number, 1 server.

Each server can all run on one machine, they just need their own unique port number. From there, provide each of your clients with the full server address to the pool it should lease licences from.

For example.

# Render farm
RAGDOLL_FLOATING=10.0.0.4:601

# Artist workstations
RAGDOLL_FLOATING=10.0.0.4:602


Can I disable the splash screen?

Yes.

Consumers of floating licences generally won't need to manage licenses themselves, and so the startup dialog can be avoided altogether for a smoother experience when inside of Maya.

export RAGDOLL_NO_STARTUP_DIALOG=1
maya


What happens to a lease when Maya crashes?

A lease is automatically dropped upon unloading the plug-in or shutting down Maya. In the event of a Maya crash, a lease will automatically drop after 30 minutes per default.

The time can be edited via the configuration file; a lower time means more compute and file resources are consumed on the server, the lowest value is 30 seconds.

<?xml version="1.0" encoding="utf-8"?>
<config>
    ...
    <lease length="30"/><!-- seconds -->
    ...
</config>


Can I fall back to a node-locked licence?

Yes.

Remove the RAGDOLL_FLOATING environment variable and reload the plug-in or restart Maya to attempt activation of a node-locked licence.


Can I activate my server on a Virtual Machine?

No.

The server cannot distinguish between two virtual machines which would make it possible to activate an endless amount of them with their own duplicate pools of licences.

Although the server cannot run on a VM, clients can. E.g. running Docker for testing in a continous-integration environment or automation for simulation baking or rendering etc.


Can I monitor my licence server?

Yes.

With a logging level set to "notification", you'll get real-time output from the server whenever a lease is requested and dropped, including..

  1. Time of event
  2. Expiry time
  3. IP
  4. Username
  5. PID (Process ID)

The expiry is when the lease will be renewed. Normally not something you need to worry about, unless Maya crashes. This is then the time it'll take the server to realise the lease has been freed.

<?xml version="1.0" encoding="utf-8"?>
<config>
    ...
    <log file="tfs-log.txt" level="notification"/>
    ...
</config>
2021-05-12, 11:58:47 <notification>: New connection from IP: ::ffff:127.0.0.1
2021-05-12, 11:58:47 <notification>: New lease assigned (marcus, 1, IP=::ffff:127.0.0.1, PID=14328). Expires: 2021-05-12 11:28:47 (in UTC). Used / Total leases: 1 / 1
2021-05-12, 11:58:51 <notification>: New connection from IP: ::ffff:127.0.0.1
2021-05-12, 11:58:51 <notification>: Lease was released by client (marcus, 1, IP=::ffff:127.0.0.1, PID=14328). Used / Total leases: 0 / 1

A Python and web interface to this will be part of a future release, but the formatting can be relied upon for building your own monitoring mechanism.


What does the server say when a lease request is rejected?

With level="notification" it'll say this.

2021-05-16, 14:52:50 <notification>: License lease request rejected because no more free slots, numTotalLics=9, pkey=YOUR-SERIAL-NUMBER

Last update: 2021-05-27