{ "_comment1": "These are the address and port of the backend server, i.e. the server run by the Olympus dll mod.", "_comment2": "localhost should be used if the backend is running on the same machine as the frontend server, which is usually the case.", "_comment3": "If a direct connection is desired, e.g. for API usage, use '*' as address.", "_comment4": "The desired port should be available and not used by other processes.", "backend": { "address": "localhost", "port": 4512 }, "_comment5": "These are the sha256 hashed passwords for the game master, the two commanders, and the admin. They are used to authenticate the users.", "authentication": { "gameMasterPassword": "", "blueCommanderPassword": "", "redCommanderPassword": "", "adminPassword": "" }, "_comment6": "These are the settings for the frontend server, i.e. the server which hosts the Olympus GUI web interface.", "_comment7": "The port should be available and not used by other processes and is used to load the interface.", "frontend": { "port": 3000, "_comment8": "These are the custom headers used for authentication. They are used to authenticate the users and skip the login page", "_comment9": "If enabled, the frontend server will look for the specified headers in the request and use them to authenticate the user.", "_comment10": "The username header should contain the username and the group header should contain the group of the user.", "_comment11": "If the headers are not present or the user is not authenticated, the user will be redirected to the login page.", "_comment12": "This is useful for integrating Olympus with other systems, e.g. a SSO provider", "_comment13": "The group should be one of the groups defined using the admin page on the web interface", "_comment14": "If the user is by default authorized to more than one command mode, x-command-mode header can be used to specify the default command mode", "_comment15": "Otherwise, the login page will be skipped, but a command more selection page will still be shown", "customAuthHeaders": { "enabled": false, "username": "X-Authorized", "group": "X-Group" }, "_comment16": "The elevation provider is used to fetch elevation data for the map. It should be a URL with {lat} and {lng} placeholders.", "elevationProvider": { "provider": "https://srtm.fasma.org/{lat}{lng}.SRTMGL3S.hgt.zip", "username": null, "password": null }, "_comment17": "These are the map layers used by the frontend server. They are used to display the map in the interface.", "_comment18": "The urlTemplate should be a URL with {z}, {x}, and {y} placeholders for the zoom level and tile coordinates.", "_comment19": "The minZoom and maxZoom define the zoom levels at which the layer is visible.", "_comment20": "The attribution is the text displayed in the bottom right corner of the map.", "mapLayers": { "ArcGIS Satellite": { "urlTemplate": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", "minZoom": 1, "maxZoom": 19, "attribution": "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Mapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community" }, "OpenStreetMap Mapnik": { "urlTemplate": "https://tile.openstreetmap.org/{z}/{x}/{y}.png", "minZoom": 1, "maxZoom": 20, "attribution": "OpenStreetMap contributors" } }, "_comment21": "These are the map mirrors used by the frontend server. They are used to load the map tiles from different sources.", "_comment22": "The key is the name of the mirror and the value is the URL of the mirror.", "mapMirrors": { "DCS Map (Official)": "https://maps.dcsolympus.com/maps", "DCS Map (Alt.)": "https://refugees.dcsolympus.com/maps" }, "_comment3": "If autoconnectWhenLocal is true, the frontend server will automatically connect to the backend server when running on the same machine.", "_comment4": "If a proxy is used, the proxyHeader should be set to the header used to forward the client IP address to the backend server.", "_comment5": "This is useful when running the frontend server behind a reverse proxy, e.g. nginx, allowing to skip login when connecting locally but still authenticate when connecting remotely.", "autoconnectWhenLocal": true, "proxyHeader": "x-forwarded-for" }, "_comment23": "These are the settings for the audio backend, i.e. the service which handles direct connection of Olympus to a SRS server.", "_comment24": "The SRSPort is the port used to connect to the SRS server and should be set to be the same as the value in SRS (5002 by default).", "_comment25": "The WSPort is the port used by the web interface to connect to the audio backend WebSocket. It should be available and not used by other processes.", "_comment26": "The WSEndpoint is the endpoint used by the web interface to connect to the audio backend WebSocket when using a reverse proxy. A websocket proxy should be set up to forward requests from this endpoint to WSPort.", "audio": { "SRSPort": 5002, "WSPort": 4000, "WSEndpoint": "audio" }, "controllers": [] }