SteamPipe

From Valve Developer Community
(Redirected from Steam/SteamPipe)
Jump to navigation Jump to search
English (en)Español (es)Nederlands (nl)Polski (pl)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Stub

This article or section is a stub. You can help by expanding it.

SteamPipe is Steam's new content distribution system introduced in 2013.

It changes the way programs (including dedicated servers and the Source engine) are downloaded, updated and stored.

Benefits

Players

The benefits to players are:

  • Faster and smoother downloads
  • Faster game boot times and map load times
  • Easier distribution, installation, and management of mods
  • Smoother dedicated server distribution and update rollover

Server administrators

Instead of a proprietary delivery protocol, SteamPipe uses HTTP, which allows datacenters hosting multiple servers to set up a caching HTTP proxy, necessitating only a single download of an update from Valve's servers.

Game developers

Game developers using SteamPipe can issue updates themselves; the previous system required manual intervention by Valve when an update was to be published.

LAN Caching

As SteamPipe now uses HTTP it allows not only datacenters hosting multiple servers to setup a caching but is also very useful for LAN's. Setting up a caching proxy can significantly reduce the amount of bandwidth required for multiple clients or servers to preform updates.

LANcache – Dynamically Caching Game Installs at LAN’s using Nginx is an example of how to setup caching proxy for SteamPipe as used at Multiplay's Insomnia Gaming Festival. steam-squid is a Docker image containing a Steam-optimised version of the Squid caching proxy for easy installation.

Downsides

Players

  • Many Source SDK mods that use Half-Life 2 Half-Life 2 (and/or its Episodes) content that did not make the jump to the update are broken, this also includes some (but not all) Half-Life Half-Life mods.
    Fortunately, there are known fixes for many Half-Life 2 mods. Those fixes can be found here..
  • Most Source 2013 Source 2013 games (including third-party games) now contain duplicate copies of the Half-Life 2 Half-Life 2 base files (except in Half-Life 2Half-Life 2: Episode One Half-Life 2: Episode Two Half-Life 2: Lost Coast Half-Life: Source), wasting storage drive space.
Warning.pngWarning:While the it is possible to point multiple games to the same VPK, not all VPKs with the same name are the same on all games! For example, the Source 2013 Multiplayer "hl2" VPKs are different from the VPKs actually used by Half-Life 2, and the Team Fortress 2 "hl2" VPKs are different from the other Source 2013 Multiplayer "hl2" VPKs.
PlacementTip.pngWorkaround:Two options are such:
  • After the SteamPipe update, Half-Life: Source Half-Life: Source was not properly updated which resulted the game having more bugs and glitches, with graphical issues. This issue has never been fixed and Valve instead de-listed the game from search in favor of promoting the original version instead, 10 years after the SteamPipe update was released.

Developers

The Source SDK Launcher does not have support for Source 2013 Source 2013 games. Tools for games that used to be in the Source SDK Launcher must now be launched by going to "C:\Program Files (x86)\Steam\SteamApps\common\[game name]\bin" (see example path below) then launching the .bat files (Example: Hammer.bat to launch Valve Hammer Editor).

Example path to SDK: 🖿C:\Program Files (x86)\Steam\SteamApps\common\Half Life 2\bin

Changes

  • Downloads are performed using HTTP instead of a proprietary protocol.
  • Data files are no longer placed into GCFs but directly into the file system.
    • To counteract the performance issues with accessing many tiny files (the reason why GCFs were used in the first place), all Source games (prior to Left 4 Dead) distributed via SteamPipe now store their assets in VPK archives.
  • Data generated before/during gameplay is no longer stored in user-specific subdirectories of SteamApps; instead, the common subfolder is used.
  • Dedicated servers are using SteamCMD (a stripped-down version of the full Steam client).

See also

External links