|
|
Line 1: |
Line 1: |
| {{lang|title = SteamPipe}} | | {{Multipage}} |
| {{stub}}{{todo|Most of the language subpages still use [[SteamPipe|SteamPipe:]]….}} | | {{stub}} |
| '''SteamPipe''' is [[Steam]]'s new content distribution system.
| |
|
| |
|
| It changes the way programs (including [[dedicated server]]s) 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 [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 ==
| |
|
| |
| === Players ===
| |
| * Many {{hl2|4.1}} mods that did not make the jump to the update are broken.<br>Fortunately, there are known fixes for many Half-Life 2 mods. [https://steamcommunity.com/app/420/discussions/0/864971765497379056/ Those fixes can be found here.]].
| |
| * Most {{src13|4.1}} games (including third-party games) now contain duplicate copies of the {{hl2|4.1}} base files {{hl2|in|addtext-front=''except''|addtext={{hl2ep1}} {{hl2ep2}} {{hl2lc}} {{hls}}}}, wasting storage drive space.
| |
| :{{warning|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 {{src13mp}} "hl2" VPKs are different from the VPKs actually used by {{hl2}}, and the {{tf2}} "hl2" VPKs are different from the other {{src13mp}} "hl2" VPKs.<!--
| |
| -->{{workaround|Two options are such:<ul><li>Use relative links to the [[VPK]]s (or folders) in [[gameinfo.txt]], so they look something like this:<br><pre>game "../Half-Life 2/hl2/hl2_textures.vpk"</pre><li>Use Symbolic links or Hardlinking [[VPK]]s (or folders) using programs such as [https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html Link Shell Extension] (easier), or via Windows's {{code|mklink}} command; [https://www.howtogeek.com/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/ more info can be found here].</ul>
| |
| }} }}
| |
|
| |
| === Developers ===
| |
|
| |
| The Source SDK Launcher no longer works for {{src13|4}} 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 {{hammer|1|nt=1}}).<br><br>
| |
| Example path to SDK: {{path|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 [[GCF]]s 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 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 ==
| |
| * [[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
| |
|
| |
| == External links ==
| |
| # [https://web.archive.org/web/20210419201507/https://support.steampowered.com/kb_article.php?ref=7388-QPFN-2491 Steam Support page]
| |
|
| |
|
| [[Category:CDN|SteamPipe]] | | [[Category:CDN|SteamPipe]] |