Extract the game
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.
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:
beamng-assetto kspkg info content.kspkg
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:
beamng-assetto kspkg list content.kspkg -i 'content/tracks/laguna_seca/'
Extract everything
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.
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.
beamng-assetto kspkg extract content.kspkg game/ -i 'content/tracks/laguna_seca/' -i '^system/'
- Paths use
/, such ascontent/tracks/spa/…. A folder matches with a trailing/. - Matching ignores letter case, as the game does. Add
--case-sensitiveto change that.
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.
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.
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.