Skip to content

Orchestrator Configuration

Alexis Maiquez Murcia edited this page Sep 7, 2022 · 1 revision

Orchestrator configuration

A good understanding of ASP.NET architecture and configuration is advised for setting up the Orchestrator to our prefered settings: (click here to read the official documentation)[https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0]

Default appsettings.json

This file contains the base settings for the application. This is overriden by the environment-specific file if available (like appsettings.Development.json)

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "Using": ["Serilog.Sinks.Console"],
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "formatter": {
            "type": "Serilog.Templates.ExpressionTemplate, Serilog.Expressions",
            "template":"{UtcDateTime(@t):yyyy-MM-dd HH:mm:ss} {@l:u1} {Coalesce(Coalesce(Name, Substring(SourceContext, LastIndexOf(SourceContext, '.') + 1)), 'Program')}: {@m:lj}\n{@x}" 
          }
        }
      }
    ]
  },
  "Cluster": {
    "ResetOnStartup": true,
    "TimedEventsInterval": 5
  },
  "AllowedHosts": "*",
  "Database": {
    "hostname": "localhost",
    "username": "root",
    "password": "",
    "database": "evedb",
    "port": 3306
  }
}

Serilog section

This section controls the actual settings for the logger used in the Orchestrator. By default a console logger is enabled, so everything logged by the app will be printed into the console in a similar format to the one used in the game's server binaries.

You can add more Sinks to the project and customize how this works to your liking.

Cluster section

This section controls basic cluster information used by nodes and proxies.

ResetOnStartup

When true, the Orchestrator startup will clear all the registered address in the database (used when the cluster is rebooted). It might be interesting to set it to false after an Orchestrator crash if all the proxies and nodes are still working fine.

TimedEventsInterval

Interval (in minutes) to wait between cluster-wide time events. Handles things that depend on time like application expiration, market order expiration, etc...

AllowedHosts section

Indicates from where the Orchestrator will accept connections. Ideally this should specify the IPs of the machines where you'll be running proxies and nodes, so if the Orchestrator ever got to be accessible from the outside, no one would be able to connect to it.

Database section

Contains all the MariaDB database settings used to connect the Orchestrator to the cluster database.

hostname

The server where the database is hosted

username

Username for the database

password

Password for the database

database

The name of the database that contains the whole cluster

port

The port where the database server is listening on