GCF archive

From Valve Developer Community
Revision as of 03:21, 14 September 2025 by Luke18033 (talk | contribs) (Switched most text to past tense and rewrote chunks of the page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
For the modern replacement used by current versions of all Source Source and Source 2 Source 2 games, see VPK (file format).

Originally an acronym for Gazelle Cache File (Gazelle was an early codename for Steam), GCF is now commonly taken to mean Game Cache File. GCFs were the archive files in which Steam games were stored and official content was downloaded prior to the introduction of SteamPipe in 2013. GCF files could be shared between games (e.g. source engine.gcf), and were stored in the Steam/SteamApps/ folder.

The GCF format made keeping tabs on and moving games much easier, ensured time was not wasted by the operating system indexing or otherwise handing the game files, and kept important data away from any custom files the user might have, which were stored under a separate SteamApps/<account>/<game>/ folder. They were also used for content validation in multiplayer (sv_pure). Loading of files from GCF archives was handled entirely by Steam itself and only accessed by the engine through an interface. This made all of the aforementioned behaviors completely transparent to the engine, and also served as a minimal layer of DRM, as a cracked copy of a game that bypassed Steam would no longer be able to read GCFs, requiring that their contents be extracted to disk.

When a GCF was created or updated, the disk space required for it was reserved and content was subsequently downloaded to fill it. This process minimized fragmentation, but could be slow and appear to make the Steam client freeze with older, or lower-end hardware and/or software.

Generally, GCF files could not be altered. "Invisible" internal rearrangements were possible (such as with GCFScape's defragmentation tool), but any changes to the contents of the files stored in the GCF would cause Steam to correct them when it next ran. Their contents could only be viewed or extracted, and various tools have been made to do this.

GCF files can also be encrypted. This was used to allow users to preload upcoming software, allowing for almost immediate access on release day without having to wait for a download and spreading out bandwidth usage on the content distribution servers by allowing downloading weeks before the release of the software. The current Steam client still supports this feature, although it is now internally handled differently.

GCF files were slowly phased out over time. Starting in Left 4 Dead Left 4 Dead, all game files would be stored directly on disk as far as Steam was concerned, with VPK files included as a replacement which are read by the engine directly. In 2013, SteamPipe was introduced, phasing out GCF files entirely. All Valve games were updated to Source 2013 Source 2013 which backported Left 4 Dead-style VPKs, while the older SDK bases and third-party Source games (such as Vampire: The Masquerade – Bloodlines Vampire: The Masquerade – Bloodlines) were updated to include a modified Steam.dll file that mounts depot VPK files (albeit somewhat brokenly) instead of GCFs.

GCF readers

  • VPKEdit VPKEdit
  • GCFScape GCFScape
  • VTFEdit VTFEdit - Can browse GCFs but cannot extract folders
  • VTF Explorer - Can browse GCFs, extract their contents, and build statistical info about files which weren't fully downloaded

Links

External links