What is SteamPipe and why do I care?
We have upgraded Team Fortress 2, Counter-Strike: Source, Day of Defeat: Source, and Half-life 2: Deathmatch to be delivered through SteamPipe, Steam’s new content distribution. This will change how the game is downloaded, and how it is stored on your computer. The benefits to players are:
Some users might need to take special action:
No. A one-time conversion process will occur, which will take a bit longer than the usual download. You should expect your computer to do a lot of disk work, and you will need enough free hard drive space for about two full copies of the game. (For TF, around 15GB free is recommended.)
With SteamPipe, the shared Source engine files are no longer shared between games. So if you have multiple Source engine games installed, the size of disk will increase by a few GB.
Previously, each user had a folder that contained several game files. For example,
[steam installation directory]/steamapps/[username]/team fortress 2/.
When the game is converted to SteamPipe, the installation directory is shared between users. The directory will probably be something like
[steam installation directory]/steamapps/common/Team Fortress 2/.
NOTE: In this article, we will use folder names particular to Team Fortress 2 in the examples. The same principles apply to all of the games being converted, so just replace "
tf" with "
cstrike", or "
SteamPipe does not use .GCF files. Instead, content is packed up into VPK files, which are similar to .zip files. VPK files are used by other Valve games such as DOTA2, CS:GO, and Left4Dead 2. VPK files are also used on the dedicated server.
Give it some time. On some users' computers, one step in the conversion process is taking much longer than we anticipated (sometimes 15 minutes or more). Steam may become unresponsive during this time.
Create a directory in
tf/custom. For example,
tf/custom/my_custom_stuff. Locate your custom HUD files. After the conversion process, they should be in the
tf/download folder. Move the custom files that are part of your HUD to the custom folder. For example, the files that were in
tf/download/resource/ should be moved to
tf/custom/my_custom_stuff/resource/. The folder name "my_custom_stuff" is of your choosing; see below for more info.
Move your custom hitsound to a directory such as
tf/custom/my_custom_stuff/sound/ui/hitsound.wav. The folder name "my_custom_stuff" is of your choosing; see below for more info.
Look for a custom version of
SourceScheme.res on your computer. Some custom HUDs need customize this file. The shipping verison of the file has changed, and the custom version may not be compatible anymore. Delete or rename the
For most users, TF2 should take less space than before after the conversion process. Here are some places to look for wasted disk space:
steamapps/[username]/team fortress 2/folders, which are no longer used. Confirm that any custom files have successfully been moved to
steamapps/common/Team Fortress 2/, then you can safely delete the username folders.
steamappsfolder. The TF2 ones can be safely deleted. The Source engine and Half Life ones might still be needed if you any HL2-baed games installed on your computer that have not ben converted to SteamPipe.
The convesion process does not delete any user files. For most users, it should move them into the
steamapps/common/Team Fortress 2/ folder. If there was a problem with the conversion process, they might stil be in
steamapps/[username]/team fortress 2/.
Yes, and we've improved how this works.
Files downloaded from gameservers will go into the
tf/download folder. This segregates downloaded files from shipping files and your own customizations.
The conversion process can't tell which custom files you downloaded from a server, and which you intentionally customized. To be on the safe side, it will move all custom files into the
If you have customized a shipping file, however, you will need to move it from the
tf/download folder into a subfolder under the
tf/custom folder. (This is described in the next question.)
Yes. Create a folder such as
tf/custom/my_custom_stuff/ and put your custom files there.
For example, you might customize the scoreboard by extracting the
resource/ui/scoreboard.res file from the appropriate VPK (using the VPK tool in the
bin folder, or a free tool such as GCFScape) as
tf/custom/my_custom_stuff/resource/ui/scoreboard.res, and then modifying it. When the game boots, it will see the subdirectory
my_custom_stuff and add that folder as a search path. Then your version of
resource/ui/scoreboard.res will take priority over the official shipping version of the file.
You can have more than one such subfolder under
tf/custom, (for example, you might be working on two different customization projects and don’t want to get the files mixed up), but each folder is another search path added in front of the VPKs will slow down load times a little more. When you’re done tweaking your customization, you can always pack it up into a VPK and delete the subfolder.
Modifying files directly in game installation folders (
tf/materials, etc) won't always work anymore. Here's why.
Previously, when the engine looked for a file, it would first search folders on your hard disk, and then look inside the Steam GCF files. This meant that custom files in the
tf folder would take priority over the files in the GCF.
This method had two disadvantages:
The new system searches VPK files first, and then search folders on your hard disk. This reduces load times significantly. But it means that the file in the VPK's we ship will always take priority over loose files in the
Users interested in understanding the filesystem search paths in more detail should take a look at
Yes! And this is the recommended method.
Installing a mod distributed as a VPK is easy: just copy the VPK file to the
The VPK tool ships with the client, in the
bin folder. It's a command line tool, but there is one easy way to use it without any typing. If you drag a folder onto the executable, it will create a VPK with the same name as the folder, with the contents of the folder.
Probably not. First, check if the mod you are installing is available in VPK format. If so, then download the VPK and put it into your
If the mod you want to use is only available in a .zip format, then unzip it into a subdirectory under the game's
custom folder. For example, if the .zip contains custom player models that look like (heaven forbid) ponies, and one of the files is
materials/models/player/scout/scout_head.vtf, then you might make a directory such as
tf/custom/i_love_ponies. You should unzip the mod such that the custom scout head texture ends up at
Don't unzip the .zip directly into the
custom folder! Make a subdirectory!
tf/customfolder. For example,
tfinto the new directory you created. For example, the files that were in the
tf/materials/folder should end up in
For issues particular to gameservers, please send an email to the HLDS mailing list. (You can subscribe to this mailing list here.)
Otherwise, please communicate your feedback using the github bug database.