Guide

Extract the game

Step 1. Look inside content.kspkg and extract it into a folder, once, then only what changes.

Assetto Corsa EVO keeps its content in one large package, content.kspkg. Step 1 extracts it into an ordinary folder, exactly as the game reads it.

Step 2 can read content.kspkg directly, as the quick start does. Extracting once makes every later read faster, and after a game update it only writes the files that changed.

Look inside the package

kspkg info sums up a package and checks its file table:

Terminal
beamng-assetto kspkg info content.kspkg
Output
package      content.kspkg (69.07 GB)
table        last 64 MiB (game 0.7 or later), 122,398 entries
files        117,470: 78,687 XORed, 33 empty, 68.67 GB
directories  4,928
data area    69.00 GB: 68.67 GB of file data, 0.33 GB unused
top folders  cfg 0.00 GB, content 67.10 GB, editor 0.37 GB, serverconfig 0.00 GB, system 0.00 GB, uiresources 1.20 GB
problems     none: every entry is what the game expects

kspkg list lists its entries; -i keeps the paths that match a pattern:

Terminal
beamng-assetto kspkg list content.kspkg -i 'content/tracks/laguna_seca/'

Extract everything

Terminal
beamng-assetto kspkg extract content.kspkg game/

This writes about 69 GB under game/, keeping the package's layout: game/content/…, game/system/…. Before it writes anything, the command checks that the disk has room.

You can stop an extraction and start it again: files already identical to the package's are skipped. One output folder holds one package.

Extract only part of it

-i/--include and -x/--exclude select paths with regular expressions. They can be repeated: a path is kept when any include matches and no exclude does.

Terminal
beamng-assetto kspkg extract content.kspkg game/ -i 'content/tracks/laguna_seca/' -i '^system/'
  • Paths use /, such as content/tracks/spa/…. A folder matches with a trailing /.
  • Matching ignores letter case, as the game does. Add --case-sensitive to change that.
Step 2 also reads the game's tables and assets that circuits share. To build levels, extract the whole package, or let step 2 read content.kspkg directly.

Check an extraction

kspkg verify reads every file back and compares it with the package, byte for byte. When it checks the whole package, it also lists files in the folder that the package doesn't have.

Terminal
beamng-assetto kspkg verify content.kspkg game/

Keep it up to date

After a game update, run the same extraction again: only the changed files are written. Add --prune to delete files the new package no longer has.

Terminal
beamng-assetto kspkg extract content.kspkg game/ --prune

See After a game update for the whole sequence, and the command line reference for every option.

beamng.assetto is free software under the GNU AGPL v3.

Not affiliated with Kunos Simulazioni or BeamNG GmbH. Assetto Corsa EVO and BeamNG.drive are trademarks of their owners.