GCF archive: Difference between revisions
No edit summary |
(Switched most text to past tense and rewrote chunks of the page) |
||
Line 1: | Line 1: | ||
{{LanguageBar}} | {{LanguageBar}} | ||
{{for|the modern replacement used by | {{for|the modern replacement used by current versions of all {{src|2}} and {{src2|2}} games| [[VPK (file format)]]}} | ||
Originally an acronym for '''G'''azelle '''C'''ache '''F'''ile ('''Gazelle''' was an early codename for [[Steam]]), '''GCF''' is now commonly taken to mean '''G'''ame '''C'''ache '''F'''ile. GCFs | Originally an acronym for '''G'''azelle '''C'''ache '''F'''ile ('''Gazelle''' was an early codename for [[Steam]]), '''GCF''' is now commonly taken to mean '''G'''ame '''C'''ache '''F'''ile. GCFs were the [[Wikipedia:Archive file|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. <code>source engine.gcf</code>), and were stored in the <code>Steam/SteamApps/</code> 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 <code>SteamApps/<account>/<game>/</code> 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. | |||
GCF | 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 [[#GCF readers|various tools]] have been made to do this. | |||
GCF files can also be encrypted | 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 | GCF files were slowly phased out over time. Starting in {{l4d|2}}, 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 {{src13|2}} which backported Left 4 Dead-style VPKs, while the older SDK bases and third-party Source games (such as {{vtmb|2}}) were updated to include a modified {{code|Steam.dll}} file that mounts depot VPK files (albeit [[Fixing_VPK_mounting_for_older_Source_SDK_Bases|somewhat brokenly]]) instead of GCFs. | ||
== GCF readers == | |||
* {{VPKEdit|4}} | |||
* {{gcfscape|4}} | |||
* {{vtfedit|4}} - 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 == | == Links == |
Latest revision as of 03:21, 14 September 2025


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, 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 which backported Left 4 Dead-style VPKs, while the older SDK bases and third-party Source games (such as
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
GCFScape
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
- Steam Application IDs for a complete list of available GCF IDs.
- GCFScape
- VTFEdit
- VTFExplorer
- HLLib