Steam/SteamPipe: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Now redirects to "SteamPipe". New name just recently caused confusion which makes me accidentally moved other langs to SteamPipe/(lang) instead of Steam/SteamPipe/(lang).)
Tag: New redirect
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{lang|title = SteamPipe}}
#redirect [[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 '''(''except'' for {{hl2}} {{hl2ep1}} {{hl2ep2}} {{hl2lc}} {{hls}})''', which would take more hard drive space. The workaround for this, is to use Symbolic links or Hardlinking {{ext|vpk}} files (or folder) 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].
 
=== 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 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:Steam|SteamPipe]]
[[Category:Dedicated Server|SteamPipe]]<!--Why?-->

Latest revision as of 23:44, 22 August 2023

Redirect to: