Client Configuration

Overview

The Deadline applications are typically configured on each machine using the deadline.ini file, and most of these settings are set during the Client Installation (Advanced), but they can be changed afterwards by editing the deadline.ini file directly. Some of these settings can also be updated using Auto Configuration.

This guide will cover the various settings, and how they can be configured. Note, you may wish to deploy your Linux/OS X client software onto a NFS share via the use of additional environment variable overrides.

Client Configuration Files

There is a system deadline.ini file, and there is also a per-user deadline.ini file. When the Deadline Client is checking its configuration, it will first check the per-user deadline.ini file. If a setting isn’t defined in the per-user deadline.ini file, it will fall back to the system deadline.ini file. This allows for configuration overrides at the user level.

Configuration File Locations

The system deadline.ini file can be found in the following locations. Note that the [VERSION] in the path will change based on the Deadline version number.

  • Windows: %PROGRAMDATA%\Thinkbox\Deadline[VERSION]\deadline.ini
  • Linux: /var/lib/Thinkbox/Deadline[VERSION]/deadline.ini
  • OS X: /Users/Shared/Thinkbox/Deadline[VERSION]/deadline.ini

The per-user deadline.ini file can be found in the following locations. Note that the [VERSION] in the path will change based on the Deadline version number.

  • Windows: %LOCALAPPDATA%\Thinkbox\Deadline[VERSION]\deadline.ini
  • Linux: ~/Thinkbox/Deadline[VERSION]/deadline.ini
  • OS X: ~/Library/Application Support/Thinkbox/Deadline[VERSION]/deadline.ini

Configuration File Format

The deadline.ini file has an ini file format, so there will be a [Deadline] section followed by a number of key=value pairs that represent each setting. For example:

[Deadline]
LicenseServer=@my-server
NetworkRoot=\\repository\path
LauncherListeningPort=17000
AutoConfigurationPort=17001

As mentioned above, the Deadline Client will first check the per-user deadline.ini file for a setting (represented by the key in this file). If that key isn’t present in the per-user file, the Client will then look for the key in the system deadline.ini file.

Configuration Settings

The following settings can be configured in the system or per-user deadline.ini files. Just remember that the Deadline Client will always prefer the setting in the per-user deadline.ini file over the system deadline.ini file. Note that other settings can show up in these files, but they are used internally by Deadline and are not documented here.

ConnectionType

The ConnectionType setting tells the client how to connect to the Deadline Repository. These are the supported values:

ConnectionType=Direct #Direct/Repository connection
ConnectionType=Remote #RCS connection
  • Direct: The client will connect to the Repository defined in the NetworkRoot setting.
  • Repository: Same as Direct.
  • Remote: The client will connect to the Connection Server defined in the ProxyRoot setting. It also uses the ProxyUseSSL and ProxySSLCertificate settings.
  • Proxy: Same as Remote.

NetworkRoot

The NetworkRoot setting tells the Client which Repository to connect to if the ConnectionType setting above is set to Direct or Repository.

NetworkRoot=\\repository\path

There can also be additional NetworkRoot# settings that store previous Repository paths. These paths will be pre-populated in the drop down list when changing how the Client connects.

NetworkRoot0=\\repository\path
NetworkRoot1=\\another\repository
NetworkRoot2=\\test\repository

This setting can be changed using the Change Repository option in the Launcher or the Monitor, and it can also be configured using Auto Configuration.

DbSSLCertificate

The DbSSLCertificate setting is the path to the x509 client certificate used for connecting to the Database. The default is BLANK.

DbSSLCertificate=

ProxyRoot

The ProxyRoot setting tells the Client which Connection Server to connect to if the ConnectionType setting above is set to Remote. The server part below can be the host name or IP address of a Connection Server machine, and the port is the port that it’s listening on. The server and port should be separated with a colon.

ProxyRoot=server:port

There can also be additional ProxyRoot# settings that store previous Connection Servers. These servers will be pre-populated in the drop down list when changing how the Client connects.

ProxyRoot0=server:port
ProxyRoot1=server:port
ProxyRoot2=server:port

If any of these additional proxies require an SSL certificate, the path to the certificate is appended to the end of the ProxyRoot# setting, and is separated from the server:port with a semicolon.

ProxyRoot0=server:port
ProxyRoot1=server:port;path/to/certificate.crt
ProxyRoot2=server:port;path/to/certificate.crt

This setting can be changed using the Change Repository option in the Launcher or the Monitor, and it can also be configured using Auto Configuration.

ProxyUseSSL

The ProxyUseSSL setting is only used if the ConnectionType setting above is set to Remote. If set to True, the Client will connect to a Connection Server over SSL. The default is False.

ProxyUseSSL=True

ProxySSLCertificate

The ProxySSLCertificate setting is only used if the ConnectionType setting above is set to Remote, and if the ProxyUseSSL setting above is set to True. This is the path to the SSL certificate to use to connect to a Connection Server over SSL.

ProxySSLCertificate=path/to/certificate.crt

LicenseMode

The LicenseMode setting controls whether a floating Deadline Worker license is checked out during rendering or a metered, usage-based Deadline license is used.

LicenseMode=Floating
#LicenseMode=UsageBased

This setting can be changed using the Change License Server option in the Launcher or the Worker, and it can also be configured using Auto Configuration.

LicenseServer

The LicenseServer setting tells the Client where it can get a license from.

LicenseServer=@my-server
#ip address and optional port number can be used instead
#LicenseServer=27008@192.168.0.10

This setting can be changed using the Change License Server option in the Launcher or the Worker, and it can also be configured using Auto Configuration.

LauncherListeningPort

The LauncherListeningPort setting is the port that the Launcher listens on for Remote Control. It must be the same on all Clients.

LauncherListeningPort=17000

This setting can only be changed manually.

LauncherServiceStartupDelay

The LauncherServiceStartupDelay setting is the number of seconds that the Launcher waits during startup when running as a service or daemon. This delay helps ensure that the machine has set its host name before the Launcher starts up any other Deadline applications.

LauncherServiceStartupDelay=60

This setting can only be changed manually.

SlaveStartupPort

The SlaveStartupPort setting is the port that the Workers on this machine use when starting up to ensure that only one Worker starts up at a time.

SlaveListeningPort=17003

This setting can only be changed manually.

ApplicationStartupPort

Similar to SlaveStartupPort, this setting is the port that Deadline Pulse, Balancer, License Forwarder and Web Service use to ensure only one instance of each of those applications starts up at a time.

ApplicationStartupPort=17006

This setting can only be changed manually.

AutoConfigurationPort

The AutoConfigurationPort setting is the port that the Clients use when Auto Configuring themselves. It must be the same on all Clients.

AutoConfigurationPort=17001

This setting can only be changed manually.

NoGuiMode

The NoGuiMode setting controls whether or not no GUI mode is set for all Deadline GUI based applications. The default is False.

NoGuiMode=False

This setting can only be changed manually.

SlaveDataRoot

The SlaveDataRoot setting tells the Worker where to copy its job files temporarily during rendering. The default location is the “slave” folder in the same folder as the per-user deadline.ini file. If left blank, the default location will be used as well.

SlaveDataRoot=C:\LocalSlaveData

This setting can be configured using Auto Configuration. Please see Local Data Storage with “Rendering Jobs As User” feature if you wish to relocate to a custom local data path in combination with the Worker “User Security” feature Rendering Jobs As User.

Here are the default local path locations for your Worker(s):

  • Windows: %LOCALAPPDATA%\Thinkbox\Deadline[VERSION]\slave\[WORKERNAME]
  • Linux: ~/Thinkbox/Deadline[VERSION]/slave/[WORKERNAME]
  • OS X: ~/Library/Application Support/Thinkbox/Deadline[VERSION]/slave/[WORKERNAME]

Note that the [VERSION] in the path will change based on the Deadline version number, and [WORKERNAME] represents the Worker’s name (to support multiple Workers on the same machine).

When you change the default path in the deadline.ini file, the “[WORKERNAME]” folder is always appended to the path.

Region

The Region setting can be used to ensure certain Workers are categorized by a Deadline Region as defined in the Repository Configuration. The default is BLANK.

Region=

This setting can be changed from the Launcher menu, manually and also be configured using Auto Configuration.

MultipleSlavesEnabled

The MultipleSlavesEnabled setting indicates if multiple Workers are allowed to run on this machine or not. The default is True.

MultipleSlavesEnabled=True

This setting can only be changed manually.

RestartStalledSlave

The RestartStalledSlave setting indicates if the Launcher should try to restart the Worker on the machine if it becomes stalled. The default is True.

RestartStalledSlave=True

This setting can be changed from the Launcher menu, and it can also be configured using Auto Configuration.

KeepWorkerRunning

The KeepWorkerRunning setting controls if the Launcher should automatically relaunch Worker if it is shut down or crashes. The default is False.

KeepWorkerRunning=True

This setting can only be changed manually.

LaunchPulseAtStartup

The LaunchPulseAtStartup setting controls if the Launcher should automatically launch Pulse after the Launcher starts up. The default is False.

LaunchPulseAtStartup=True

This setting can only be changed manually.

KeepPulseRunning

The KeepPulseRunning setting controls if the Launcher should automatically relaunch Pulse if it is shut down or crashes. The default is False.

KeepPulseRunning=True

This setting can only be changed manually.

LaunchBalancerAtStartup

The LaunchBalancerAtStartup setting controls if the Launcher should automatically launch the Balancer after the Launcher starts up. The default is False.

LaunchBalancerAtStartup=True

This setting can only be changed manually.

KeepBalancerRunning

The KeepBalancerRunning setting controls if the Launcher should automatically relaunch the Balancer if it is shut down or crashes. The default is False.

KeepBalancerRunning=True

This setting can only be changed manually.

LaunchWebServiceAtStartup

The LaunchWebServiceAtStartup setting controls if the Launcher should automatically launch the Web Service after the Launcher starts up. The default is False.

LaunchWebServiceAtStartup=True

This setting can only be changed manually.

KeepWebServiceRunning

The KeepWebServiceRunning setting controls if the Launcher should automatically relaunch the Web Service if it is shut down or crashes. The default is False.

KeepWebServiceRunning=True

This setting can only be changed manually.

LaunchRemoteConnectionServerAtStartup

The LaunchRemoteConnectionServerAtStartup setting controls if the Launcher should automatically launch the Remote Connection Server after the Launcher starts up. The default is False.

LaunchRemoteConnectionServerAtStartup=True

This setting can only be changed manually.

KeepRemoteConnectionServerRunning

The KeepRemoteConnectionServerRunning setting controls if the Launcher should automatically relaunch the Remote Connection Server if it is shut down or crashes. The default is False.

KeepRemoteConnectionServerRunning=True

This setting can only be changed manually.

LicenseForwarderListeningPort

The LicenseForwarderListeningPort setting controls a port override for the License Forwarder’s incoming licensing requests.

LicenseForwarderListeningPort=17004

This setting can only be changed manually.

LaunchLicenseForwarderAtStartup

The LaunchLicenseForwarderAtStartup setting controls if the Launcher should automatically launch the License Forwarder after the Launcher starts up. The default is False.

LaunchLicenseForwarderAtStartup=True

This setting can only be changed manually.

KeepLicenseForwarderRunning

The KeepLicenseForwarderRunning setting controls if the Launcher should automatically relaunch License Forwarder if it is shut down or crashes. The default is False.

KeepLicenseForwarderRunning=True

This setting can only be changed manually.

LicenseForwarderSSLPath

The License Forwarder requires an 3rd Party certificate for each application that will be used with Third Party Usage-Based Licensing. The LicenseForwarderSSLPath setting specifies the directory where the 3rd Party certificates are located. The certificates themselves will be provided to you upon purchase of third party licensing credits.

This setting is not set by default. If it is not present, the License Forwarder will ask for a valid 3rd Party certificate path when it is launched.

LicenseForwarderSSLPath=C:\3PL_Certs

This setting can only be changed manually.

IncludeRCSInLauncherMenu

The IncludeRCSInLauncherMenu setting controls if the Launcher menu has the option to launch the Remote Connection Server. The default is False.

IncludeRCSInLauncherMenu=True

This setting can only be changed manually.

IncludeWebServiceInLauncherMenu

The IncludeWebServiceInLauncherMenu setting controls if the Launcher menu has the option to launch the Web Service. The default is False.

IncludeWebServiceInLauncherMenu=True

This setting can only be changed manually.

IncludeLicenseForwarderInLauncherMenu

The IncludeLicenseForwarderInLauncherMenu setting controls if the Launcher menu has the option to launch the License Forwarder. The default is False.

IncludeLicenseForwarderInLauncherMenu=True

This setting can only be changed manually.

AutoUpdateOverride

The AutoUpdateOverride setting can be used to override the Automatic Upgrades setting in the Repository Configuration. If left blank, then it will not override the Repository Options, which is also the default behavior if this setting isn’t specified.

AutoUpdateOverride=False

This setting can be configured using Auto Configuration.

SkipPermissionCheck

The SkipPermissionCheck setting can be used to forgo checking for read/write permissions when the Deadline Client applications validate their connection to the Repository. The default is False.

SkipPermissionCheck=False

This setting can be configured using Auto Configuration.

User

The User setting is used by the Client to know which user you are when launching the Monitor or when submitting jobs.

User=Ryan

This setting can be changed using the Change User option in the Launcher or the Monitor. To prevent users from changing who they are, see the User Management documentation.

LaunchSlaveAtStartup

The LaunchSlaveAtStartup setting controls if the Launcher should automatically launch the Worker after the Launcher starts up. The default is True.

LaunchSlaveAtStartup=False

This setting can be changed from the Launcher menu, and it can also be configured using Auto Configuration.

IgnoreSync

The “Keep Local Repository Cache” setting in Launcher. If enabled, Deadline applications on this machine that are not connected to a Remote Connection Server (RCS) will keep a local cache of some Repository files instead of pulling them directly from the Repository (scripts, plugins, etc). Note that a local cache will always be used when connecting to a RCS.

IgnoreSync=False

This setting can be changed from the Launcher menu.

Connection Server Settings

The following is a group of settings that act together to control the behaviour of the Deadline Remote Connection Server when it is run on this machine.

These settings can also be configured using Deadline Command. For more details, run the following in a console:

deadlinecommand -help ConfigureConnectionServer
ServerListenIP

The IP of the interface on which the Server will accept incoming connections. If left blank or unspecified, defaults to 0.0.0.0.

ServerListenIP=0.0.0.0
HttpListenPort

The Port on which the Server will accept incoming HTTP requests. Defaults to 8080.

HttpListenPort=8080
TlsListenPort

The Port on which the Server will accept incoming HTTP requests. Defaults to 4433.

TlsListenPort=4433
TlsServerCert

The path to a .pfx file containing a x509 certificate and key used for TLS communication. Omit or leave blank to use un-encrypted HTTP. Defaults to Blank.

TlsServerCert=C:\Certificates\ServerCert.pfx
TlsAuth

If set to True, the Server will require incoming client connections to present a valid (trusted) certificate when connecting, or the connection will be rejected. Defaults to False.

TlsAuth=True
TlsCaCert

The path to a .crt file containing an additional trusted root certificate to use when authenticating incoming client certificates. Defaults to Blank.

TlsCaCert=C:\Certificates\ca.crt
LocalOnly

If set to True, the Remote Connection Server should only accept connections coming from the local loopback interface (127.0.0.1). Defaults to False.

LocalOnly=True
RemoteConnectionServerIncognito

If set to True, the Remote Connection Server shouldn’t save its settings to the repository. Defaults to False.

RemoteConnectionServerIncognito=True
RemoteConnectionServerVerboseLogging

If set to True, the Remote Connection Server will enable verbose logging. Defaults to False.

RemoteConnectionServerVerboseLogging=True
RemoteConnectionServerLogApiCalls

If set to True, the Remote Connection Server will enable detailed logging of API requests. Defaults to False.

RemoteConnectionServerLogApiCalls=True
RemoteConnectionServerLogApiCaches

If set to True, the Remote Connection Server will enable detailed logging of API caches. Defaults to False.

RemoteConnectionServerLogApiCaches=True

Environment Variables

Environment variables can also be used to configure the Deadline Client. The can be used to override settings in the deadline.ini file, and there are a couple additional variables that are also supported.

Overriding the Configuration File

All deadline.ini settings can be overridden using environment variables. Simply prefix “DCONFIG_” to any supported deadline.ini key listed above and give it a value. For example, to override the LaunchSlaveAtStartup key and set it to True, simply define the following in your environment:

DCONFIG_LAUNCHSLAVEATSTARTUP=True

Note that the environment will always take priority over the deadline.ini files. So if LaunchSlaveAtStartup is configured in the environment, Deadline will use that value. If a setting is not defined in the environment, Deadline will fall back to the per-user deadline.ini, followed by the system deadline.ini.

DEADLINE_PATH

The DEADLINE_PATH environment variable is an environment variable on Windows and Linux which contains the path to Deadline’s bin directory. On OS X, it is instead a file located at /Users/Shared/Thinkbox which contains the path to Deadline’s resources directory.

DEADLINE_PATH is used by the integrated submission scripts that are shipped with Deadline to determine where the Deadline Client is installed to, and what the Repository path is. While it is possible to modify this value on the system manually, you can instead use one of the Submitter installers to Change the DEADLINE_PATH Value.

DEADLINE_CUSTOM_PATH

The DEADLINE_CUSTOM_PATH is an environment override variable allowing clients a way to locally redirect where a Deadline client application will look for a Deadline script, plugin, etc. This is similar to the existing custom directory in the repository but works locally. Deadline uses this search order when loading a plugin/event/script:

  1. In the appropriate subfolder of DEADLINE_CUSTOM_PATH, if defined/present.
  2. In the appropriate subfolder of <repo_path>/custom, if present.
  3. In the appropriate subfolder of the <repo_path> root.

Other Client Files

These are some additional Client files that are used.

Local Worker Instance Files

Deadline supports the ability to run Multiple Workers On One Machine. The local Worker instances are represented by .ini files which are stored in the “slaves” folder in the following locations. Note that the [VERSION] in the path will change based on the Deadline version number.

  • Windows: %PROGRAMDATA%\Thinkbox\Deadline[VERSION]\slaves\
  • Linux: /var/lib/Thinkbox/Deadline[VERSION]/slaves/
  • OS X: /Users/Shared/Thinkbox/Deadline[VERSION]/slaves/

To remove local Worker instances, simply delete their corresponding .ini file. Note that this does not remove the Worker entries from the repository that the Workers connected to.

UI State Files

The Deadline Client applications use configuration files to keep track of their UI states between sessions. This is how the Monitor, for example, is able to launch with the same size and dock layout as the last time it was closed. Although these files are .ini files stored on disk, they are not intended to be modified manually. They are stored in the following locations:

  • Windows: %APPDATA%\Thinkbox\
  • Linux: ~/.config/Thinkbox/
  • OS X: ~/.config/Thinkbox/