Profiles and mods

Note: The content on this page pertains to Clanforge. If you’re using Multiplay Hosting, refer to the Multiplay Hosting documentation.

Profiles and mods work together to apply settings and configuration values to game servers within a fleet.

Profiles

Profiles are game server configurations under an account service that point to specific game image versions and contain configuration information that Clanforge's system reads and applies to machines within a fleet. The configuration information includes identifiers for game images, command-line parameters, and game server instance settings. Refer to Profiles.

When a matchmaker allocates a game server, it specifies the profile ID that the game server should use. After receiving the allocation request from the matchmaker, Clanforge loads the specified profile and configures the game server with the information in the profile to prepare for the game session. This preparation includes:

  • Changing the game image version
  • Updating settings
  • Changing configuration options
  • Restarting the game server process

Game images

Clanforge links each profile to a specific game image version. Part of the preparation Clanforge does for a game server is restarting the game server process with the game image version specified by the profile. In fact, when you change active game images in an allocation-based fleet, you do so by creating allocations with the profile ID that's linked to the specific game image version you want to change to.

Settings

Settings are configuration key-value pairs that you can set onto a profile. These settings are then applied during server start or allocation time. You can create settings during game integration and you can modify these values at any time using the Clanforge UI or API.

Configuration files

Besides settings and configuration options, profiles link game configuration files to the game image version they point to. These files include the initialization file, which is typically named GAME.init, and the server.json file.

The initialization file has initialization options and parameters, including:

  • The log output directory
  • The map difficulty level
  • Encryption keys
  • Runtime settings
  • The connection information (the port number and IP address)

Some parameters, such as the port number and IP address, are variables which Clanforge automatically populates when the game server process starts.

The server.json file is a generated file that exists for each game server instance and has information for the matchmaker, such as:

  • The allocation UUID
  • The session authentication information
  • The connection IP address
  • The connection port

The allocation UUID variable changes with each session, so you must regularly check it for changes. To detect changes within the server.json file, you can set up an event trigger that detects files changes or a process to check the file for changes at a regular interval. Clanforge recommends you use an event trigger because the interval check causes unnecessary resource usage.

Mods

Mods are containers of configuration information and settings that profiles inherit from. Mods work like templates for profiles; they offer a set of base settings that includes:

  • Map lists
  • Game types
  • Exposed files
  • Available game images
  • Resource usage specification
  • Custom settings
  • Configuration files
  • Command-line parameters

You can have one or more mods associated with your game to manage different configuration needs. It might help to think of mods as a way to keep separate configurations for each branch of a game title. For example, if you have a branch for production, development, and staging, you might have a mod for each one of those branches. Refer to Mods.