PAK is a simple file archival format used by Quake and Half-Life. It consists simply of the concatenated uncompressed raw data of the containing files, followed by the table of contents with the content files' name, location, and size within the pak file.
It was used extensively in retail WON Half-Life and WON-era mods. Support for PAK files were dropped in early Steam Half-Life, but added back in the 2013 SteamPipe update.
The main advantage of using PAKs was that it reduced operating system filesystem overhead back when CPUs were slow, and disk access slower, in the late 90s and early 00s compared to today. It also neatly packages a complete set of content, and old mods like They Hunger used it to distribute expansions this way.
Several programs to open PAK files include
PakScape and
GCFScape (recommended).
Naming and loading order
Only pak files named
pak0.pak
,
pak1.pak
,
pak2.pak
, ...,
pakN.pak
are loaded, in order. The engine stops loading on the first missing index, i.e. if there exists paks 0 through 2 but 3 is missing, then it won't load paks 4 and above even if they exists.
With the steampipe folder hierarchy (see link below for more info), pak files are loaded from
_addon
suffixed folders as well.
See also