Worker configuration

The worker component uses several configuration variables which can be used to customize the platform behavior. Variables can be set by command line parameters, appsettings.json configuration file or environment variables. The environment variables take precedence over the configuration file and command line parameters take precedence over environment variables.

Names of the configuration variables are case insensitive. The name of the variable resembles a path in a tree of configuration variables, with : character as segment separator. Since environment variables may not contain : character, the corresponding environment variable can be obtained by replacing them by double underscores (__), e.g. Emails:Port becomes Emails__Port.

Note

To apply changes made in appsettings.json file, the worker process needs to be restarted.

General

ModulePath
Path to the directory containing game modules.

Connector configuration

Configuration of the connection to the server.

ConnectorConfig:Identity
Identity string used for communicating with the server. Must be different to the identities of other workers and to that of the broker.
ConnectorConfig:BrokerAddress
Address on which the server listens for workers. Must be in form tcp://[host]:[port].

File server

Configuration of where to download additional files from and where to store result files.

FileServer:ServerAddress
Base address for the file storage server. Currently, the file server is part of the main server, so the address must be http://[server-host]:[server-port]/api/

Task execution configuration

Configuration related to the performing submission validations and match executions.

Execution:WorkingDirectory
Root directory where temporary files of currently executed job will be stored.
Execution:ArchiveDirectory
Root directory where all files generated during execution of successfull tasks will be stored for diagnostic purposes.
Execution:ArchiveRetentionDays
How many days should files in the archive directory be kept. default is 30 days.
Execution:ErrorDirectory
Root directory where all files generated during execution of failed tasks will be stored for diagnostic purposes.
Execution:ErrorRetentionDays
How many days should files in the error directory be kept. default is 30 days.
Execution:MaxTaskTimeoutSeconds
Global upper limit on the duration of any task (submission validation or match execution). Game modules should take care of task-specific timeouts. This setting should be used to protect worker against game module freezes. It is expected that each game module will keep it’s own timeout specific to the particular game. Default value is 300 seconds (5 minutes).

Serilog

Used to configure the Serilog Logging library. See official documentation for further details.