A Tracking Server takes in camera and object tracking data, processes it and forwards it to one or more render engines. In a single-machine setup, the Tracking Server is run on the same machine as the engine. The Tracking Server is always run on the machine where the camera is defined. In a multi-machine setup, you can choose between several configurations. You can run define cameras locally on each engine, and run a Tracking Server each engine for redundancy purposes. Alternatively, you can define your cameras centrally and run a single tracking server on the central machine, passing the tracking data to each engine. The disadvantage of a single tracking server is that it is a single point of failure. You also need to choose whether the tracking system should be connected directly to the engine, or through a network. Let's start with running one Tracking Server per engine, where the tracking system is directly connected:

This is the simplest setup, with the fewest sources of problems. Here the Tracking Server must be configured to send tracking to the specific IPs of the engines. It is not possible to reroute tracking from camera 1 to engine 2 without changing the physical cabling.

Let's take a look at running one Tracking Server for several machines. Here both tracking systems are sending to the same IP but on different ports. We can now easily reroute the tracking to the engine we want, but we have introduced a single point of failure (engine 2). The tracking for engine 1 now travels through more network adapters, increasing the chance of packet loss.

Let's take a look at a third option, where all tracking systems and engines are connected to the same network. Here we can utilize the broadcast address to send tracking data from all cameras to all engines. The engines will then be configured to listen to one of the cameras by choosing a port to listen to. This allows us to easily switch which engine uses which tracking, and will also allow us to make a redundant backup engine that can take over for any engine in case of a failure. This method (broadcasting tracking) should only be used on closed networks, because when sending to the broadcast address, all machines on the network will receive the tracking. This could swamp large networks with unnecessary data..

Direct cable connection

Through network

One Tracking Server per engine

One Tracking Server for all engines


Simple. Less chance of packet loss


No single point of failure

Easy to reroute


No rerouting

More network nodes so a higher chance of packet loss or delay

No rerouting without broadcast

Single point of failure for all tracking data

Your choice depends on your requirements for rerouting on the fly and your network setup.