Backup File Format

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.

Header

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

##

Body

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:

Version

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

Server

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

Setting

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

Flag

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