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.
Windows, Linux and MacOS
The server can run on a different operating system than your workstations. For example, a common scenario is having the server running on Linux and workstations run on a combination of Windows, MacOS and Linux.
On each platform, the procedure is the same.
- Download the server software
- Optionally edit the configuration file
- Activate the server with your
- Start it up
The server will need to remain running in order for Ragdoll to lease licences.
Here's a typical series of commands for an x64 system, look inside the .zip for alternative Linux-based platforms.
Make sure you have
wget at the ready, or use alternatives like
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 v126.96.36.199)
You can optionally pass
-xfor less verbosity.
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.
Here's what you need to do in order to run the licence server on the Windows platform.
Inside of this file you will find this.
.xml file with a
port you would like to use.
Make note of this port number as you will need it later when connecting to it from Maya.
If you need a 32-bit version of the server, find the appropriate
TurboFloat binaries here.
Next we'll need to activate the server. Open a
cmd.exe or PowerShell prompt and type in the following.
There should be no output from the command, unless there's a problem.
The licence server can be activated offline.
Now you're ready to launch the server!
This next command will launch the server.
TurboFloatServer.exe -x # Floating license server for Ragdoll Dynamics (TFS v188.8.131.52)
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.
At this point, you can optionally have the server restart itself and run in the background by installing 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.
With a licence server running, your next step is having Ragdoll connect to it.
On each platform, the procedure is the same.
- Load plug-in
# 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
Failed to initialise floating licence
If this message appears in your Script Editor upon loading the plug-in, take a closer look at your Output Window on Windows or terminal on Unix.
# Error: ragdoll._install_floating() - Failed to initialise floating licence, error code '1' #
Could not load ragdollfloat.dll
Windows users may experience this issue, which indicates a broken install. In your distribution, you should have seen both a
ragdollfloat.dll. Make sure this file exists, else contact us and we'll help you sort it.
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()
Let's have a look at a few common errors and how to solve them.
Failed to Save Activation Request
This can happen when attempting to generate an activation request for offline activation.
./turbofloatserver -a="KWVT-U5RS-..." -areq="/bad/path/request.xml" # <error>: Failed to save the activation request file. # <error>: Error code 0x1. Contact support or your system administrator.
The path given, in this case
/bad/path/request.xml might not be writable. Try a different path.
Failed to Load Product Details
This can happen when attempting to activate a floating licence
./turbofloatserver -a="KWVT-U5RS-..." # <error>: Failed to load the product details file. # <error>: Failed to load the settings.
turbofloatserver executable wasn't able to find the
TurboActivate.dat file. This file should reside in the same folder as
turbofloatserver and can be downloaded from here.
Let's cover some common scenarios.
How can I test connectivity between my machines?
To test whether machine A is accessible from machine B, try
ping 10.0.0.13 # Reply from 10.0.0.13: bytes=32 time=1ms TTL=117
Can I limit the internet access of my licence server?
If you're in a secure network, you may want to limit the licence server to the least amount of external access. You can do so by "whitelisting" it in your firewall, using this URL and port number.
More details here: https://wyday.com/limelm/help/turbofloat-server/
Can I activate my server offline?
Lifetime licences, yes. Monthly licences, no.
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.
- Generate an activation request from the computer running the licence server
- Go to https://ragdolldynamics.com/offline
- Activate using the response from the same computer
Here's how to generate the request.
./turbofloatserver -areq="/path/to/ActivationRequest.xml" -a="YOUR-SERIAL-NUMBER"
And here's how to apply the response.
./turbofloatserver -aresp="/path/to/ActivationResponse.xml" -a
Take care to replace the path in the above commands, and use an absolute path rather than anything relative or special such as
turbofloatserver command can get a little cranky about those things.
Failed to Deactivate Old Product Key
Can happen during offline activation if your local machine is activated twice.
./turbofloatserver -areq="/path/to/ActivationRequest.xml" -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" ./turbofloatserver -areq="/path/to/ActivationRequest.xml" -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" # Failed to deactivate old product key.
If this happens, locally deactivate your machine and try again.
./turbofloatserver -deact ./turbofloatserver -areq="/path/to/ActivationRequest.xml" -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"
Failed to Parse the Configuration XML File
Can happen if the activation request is passed in as a response.
- Activation Request is provided by
turbofloatserverand is uploaded to https://ragdolldynamics.com/offline
- Activation Response is provided by https://ragdolldynamics.com/offline and passed to
./turbofloatserver -areq="/path/to/ActivationRequest.xml" -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"
Should instead be:
./turbofloatserver -areq="/path/to/ActivationResponse.xml" -a="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"
Note the "Response" and not "Request"
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 lease as a result of a Maya crash.
Can I change the port used by the server?
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="13"/> ... </config>
Can I move my licence server to a different machine?
To move a licence, you can deactivate it and then activate it again someplace else.
This will deactivate the server. The same can be done if your licence server is offline, by passing a filename to the command.
Open this file and paste the contents of it into the offline deactivation wizard here.
What if I have multiple serial numbers?
Complete, Unlimited and Batch have their own serial numbers and each serial number needs its own server.
- Each server needs to be a physical machine, but can under certain circumstances be allowed to run within a virtual machine; contact us if this is you.
- Each server needs their own unique address; they cannot run on the same machine.
From there, provide each of your clients with the full server address to the pool it should lease licences from.
# Render farm RAGDOLL_FLOATING=10.0.0.4:601 # Artist workstations RAGDOLL_FLOATING=10.0.0.4:602
Can I disable the splash screen?
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
- See Environment Variables for details
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?
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?
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?
With a logging level set to "notification", you'll get real-time output from the server whenever a lease is requested and dropped, including..
- Time of event
- Expiry time
- 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
tfs-log.txt file is dynamically updated as users lease and drop licences, and includes mention of how many licences are in use and remaining. You can monitor the tail of this file for real-time updates, and use any tooling to parse these notifications into your own infrastructure.
What does the server say when a lease request is rejected?
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
How do I run my server in the background using systemd?
systemd is a common option for running background processes on Linux. Here's a quick run-down how to get
turbofloatserver running with it.
- Make sure you can run
- Make note of the full path to your
turbofloatserver, here we will assume
Ok, with that out of the way, create a new file called
/etc/systemd/system/turbofloat.service with the content below.
[Unit] Description=TurboFloat server for CI After=network.target [Service] Type=simple User=root WorkingDirectory=/root ExecStart=/turbofloat/turbofloatserver -x -s Restart=on-failure [Install] WantedBy=multi-user.target
Replace with your Path
Here we use
/turbofloat/turbofloatserver -x -s but your path will likely be different!
Now let's start it.
systemctl start turbofloat
You may need sudo
Unless you are logged in as a root/administrator user, you may need to use
sudo with this command. E.g.
If there are no complaints, we're set to have this automatically run in the background whenever the computer restarts.
systemctl enable turbofloat
And that's it. You should now have access to this server in the exact same way as you did when calling
turbofloatserver -x manually.