© Tweak Software

RV Client License Management

Overview

PLEASE NOTE: This page concerns "traditional" RV licensing, either node-locked or floating. As of RV6, you can also license RV via Shotgun. Some answers to common questions:

  • The current licensing style is always configurable via the License Manager item on the File menu.

  • The RV (and RV-SDI) version 6.0 executables support both licensing systems (standard Tweak licensing and licensing via Shotgun).

  • RV-SDI can be licensed via Shotgun only at sites using "Super Awesome" support.

  • There’s no requirement that a given site use only one style of licensing.

  • RV licensed via Shotgun is functionally identical to RV licensed the usual way.

  • A user can switch from Tweak-standard to via-Shotgun licensing and back (the choice is stored as a preference).

  • At a facility where standard Tweak RV licensing is set up and working, there will be no change when the user runs RV6 (they will be able to try out via-Shotgun licensing by selecting a menu item if they wish).

  • Licensing RV via Shotgun does not produce any requirement to use Shotgun for other purposes. For example, users may license RV via Shotgun, but not use Screening Room.

  • A user who authenticates RV via Shotgun username/passwd once, and then runs RV at least once a week, will not have to authenticate again. (The original authentication will be refreshed on each run, assuming that the Shotgun server is accessible, and the username/passwd is still valid).

  • Similarly, an RV user who authenticates via Shotgun will be able to use RV "offline" (when the Shotgun server is unavailable) for 30 days, starting from the most recent "online" use.

  • Using RVIO to export from RV is allowed as long as RV is licensed (with any licensing scheme). Usage of RVIO "on the farm" (or otherwise unassociated with any local RV process) still requires a standard Tweak license.

  • Intro video and additional Shotgun setup details available here.

If not licensing via Shotgun, RV requires an accessible license file (called license.gto) in order to run. The license file either directly provides a license or indicates one or more servers from which to obtain one. Each platform has a different set of places in which RV tries to find a license file. If it is unable to find it, it will complain and exit immediately.

Specifying License File Location

Each platform has a set of default license file locations, as described below, but these can be overriden either from the command line with the "-lic" command-line flag, or by setting an environment variable: either a per-application location (for example RV_LICENSE_FILE), or TWEAK_LICENSE_FILE which will apply to all Tweak applications (note that a license file can contain any number/kind of licenses, or in fact a pointer to a license server which can serve any number/kind of licenses).

The argument to the "-lic" command line flag (or the contents of the environment variable) must be the complete path to the license file, which can have any name (as long as the extension is ".gto").

OS X

On OS X, RV looks in four separate places to find the license file:

  1. In your home directory at ~/Library/Application Support/RV/license.gto

  2. In the system directory at /Library/Application Support/RV/license.gto

  3. On the Network at /Network/Library/Application Support/RV/license.gto

  4. Inside the Application at RV.app/Contents/Resources/license.gto (for example /Applications/RV.app/Contents/Resources/license.gto)

RV will look for the file in the order above. The first license it requires is the one which it will use.

When RV starts without a license, it will open the License Installer application. This application will merge licenses and/or add a server license if needed. The installer always adds the server license last so that machine locked licenses are used first. When you save the license file it is saved in two places:

  1. Inside the application at RV.app/Contents/Resouces/license.gto

  2. In the system directory at /Library/Application Support/RV/license.gto

The installer may require authentication.

Linux

On Linux, RV looks for the license file in three locations:

  1. In your home directory at ~/.rv/license.gto.

  2. In the current directory.

  3. Inside the RV package directory at etc/license.gto (for example /usr/local/rv-install/etc/license.gto).

RV will look for the file in the order above. The first license it requires is the one which it will use.

When RV starts without a license, it will open the License Installer application. This application will merge licenses and/or add a server license if needed. The installer always adds the server license last so that machine locked licenses are used first. When you save the license file it will be saved inside the RV package directory at etc/license.gto.

Windows

On Windows, RV looks for the license file these two locations:

  1. In your home directory at $HOME/AppData/Roaming/RV/license.gto.

  2. Inside the RV package directory at etc/license.gto (for example C:/Program Files (x86)/Tweak/RV-3.12.20-32/etc/license.gto).

RV will look for the file in the order above. The first license it requires is the one which it will use.

When RV starts without a license, it will open the License Installer application. This application will merge licenses and/or add a server license if needed. The installer always adds the server license last so that machine locked licenses are used first. When you save the license file it will be saved inside the RV package directory at etc/license.gto.

License File Format

The license file is a text GTO file which contains any number of machine locked licenses and/or locations of servers to contact to find a license. RV will ignore licenses which do not apply to the machine it is running on, so its OK to have many machine locked licenses in a single file. A typical license file will look something like this:

GTOa (3)

c498a8f831da62168d21065af1bedbac0038273a : license (1)
{
    license
    {
        string package = "rv"
        string version = "any"
        string expires = "permanent"
        int count = 1
        string hostID = "00:0A:95:AE:F9:E0"
        string issued = "12-Jul-2006"
        int duration = 0
        string reason = "web"
        string licensee = "Jack Foo Bar"
        string email = "jackfoobar@myemail.com"
        string machine = "brutus"
        string os = "any"
    }
}

In this case, there is a single machine locked license. The first line of the file identifies the file type and is not part of the license. Some of the information is for the licensee’s use only (machine name, etc). Multiple licenses in one file would have the form:

GTOa (3)


c498a8f831da62168d21065af1bedbac0038273a : license (1)
{
    license
    {
        ... etc ...
    }
}

q431a8f831da62168d21065af1bedbac0038c421 : license (1)
{
    license
    {
        ... etc ...
    }
}
... etc ...

Here each block starting with the long hash is the start of a license for an individual machine. If the file is indicating to the client that it should look up a server, it would look like this:

GTOa (3)

server : floatinglicense (1)
{
    id
    {
        string hostname = "licenseserver.ourdomain.local"
        int port = 5445
    }
}

In this case licenserver.outdomain.local would be the name of the machine running the license server that RV should contact to obtain a license. A GTO file can contain any combination of machine locked licenses and server floating licenses.

The first license in the file that works is the one used. If you wish to have both machine locked and floating licenses in one file, the best behavior is usually obtained by putting the machine locked licenses before the server. This way the dedicated licenses are used up before the floating licenses.