NAME

scs_archive - Read and extract .scs archive contents

SYNOPSIS

# List archive contents
scs_archive --list-dirs
scs_archive --list-files
scs_archive --list-orphans

# Extract files
scs_archive -x def/sign/mileage_targets.sii
scs_archive -x -r def/country  def/bank_data.sii
scs_archive -x version.sii -o - | grep version
scs_archive --list-files | grep wallbert | scs_archive -x -

# Select a specific game dir to work on
scs_archive -g ATS ...
scs_archive -g ~/.local/steam/steamapps/...  --version
STEAM_LIBRARY=~/.local/steam  scs_archive ...

# Only work on specific archive files
scs_archive -m def.scs ...
scs_archive -m def.scs -m dlc_ne.scs -m dlc_ks.scs ...
scs_archive -m path/to/file.scs ...

scs_archive --help

DESCRIPTION

Read and extract SCS archive contents.

Unless otherwise specified with the --mount option, this tool will search for the game install dir inside your Steam library and mount every .scs file found in there. If you have more than one SCS game installed, you can specify which one to work on using the --game option.

Archive contents can be listed using the --list-* commands. Some files may not appear in a directory index. Such "orphans" can be listed separately. Files, orphans and directories can be extracted by using the --extract command.

Note that HashFS version 2 texture objects are not yet implemented. Trying to extract those with this tool currently won't yield a useful result.

COMMANDS

--extract, -x

Extract the given paths from the mounted archives (including subdir contents, if any). If - is given as path, this tool will read the list of paths to extract from standard input.

--help, -?

Display this manual page.

--list-dirs

Write all directory paths in mounted archives to standard output.

--list-files

Write all file paths in mounted archives to standard output.

--list-orphans

Write the hash of all orphans in mounted archives to standard output.

--version

Display version information.

OPTIONS

--game, -g

The game install dir to work on. Accepts a full path, the full game name, or the abbreviated game name (ATS or ETS2). Given a game name, this tool will search several common locations for your Steam library. If your Steam library is installed in a non-standard location, you can set the environment variable STEAM_LIBRARY. See Archive::SCS::GameDir for other options.

--mount, -m

SCS archive file to mount. May be given multiple times. Accepts a full or relative path or a simple filename; the latter will be matched to the game install dir, see --game. If not given, all the archives in the install dir will be mounted.

--output, -o

Any extracted files and directories will be created in the specified path. If - is given as path, this tool will write to standard output instead of creating files (best used for extracting single files only).

--recursive, -r

Extract directory contents recursively. If this option is not given, extracting a directory will only create the directory itself, but not any files inside it.

--verbose, -v

Print diagnostic information.

SEE ALSO

AUTHOR

nautofon

COPYRIGHT

This software is copyright (c) 2024 by nautofon.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.