Server Configuration Summary

From MWO Wiki
Revision as of 11:42, 22 January 2022 by Osdever (talk | contribs) (Created page with "This article describes the layout of the <code>core-server.json</code> config file, as well as other config files used by the MWO server. <h1>Required Knowledge</h1> The server config is written in [https://en.wikipedia.org/wiki/JSON JSON], and the server executable will expect it to be <b>valid</b> JSON. The rest of this article assumes you're at least somewhat acquainted with JSON: if not, you really should learn more about it! <h1>core-server.json</h1> <h3>multiplay...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This article describes the layout of the core-server.json config file, as well as other config files used by the MWO server.

Required Knowledge

The server config is written in JSON, and the server executable will expect it to be valid JSON. The rest of this article assumes you're at least somewhat acquainted with JSON: if not, you really should learn more about it!

core-server.json

multiplayer

Contains the most basic options for the server, such as its name, description and main port.

  • serverName : String - The server name as displayed in the MWO Launcher.
  • serverDescription : String - The server description as displayed in the MWO Launcher.
  • passwordProtected : Boolean - Determines whether this server uses a server-wide password.
  • serverPassword : String - If passwordProtected is true, contains the SHA256 hash of the server-wide password.
  • rconEnabled : Boolean - Determines whether this server allows players to use RCON admin functionalities.
  • rconPassword : String - If rconEnabled is true, contains the SHA256 hash of the RCON password.

sync

Contains options for vehicle sync.

  • syncPacketsPerSecond : Number - The frequency of server-to-client vehicle state update broadcasts. Values over 20 are for all intents and purposes meaningless, since the client is hardcoded to only send 20 per second.

lighting

Contains options for server-side world lighting sync.

  • timePacketsPerSecond : Number - The frequency of server-to-client world lighting update broadcasts.
  • dayLengthSeconds : Number - The length, in seconds, of a single in-game "day".
  • startupCycle : String - The default timecycle to work with upon the start of the server. Must be a valid timecycle, otherwise time sync will not start.
  • cyclePackFilenames : List of Strings - A list of paths to timecycle packs that will be loaded on startup. See #Timecycle packs for more information.

webapi

Contains options for the internal HTTP API.

  • apiPort : Number - The port to listen on. Must be equal to multiplayer.gamePort + 1 in order to allow the server to be accessed through the launcher.

world

Contains options for the game world.

  • gameSpeed : Number - The overall gameplay speed coefficient. Too high values will mess with physics.
  • trafficDensity : Number - Leftover from MWO 2.0. No longer functional.
  • copsEnabled : Boolean - Determines whether police is allowed to spawn and chase players on this server.
  • trafficEnabled : Boolean - Determines whether traffic NPCs are allowed to spawn on this server.
  • disableJumpStabilizer : Boolean - Determines whether the vanilla jump stabilization should be turned off on this server.
  • enableFreeroamCollisions : Boolean - Determines whether players in free-roam should be able to collide with each other.
  • enableRaceCollisions : Boolean - Determines whether players in racing lobbies should be able to collide with each other.

auth

Contains options for the authorization system.

  • enabled : Boolean - Determines whether the server should authorize players. Setting this to false in the absense of a server-wide password will lead to the server being accessible by anyone under any nickname.
  • method : String - The authorization mode. Must be either local or remote.
  • local : Object - The local authorization options.
    • dbPath : String - The local GPAuth SQL DB path.
  • remote : Object - The remote GPAuth authorization options. (See GPAuth Summary)
    • apiUrl : String - The API IP or hostname.
    • apiPort : String - The API port.
    • apiToken : String - The API access token.
  • signUpPage : String - The sign-up API address. Should be empty in cases of local auth and should be equal to the remote GPAuth API address in cases of remote auth.

bans

Contains options for the ban system.

  • useBanSystem : Boolean - Determines whether to use the ban system.
  • dbPath : String - The local ban record DB path.

purgatory

Contains options for the "connection purgatory" system designed to kill dead connections.

  • enabled : Boolean - Determines whether to use the connection purgatory.
  • timeoutSeconds : Number - The length of dead air in seconds required to kill a connection.

verification

Contains options for the anti-cheat system.

  • verifySyncPackets : Boolean - Determines whether to verify players' vehicle sync updates to prevent speedhacking.
  • verifyVehicleAttributes : Boolean - Determines whether to verify players' vehicle attributes to prevent modding.
  • verifyGameplayAttributes : Boolean - Currently unused: gameplay attribute verification is not implemented.
  • fingerprintStorages : List of Strings - A list of paths to AttribFingerprint packs that will be loaded on startup. See #AttribFingerprint for more information.
  • restrictionConfigs : List of Strings - A list of paths to RestrictionConfig packs that will be loaded on startup. See #RestrictionConfig for more information.

announcements

Contains options for the automatic announcement system.

  • broadcastPrefix : String - The prefix of all broadcast messages, like [SERVER].
  • joinAnnouncementPacks : List of Strings - A list of paths to GameAnnouncement packs that will be used to greet joining players. See #GameAnnouncement for more information.
  • gameAnnouncementPacks : List of Strings - A list of paths to GameAnnouncement packs that will be used to periodically broadcast messages. See #GameAnnouncement for more information.
  • gameAnnouncementIntervalSeconds : Number - The interval in secons between periodical broadcasts.

roles

Contains options for the in-game role system.

  • apiUrl : String - The Roles API URL. (See Personal Role Server)
  • apiPort : Number - The Roles API port.
  • apiToken : String - The Roles API access token.

speedtraps

Contains options for the world speedtrap system.

  • dbPath : String - The local speedtrap records DB path.

resources

Contains options for the resource system.

  • resourcesRoot : String - The root of game resources to use on this server.

racing

Contains options for the game lobby and racing system.

  • gamemodeDefinitionsConfigPath : String - The path to the gamemode definitions config. See #Gamemode Definitions for more information.
  • raceInfoSetPath : String - The path to the race info set. See #Race Info Sets for more information.

watchdog

This config section is currently private.

career

This config section is currently private.