Difference between revisions of "SteamPipe"

From Valve Developer Community
Jump to: navigation, search
(The tools path varies on a per-game basis.)
m
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{otherlang2
 
{{otherlang2
 +
|pt-br=SteamPipe:pt-br
 +
|es=SteamPipe:es
 +
|nl=SteamPipe:nl
 +
|pl=SteamPipe:pl
 
|zh-cn=SteamPipe:zh-cn
 
|zh-cn=SteamPipe:zh-cn
|pl=SteamPipe:pl
 
|nl=SteamPipe:nl
 
 
}}
 
}}
 
'''SteamPipe''' is Steam's new content distribution system. It changes the way games (including dedicated servers) are downloaded, updated and stored. More information can be found on the [https://support.steampowered.com/kb_article.php?ref=7388-QPFN-2491 Steam Support page].
 
'''SteamPipe''' is Steam's new content distribution system. It changes the way games (including dedicated servers) are downloaded, updated and stored. More information can be found on the [https://support.steampowered.com/kb_article.php?ref=7388-QPFN-2491 Steam Support page].
Line 23: Line 25:
  
 
Game developers using SteamPipe can [http://garry.tv/2012/08/16/approved-updates/ issue updates themselves]; the previous system required manual intervention by Valve when an update was to be published.
 
Game developers using SteamPipe can [http://garry.tv/2012/08/16/approved-updates/ 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 [http://en.wikipedia.org/wiki/Caching_proxy#Caching_proxy_servers caching] but is also very useful for [http://en.wikipedia.org/wiki/Local_area_network LAN's]. Setting up a caching proxy can significantly reduce the amount of bandwidth required for multiple clients or servers to preform updates.
 +
 +
[http://blog.multiplay.co.uk/2014/04/lancache-dynamically-caching-game-installs-at-lans-using-nginx/ LANcache – Dynamically Caching Game Installs at LAN’s using Nginx] is an example of how to setup caching proxy for SteamPipe as used at [http://multiplay.com/ Multiplay's] [http://insomniagamingfestival.com/ Insomnia Gaming Festival].
 +
[https://hub.docker.com/r/agentgonzo/steam-squid/ steam-squid] is a [https://www.docker.com/ Docker] image containing a Steam-optimised version of the Squid caching proxy for easy installation.
  
 
== Downsides ==
 
== Downsides ==
Line 44: Line 53:
 
* Dedicated servers are no longer updated using [[HLDSUpdateTool]] (known as <tt>steam</tt> on Linux) but using [[SteamCMD]] (a stripped-down version of the full Steam client).
 
* Dedicated servers are no longer updated using [[HLDSUpdateTool]] (known as <tt>steam</tt> on Linux) but using [[SteamCMD]] (a stripped-down version of the full Steam client).
 
[[Category:Dedicated Server]]
 
[[Category:Dedicated Server]]
 +
 +
== See Also ==
 +
* [[GoldSource_SteamPipe_Directories]] for the list of directories used by GoldSource engine games
 +
* [[IFileSystemV009]] for the C++ interface used to access files through SteamPipe in GoldSource

Latest revision as of 16:57, 14 October 2018

Español Nederlands Polski Português-Brasileiro 简体中文

SteamPipe is Steam's new content distribution system. It changes the way games (including dedicated servers) are downloaded, updated and stored. More information can be found on the Steam Support page.

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

The only real downside to the Steampipe update is that many Half-Life and Half-Life 2 mods that are now broken, and many that did not make the jump to the update.

Fortunately, there are known fixes for many Half-Life 2 mods. Those fixes can be found here.

Developers

The Source SDK Launcher no longer works. 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 " Example: 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), Source games distributed via SteamPipe 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 no longer updated using HLDSUpdateTool (known as steam on Linux) but using SteamCMD (a stripped-down version of the full Steam client).

See Also