The ability to create and restore backup files was added in CheckValve 2.0.5. The CheckValve backup file is comprised of a header and a body.
The header consists of several lines at the top of the file, each starting with ##. The header should not be edited or removed, as it is read by CheckValve to get the app version and file creation date when the backup file is selected for restoration. An example header would be something like this:
##
## CHECKVALVE DATA BACKUP - DO NOT EDIT
##
## Version: CheckValve version 2.0.5
## Created: 2016-02-23 15:20:55 -0500
##
The body of the backup file consists of stanzas containing information for the entities to be restored. Each stanza begins with the entity class in brackets, which must be one of [version], [server], [setting], or [flag]. The entity class is followed by the entity's data in <key>=<value> pairs. Within the file body, blank lines and lines starting with '#' are ignored. The following information is contained within the backup file:
There is one (and only one) version stanza in the backup file. A file containing more than one version stanza will be rejected. The version stanza contains the following attributes:
app
file
The internal version number of CheckValve when the file was created
The backup file format version
Example:
[version]
app=10
file=1
There can be one or more server stanzas if the Include servers option was selected in CheckValve when the file was created. Each server stanza consists of the following attributes:
Example:
[server]
nickname=My TF2 Server
url=mytf2.example.com
port=27015
timeout=1
rcon=c1VwRXJTZUNyRXQ=
listpos=1
The file will contain setting stanzas if the Include settings option was selected in CheckValve when the file was created. Each setting stanza consists of the following attributes:
type
id
value
The data type of this setting, one of string, int, or bool
The ID (or name) of this setting in the CheckValve database
The value of this setting
Note: If the type is bool, then the value must be either true or false.
Example:
[setting]
type=bool
id=rcon_show_suggestions
value=true
These "flags" are actually empty marker files which CheckValve creates on the device's file system based on certain preferences. Each flag stanza consists of one attribute:
name
The name of the marker file
Example:
[flag]
name=.hide_chat_relay_note