Share

Flame Family Collaboration Basics

This document explains how to enable collaboration between multiple Flame Family workstations on a single local network. It also explains the roles the different components of the Flame ecosystem play and how to configure them for a smooth deployment.



The Flame Ecosystem

When you install Flame (or any Flame Family software) on a Linux or macOS station, several satellite components are also installed. These components can be categorized as Applications, Background Tasks, or Collaboration Services.

Applications

This category includes the Flame Family software and all the different tools and scripts that are used by the standalone application.

Background Tasks

This category consists of the background job manager (BackburnerManager), its servers (BackburnerServer), and the job-specific adapters (BackgroundReactor, Wire, MediaConverter, Burn, etc.). The main application uses these services to offload tasks that do not require user interaction, like rendering, caching, or transcoding.

Collaboration Services

This category consists of the services that make it possible for a remote Flame to work on a local project or enable your Flame to work on a remote project. Most of these services are part of the Flame distribution, but other services essential to collaboration are provided by the operating system.

Services installed as part of the Flame Family distribution:

  • The Flame PostgreSQL server manages the project media caches. This component was introduced in 2026 as a replacement for the Stone+Wire database, offering greater flexibility, improved extensibility, and addressing some limitations of the volume-based storage management.
  • The sw_stone daemon provides discoverability of project hosts over the network using the DNS-SD protocol.
  • The wiretapgateway daemon provides specialized media browsing, decoding, and encoding.
  • DLmpd is the multi-purpose daemon that provides remote system call optimizations and some more specialized services like remote archives and integrity checking.
  • The ifffsWiretapServer daemon provides Flame project access to standalone tools and a means of interoperability with other applications.

Services provided by the operating system:

  • The NFS server provides local file system access to remote hosts and is used for NFS export.
  • The automount daemon automates the mounting of remote NFS file systems and is used for NFS import.
  • Avahi on Linux, and mDNSResponder (aka Bonjour) on macOS, provide service discovery using DNS-SD across the local network subnet.
  • Your choice of identity management: collaboration works best if you set up a central authority for user identification and authorization such as FreeIPA or Active Directory. How you set this up is specific to your facility and goes beyond the scope of this document.


Setting Up Collaboration

The Flame installer program configures the system so that basic collaborative workflows can work between multiple Flame Family products on the same network. Every facility has its own particularities and you may have to tweak the configuration to meet your needs. Moreover, on the macOS platform, the installer may fail to appropriately configure the operating system depending on your security settings. This section covers the different components involved in a successful collaborative environment. Each subsection provides a list of the network ports used. This may come in handy if you want to configure a firewall. Consult Network Ports for a consolidated list. For a step-by-step guide for setting-up collaboration between independent Flame Family workstations without shared storage, see Project Sharing.

Workstation Identification

/opt/Autodesk/cfg/network.cfg contains a unique workstation identifier and the multicast configuration that enables automatic discovery of the services using the Wiretap protocol (wiretapgateway, ifffsWiretapServer, BackburnerManager). If your workstation uses a single network interface, you should only have to worry about the following settings in this file:

[ Local ] → UUID: This token uniquely identifies your host - no two workstations on your network can have the same UUID. You can generate a UUID with this command to be executed in a shell terminal. Note it will only generate a UUID if one is not already assigned.

/opt/Autodesk/cfg/.current/network.cfg.uuid

Service Discovery

The different services Flame relies upon for collaboration broadcast their presence using either the Wiretap service discovery or the DNS-SD standard protocol. This section shows the different parameters controlling these mechanisms.

Wiretap services have their own discovery mechanism. Each service acts as a hub that registers all the other wiretap services on the local network subnet.

/opt/Autodesk/cfg/network.cfg holds the wiretap-specific service discovery parameters used by Backburner, ifffsWiretapServer, and wiretapgateway:

[ Self Discovery ] → Port (7555): The network port over which all wiretap services notify each other of their presence on the network. The default is 7555 and unless it conflicts with another service, you should not have to change it.

[ Self Discovery ] → Scope (224.0.0.1): The multicast address used to broadcast information on the network. The default is 224.0.0.1 and identifies the local subnet. This is appropriate for a small network. If you have systems on multiple subnets, you must change the multicast scope. For example, on AWS, multicast across the AWS Transit Gateway does not work using 224.0.0.1, and you have to change the scope for 239.0.0.1.

[ Self Discovery ] → TTL (1): If the multicast traffic remains on the local network (single VLAN), the default Time-To-Live (TTL) value of 1 is adequate. If multicast packets must transit on different networks, the value should be increased. The TTL should be set as small as possible.

[ Dynamic Ports ] → LowerBound & UpperBound (49152-65535): Defines the range used for dynamically allocated network ports. It is sometimes necessary for a program to allocate an arbitrary port rather than a predetermined port. The wiretap services will pick such ports in the range defined here. Reducing the range increases the risk of port conflicts since no two programs can accept connections on the same port. A bigger range increases the attack surface of your system and, if you are configuring a firewall, forces you to open these ports if they must be accessible to remote hosts. The default range is the one defined by the operating systems. If your systems are running in an isolated local network, the default values are usually safe to use.

Service Protocols Ports
Wiretap service discovery UDP 7555
Dynamic port range* TCP, UDP 32768 - 60999

* The range in this table differs from the defaults in the network.cfg file because it accounts for other services using dynamic ports that do not yet obey these settings. The upper bound is also constrained by the Linux setting, 60999, which is lower than the config file upper bound.

To be usable for multicasting, the network interface must have the MULTICAST flag enabled at the OS level. This can be validated and changed using the ifconfig or ip link commands. Enabling the 'MULTICAST' flag on the 'loopback' interface is recommended to help ensure discoverability of local services.

DNS-SD is the service discovery protocol used by Flame's PostgreSQL database (stone) and the Multi-Purpose Daemon (dlmpd). DNS-SD also uses multicast to broadcast service availability but, unlike the wiretap protocol, it has a per-host dedicated daemon for managing available services and responding to queries. This daemon is not part of Flame and is managed by the operating system. Refer to Linux' avahi documentation and macOS' mDNSResponder documentation for more details. Flame does provide the dl_services_map and dl_services_monitor tools to query or monitor its services with DNS-SD.

Service Protocols Ports
DNS-SD TCP, UDP 5353

Service Discovery Without Multicast

Wiretap and DNS-SD rely on multicast to discover Flame Family-related services running on the local and remote hosts. Some network configurations or policies can prevent the use of multicast to discover them. In these circumstances, you can use /opt/Autodesk/cfg/services.cfg to manually expose these services.

The /opt/Autodesk/cfg/services_snapshot.sh script can be used to create a services.cfg that contains information from local services. To update the local /optAutodesk/cfg/services.cfg, you can run the command /opt/Autodesk/cfg/services_snapshot.sh without any arguments. This will scan the local services on their default ports and create the file.

To update this file with remote services, add to the command the IP or hostname of the host to scan for services. For example: /opt/Autodesk/cfg/services_snapshot.sh -h 192.168.0.14. The script will attempt to contact known services on host 192.168.0.14 and will add those that are reached to the local services.cfg file.

The script scans for Autodesk Flame network services on their default ports. If you have customized some if these port numbers, call the script for each port to scan with the -p argument. For example: /opt/Autodesk/cfg/services_snapshot.sh -h 192.168.0.14 -p 7654. The script will scan for all known services on port 7654. If one responds, it will be added to the local services.cfg file.

See /opt/Autodesk/cfg/services.cfg.samples for more details and examples.

I/O Priority Service

Real-time I/O tasks, such as playback, require minimal interruptions to storage access. The I/O Priority service ensures background tasks do not consume bandwidth needed by foreground applications during critical moments. The concept is straightforward: When a foreground application like Flame performs a real-time I/O task, it signals on the designated network port. Lower-priority applications connect to this port and pause their I/O operations until the foreground task is complete. This service used to be provided by the sw_probed daemon. As of version 2026, it is provided by the Flame Family main applications themselves.

Service Protocols Ports
I/O Priority TCP 8244

ifffsWiretapServer Configuration

/opt/Autodesk/wiretap/cfg/wiretapd.cfg defines the two ports used to communicate with the ifffsWiretapServer.

[ Server ] → NodePort(7549): This port gives external tools (non-Flame) access to the projects on the host. Lustre and the MediaConverter Backburner adapter are two heavy users.

[ Server ] → FramePort(7550): This port is used to establish a media transfer connection with the daemon. Requests on the NodePort are small and frequent and must be responsive. The FramePort prevents large media requests from impacting the response time on the NodePort.

Service Protocols Ports
ifffsWiretapServer metadata TCP 7549
ifffsWiretapServer media TCP 7550

DLmpd Configuration

This daemon does not have a configuration file of its own but it will honor the environment variables set in /opt/Autodesk/cfg/env.cfg. One could, for instance, override the default port (7700) of this daemon by defining the CSF_TEST_PORT environment variable and assigning it the desired port number. Clients expect to connect to the daemon on the default port, so CSF_TEST_PORT must be defined with the same value as the server for all clients. This is rarely necessary, no popular service has been known to conflict with DLmpd.

Service Protocols Ports
DLmpd TCP 7700

NFS Configuration

Starting with version 2026, you can store your Flame project and its media anywhere, provided that all participating workstations or servers in a collaborative workgroup can access them through identical paths. On a system sharing storage with the workgroup, /etc/exports is used to declare shared folders and their NFS export options. The syntax is similar for macOS and Linux but the available options differ. Each folder can be exported to a restricted set of hosts with appropriate options. Refer to the exports(5) man page for details applicable to your environment. The project home folder must be exported with the sync option to ensure integrity of the project catalog files. This is normally the default. A media storage path will typically be exported with the async option to improve performance. For collaboration to work, it must include at least the entries listed in the following table. Multiple entries can be grouped by exporting only a common parent:

Directory macOS Linux
<project home> n/a -rw
<setups path> n/a -rw
<media path> n/a -rw,async

For example, a Flame workstation named flame1 storing its projects under /mnt/<host name>/projects/<project name> and its projects' media under /mnt/<host name>/media/<project name> could have the following /etc/exports:

/mnt/flame1/projects -rw
/mnt/flame1/media -rw,async

In this case, the setups path resides under /mnt/flame1/projects. It does not need to be explicitly exported.

Use the ServiceMonitor's "NFS imports/exports" diagnostic to verify the suitability of your exported mount points.

After modifying /etc/exports, make sure to apply your changes by running

Linux macOS
sudo exportfs -vra sudo nfsd update

NFS requires the following ports to be opened in the firewall:

Service Protocols Ports
RPC portmapper TCP, UDP 111
NFS TCP 2049
NFS mountd TCP, UDP 20048

Automount Configuration

/etc/auto.master (Linux) and /etc/auto_master (macOS) define the mount points and mappings to physical directories that automount will manage. For example, when creating a project on a remote server, Flame will use /hosts/<host name>/var/opt/Autodesk/flame/projects/<project name> as the project home. In addition to /var/opt/Autodesk/flame/projects being exported by the remote server, this assumes the -hosts mapping is applied to /hosts in the master automount configuration. The following entries must therefore be present:

OS Mount Point Mapping Options
Linux /hosts -hosts n/a
macOS /hosts -hosts -nobrowse,resvport**

**: resvport is required to mount from a linux server on macOS.

After modifying /etc/auto.master or /etc/auto_master, make sure to apply your changes by running

Linux macOS
sudo systemctl restart autofs sudo automount -c


Flame's PostgreSQL Configuration

A Flame project has two main components: a set of catalog files and a media database. As of 2026, the latter is managed using a PostgreSQL database. Depending on the level of security required at your facility, Flame supports two authentication modes: one is called trust authentication, the second is called certificate (or cert for short) authentication. trust is the simplest to deploy while cert offers stricter security and encrypted communication. Choosing the authentication that best suits your needs must be done before creating your database.

trust authentication: All connections to the database are made with a common, generic user. Communication with the server is not encrypted.

cert authentication: Each Flame user must have credentials in the database. Connections with the server are made with these credentials and communication with the server is encrypted. In this mode, all users store their own ssl key and ssl certificate in their home directory. Background jobs executing with their credentials, such as Burn rendering jobs, must have access to their key and certificate to connect with the project database. This is best accomplished if users have network accessible home directories. Be warned that network home directories are unreliable or prevent users from logging in on macOS since version 13 (Ventura) when System Integrity Protection (SIP) is enabled.

Database Deployment Options

A Flame installation comes with everything necessary to run a local database server but no database is created by default. You may opt to run a database server locally or deploy a central server that your Flame workstations will share. Flame's project selection menu shows all available servers in the host drop-down.

Service Protocols Ports
PostgreSQL server TCP 7533

Refer to PostgreSQL Database for more details on this topic, and Database Creation for detailed, step-by-step instructions to create a database.

Host-based Access Control

The PostgreSQL server determines host access to the database using either the ~flame_db/flame_cert_hba.conf or ~flame_db/flame_trust_hba.conf file, based on the chosen authentication mode. The default trust configuration will allow any host. The default cert configuration will only allow hosts on the local subnet. You will need to modify the configuration if you have Flame Family clients on different subnets.

To edit the configuration, assuming environment variable EDITOR points to your editor of choice (for example, vi):

trust authentication:

sudo -u flame_db $EDITOR ~flame_db/flame_trust_hba.conf

cert authentication:

sudo -u flame_db $EDITOR ~flame_db/flame_cert_hba.conf

You must restart the server to apply changes to the configuration:

sudo -u flame_db -i /opt/Autodesk/bin/igniter --stop --start

Server Connection Limit

The PostgreSQL server allows 100 connections by default. If you run numerous clients, you may need to increase this limit. As a rule of thumb:

number of connections = 7 + (number of concurrent clients * 10)

A client is any Flame Family application that needs to open a project such as Flame, Flare, Flame Assist, Background Reactor, Burn, flame_archive, etc.

The limit's upper bound depends on the maximum number of files that can be opened. The connections share this limit with other open files. The upper bound is thus less than the maximum number of open files. Run ulimit -a | grep "open files" to see this limit e.g.

$ ulimit -a | grep "open files"
open files                          (-n) 8192

In this case, the upper bound for the maximum number of connections would be approximately 7000, leaving 1192 file descriptors available for other uses, which is a reasonable amount.

To change the limit, edit the ~flame_db/17/data/postgresql.conf file and change the max_connections setting:

sudo -u flame_db $EDITOR ~flame_db/17/data/postgresql.conf

For example:

max_connections = 300

You must restart the server to apply changes to the configuration:

sudo -u flame_db -i /opt/Autodesk/bin/igniter --stop --start

Was this information helpful?