The novadrop-dc tool allows manipulation of TERA's data center files. It supports the following tasks:
Reasonably accurate inference of XSD schemas from a packed data center file.
Validation of data sheets against schemas, preventing many mistakes when authoring data sheets.
Packing of data sheets in accordance with type and key information in schemas to a fresh data center file usable by the client.
Format integrity verification of data center files, optionally with strict compliance checks.
Support for various iterations of the data center format throughout the game's history.
In general, novadrop-dc is quite fast: It exploits as many cores as are available for parallel extraction, validation, and packing. On a modern system, unpacking an official data center file takes around 15 seconds, while packing the resulting data sheets takes around 25 seconds.
Packs the data sheets in a directory to a data center file. If validation of the data sheets fails during packing, a list of problems will be printed and the exit code will be non-zero.
The input
argument specifies a directory containing data sheets and schemas. The output
argument specifies the path of the resulting data center file.
Option | Description |
---|---|
Repacks a data center file without unpacking to disk. This command is primarily useful for development of novadrop-dc.
The input
argument specifies the input data center file. The output
argument specifies the path of the resulting data center file.
Performs best-effort inference of the schemas for the data tree in a data center file. This may be useful when working with older data centers for which Novadrop's included schemas are not correct.
Please note that, regardless of whether the Conservative
or Aggressive
inference strategy is used, the generated schemas will require a human touch after they have been generated. Among other things, this command cannot tell whether a given path in the tree with repeated node names represents a truly recursive structure.
The input
argument specifies the input data center file. The output
argument specifies the path of the directory to write inferred schemas to.
Unpacks the data tree in a data center file to a series of data sheets and schemas in a directory. This command is primarily intended for unpacking official data center files into a form that is easily maintainable by humans.
The input
argument specifies the input data center file. The output
argument specifies the path of the directory to extract data sheets and schemas to.
Validates the data sheets in a directory against their schemas. If validation of the data sheets fails, a list of problems will be printed and the exit code will be non-zero.
The input
argument specifies a directory containing data sheets and schemas.
Verifies the format integrity of a data center file. This means traversing the entire data tree, reading all nodes and attributes, and ensuring that no errors occur.
The input
argument specifies the input data center file.
Option | Description |
---|---|
Option | Description |
---|---|
Option | Description |
---|---|
Option | Description |
---|---|
--format <format>
Specifies the data center format variant (defaults to V6X64
).
--revision <value>
Specifies the data tree revision number (defaults to latest known revision).
--compression <level>
Specifies a compression level (defaults to Optimal
).
--encryption-key <key>
Specifies an encryption key (defaults to the latest known key).
--encryption-iv <iv>
Specifies an encryption IV (defaults to the latest known IV).
--decryption-key <key>
Specifies a decryption key (defaults to the latest known key).
--decryption-iv <iv>
Specifies a decryption IV (defaults to the latest known IV).
--architecture <architecture>
Specifies the data center format architecture (defaults to X64
).
--strict
Enables strict format compliance checks while reading the input file.
--format <format>
Specifies the data center format variant (defaults to V6X64
).
--revision <value>
Specifies the data tree revision number (defaults to latest known revision).
--compression <level>
Specifies a compression level (defaults to Optimal
).
--encryption-key <key>
Specifies an encryption key (defaults to the latest known key).
--encryption-iv <iv>
Specifies an encryption IV (defaults to the latest known IV).
--decryption-key <key>
Specifies a decryption key (defaults to the latest known key).
--decryption-iv <iv>
Specifies a decryption IV (defaults to the latest known IV).
--architecture <architecture>
Specifies the data center format architecture (defaults to X64
).
--strict
Enables strict format compliance checks while reading the input file.
--strategy <level>
Specifies a schema inference strategy (defaults to Conservative
).
--subdirectories
Enables using output subdirectories based on data sheet names.
--decryption-key <key>
Specifies a decryption key (defaults to the latest known key).
--decryption-iv <iv>
Specifies a decryption IV (defaults to the latest known IV).
--architecture <architecture>
Specifies the data center format architecture (defaults to X64
).
--strict
Enables strict format compliance checks while reading the input file.
--decryption-key <key>
Specifies a decryption key (defaults to the latest known key).
--decryption-iv <iv>
Specifies a decryption IV (defaults to the latest known IV).
--architecture <architecture>
Specifies the data center format architecture (defaults to X64
).
--strict
Enables strict format compliance checks while reading the input file.