The Conductor

The conductor is the backbone of MV3D platform. It runs the server, client, and tools. The conductor provides a single point through which a whole MV3D process is controlled by. It hosts any number of services and connection factories. Another function of the conductor is to coordinate starting and stopping of the process along with configuration. The conductor also (currently) manages logging. Finally, the conductor keeps track of game time. By default, MV3D's game timer ticks 20 times per second, or once every 0.05 seconds. This is the frequency that services which require iteration are ticked as well. Note that faster iteration is possible by not synchronizing the tick to the conductor. This is how the renderer works as it renders frames as fast as possible.

When the conductor starts up, it reads in the configuration file given to it. For more information on the format of the config file and the options, see ConfigurationOverview. From the configuration file, multiple services are initialized. Once all services are initialized, they are started up. Care is taken to ensure that the failure of any one service at any time does not cause the conductor to fail.

The conductor does not store any persistent data, nor is it directly accessible over the network.