Main Menu

Source engine games on SteamPipe

What is SteamPipe and why do I care?

General questions

Q. What’s happening?

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:

  • Faster downloads
  • Faster map load times and much faster boot times
  • Easier distribution, installation, and management of mods

Q. Do I need to do anything?

Some users might need to take special action:

  • Users who customize game files for custom HUDs, hitsounds, skins, etc. will need to move some files to a different folder. (See below.)
     
  • Gameserver operators will need to switch to the new download tool, Steamcmd, and be aware of how the changes to the filesystem affect any customizations they have made. (Please see the separate FAQ for gameserver operators.
     

Q. Will I have to download the entire game again?

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.

Q. Where did the game move to?

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 "dod", "cstrike", or "hl2mp"

Q. What happened to the .GCF files?

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.

Common problems

Q. The conversion process crashed steam, what do I do?

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.

Q. My custom HUD broke. How do I fix it?

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.

Q. My custom hitsound broke. How do I fix it?

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.

Q. My server browser and console are all screwed up. How do I fix it?

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 SourceScheme.res file.

Q. TF2 is taking up a huge amount of space on my HDD. What happened?

For most users, TF2 should take less space than before after the conversion process. Here are some places to look for wasted disk space:

  • Look for 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.
  • Look for Source Engine, Half Life 2, and Team Fortress 2 .GCF files in the steamapps folder. 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.

Q. My XYZ file got deleted. Where did it go?

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/.

Customization

Q. Can I still download custom maps and other files from gameservers?

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.

Q. What will happen to files I already downloaded or customized?

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 tf/download folder.

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.)

Q. Can I still customize any game file?

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.

Q. Why can't I just edit files directly in the game folder like I did before?

Modifying files directly in game installation folders (tf/resource, 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:

  1. It slowed down loading, because the vast majority of files were in the GCFs. Booting the game or loading a level would cause many thousands of operating system calls to attempt to open files, most of which would fail.
  2. Files from many different sources were mixed together. (Files you intentionally customized, files downloaded from gameservers you visited, files from third party mods, and any official shipping games files that were not in the GCF.) Removing a mod was difficult because the files were scattered across several directories. This problem will be exacerbated with SteamPipe, because more game files are shipped loose on disk than was the case when GCF's were used.

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 tf folder.

Users interested in understanding the filesystem search paths in more detail should take a look at tf/gameinfo.txt.

Q. Can custom content be put into VPK's?

Yes! And this is the recommended method.

Installing a mod distributed as a VPK is easy: just copy the VPK file to the tf/custom folder.

Q. How can I create a VPK?

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.

Q. I have a mod distributed as a .zip. The instructions say to unzip it directly into my game folder. Should I?

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 tf/custom folder.

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 dirctory such as tf/custom/i_love_ponies. You should unzip the mod such that the custom scout head texture ends up at tf/custom/i_love_ponies/materials/models/player/scout/scout_head.vtf.

Don't unzip the .zip directly into the custom folder! Make a subdirectory!

  1. Create a subdirectory in the tf/custom folder. For example, tf/custom/lots_of_custom_stuff
  2. Copy the directory structure under tf into the new directory you created. For example, the files that were in the tf/materials/ folder should end up in tf/custom/lots_of_custom_stuff/materials/.

Bugs

Q. Where do I report a bug or give feedback for these changes?

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.

Q. What are the known issues?

Known bugs:

  1. The dedicated server might fail to load the Steam libraries the first time you boot it. Booting it a second time will fix the problem.
  2. The SDK and content creation tools have several major problems. Please bear with us, we are going to get these fixed soon. We don't have any intention of abandoning our content creators!

Problem with Steam?

Contact Steam Support