Using Custom Config Content with Beacon

Beacon's Custom Config Content editor stores raw config lines that will get automatically blended into your existing config lines. It's even possible (and usually automatic) to encrypt certain values such as server passwords.

Using the Editor

When using the Custom Config Content editor, there are two buttons at the top to switch between the GameUserSettings.ini and Game.ini files. You can edit each just like a normal file.

Unlike a normal editor though, the format is much more flexible. It's entirely valid for a field to contain something simple such as:

StructureResistanceMultiplier=0.0

in the GameUserSettings.ini editor, and that line will automatically be added to the [ServerSettings] group. If that group already contains a StructureResistanceMultiplier line, Beacon will replace the line with the one in your editor.

Notice there is no group header? That's ok, Beacon assumes the "normal" group for each file when no header is provided. It's also possible to have multiple headers, even duplicates. So the following content is also valid:

StructureResistanceMultiplier=0.0

[StructuresPlus]
MinWindForTurbine=1

[ServerSettings]
ServerCrosshair=True

When building your GameUserSettings.ini file, Beacon would output the previous content as:

[ServerSettings]
ServerCrosshair=True
StructureResistanceMultiplier=0.0

[StructuresPlus]
MinWindForTurbine=1

See? Beacon's smart rewriter automatically blends and organizes the config content correctly.

Encrypting Content

When initially importing, Beacon automatically encrypts some keys, such as the ServerAdminPassword and ServerPassword values. In the editor, they will look like:

ServerAdminPassword=$$BeaconEncrypted$$slatfatf$$BeaconEncrypted$$

Notice the $$BeaconEncrypted$$ tags surrounding the value? That's all it takes, Beacon will handle the rest. When exporting or deploying, the value will be treated normally, with no $$BeaconEncrypted$$ tags. When saved to disk or the cloud, the content in the middle is encrypted with your personal 2048-bit RSA private key. When trying to open the file on a computer that does not have your private key, Beacon will just show the value as blank. The About User Privacy page has more information about Beacon's encryption.

You can manually type the $$BeaconEncryption$$ tags around as much or as little of the content as you like. Or you can select content and press the lock icon Lock Icon to the top left of the editor, and it'll insert the tags for you.

Per-Server Config Design

As of Beacon 1.2, the Custom Config Content editor allows admins to create content that is placed on only certain servers. This is an advanced feature that requires using the automated deployment options.

The editor supports blocks surrounded in #Server and #End tags. For example

StructureResistanceMultiplier=0.0

#Server abcd1234
ServerCrosshair=True
#End

Would place the StructureResistanceMultiplier on all servers, but ServerCrosshair would only be included for server abcd1234.

To find a server's identifier, switch to the Servers list in Beacon. Underneath each server name in the list will be both the server identifier and its address. Right-click a server and choose Copy Profile ID to quickly copy the identifier to be used in your custom config content.

Getting Advanced

It's possible to specify multiple servers at the same time by separating the identifiers with commas:

#Server abcd1234, 1234abcd
ServerCrosshair=True
#End

The space after the comma is optional. To make life a little easier, a #Servers command can be used instead. Both #Server and #Servers are fully interchangeable, the two commands exist just to assist with user memory.

Speaking of user memory, remembering which server is which can be hard. So the editor now supports comments:

// This comment isn't particularly helpful
#Servers abcd1234, 1234abcd
ServerCrosshair=True
#End

And it's even possible to nest code blocks, and indent if desired:

#Servers abcd1234, 1234abcd
  ServerCrosshair=True
  #Server 1234abcd
    StructureResistanceMultiplier=0.0
  #End
#End

Group Inheritance

A code block will inherit the active group from its parent, but will not change the parent group if a new group is used inside.

[ServerSettings]
// Group is now ServerSettings
ServerCrosshair=True

#Server abcd1234
  // Group is still ServerSettings
  [SessionSettings]
  // Group is now SessionSettings
  SessionName=This is the name of my server
#Server

// Group is back to ServerSettings
    No Results

    Message

    Explanation