SteamPipe
SteamPipe 是 Steam 新的内容分发系统。它改变了游戏(包括专用服务器)下载、更新和存储的方式。更多信息可以在 客服页面找到。
优点
玩家
对于玩家的好处是:
- 更快、更流畅的下载
- 更快的游戏启动和地图载入
- 更容易的分发、安装和管理 mod。
- 更流畅的分发和更新专用服务器
服务器管理员
相比以前专有的传输协议, SteamPipe 使用 HTTP,允许数据中心托管多台服务器来建立一个缓存HTTP代理, 只需要单一的主机从 Valve 的服务器上下载更新。
开发者
开发者使用 SteamPipe 可以自行更新游戏;以前的系统需要在推送更新时由 Valve 手动干预。
LAN缓存
由于 SteamPipe 现在使用 HTTP 协议,这不仅允许托管多个服务器的数据中心设置 caching 缓存,而且对于 [http://en.wikipedia.org/wiki/Local_area_network LAN 也非常有用。 设置缓存代理可以显著减少多个客户端或服务器执行更新所需的带宽量。 LANcache – 使用 Nginx 在 LAN 中动态缓存游戏安装 是一个关于如何设置 SteamPipe 缓存代理的例子,正如 Multiplay 的 Insomnia Gaming Festival 所使用的一样。 steam-squid 是一个 Docker 镜像,其中包含针对 Steam 优化的 Squid 缓存代理版本,方便安装。
缺点
玩家
以下是一些使用 半衰期2(和/或其 Episodes)内容但未进行更新的 Source SDK 模组已经损坏,这也包括一些(但并非全部)
半衰期 模组。
幸运的是,许多《半条命 2》模组都有已知的修复方法。这些修复方法可以在这里找到。。
警告:虽然可以将多个游戏指向同一个 VPK, 但并非所有同名的 VPK 在所有游戏中都是相同的!例如,
的 "hl2" VPK 与
实际使用的 VPK 不同,并且
的 "hl2" VPK 也与其他
的 "hl2" VPK 不同。
解决方案:以下是两种方案:
- 在 gameinfo.txt 中使用指向 VPK(或文件夹)的相对链接,使其看起来像这样:
game "../Half-Life 2/hl2/hl2_textures.vpk"
- 使用符号链接或硬链接 VPK (或文件夹),可以使用诸如Link Shell Extension (链接外壳扩展,更简单)之类的程序, 或者通过 Windows 的 mklink 命令; 更多信息可以在这里找到.
- 在 gameinfo.txt 中使用指向 VPK(或文件夹)的相对链接,使其看起来像这样:
在 SteamPipe 更新之后, 半衰期:起源 没有得到适当的更新,导致游戏出现更多错误和故障,以及图形问题。这个问题从未得到修复,Valve 反而将游戏从搜索结果中移除,转而推广 原始版本,而此时距离 SteamPipe 更新发布已经过去了 10 年。
开发者
Source SDK 启动器不支持 起源2013 游戏。曾经在 Source SDK 启动器中的游戏的工具现在必须通过访问 "C:\Program Files (x86)\Steam\SteamApps\common[游戏名称]\bin"(见下方示例路径)来启动,然后运行 .bat 文件(例如:运行 Hammer.bat 以启动 Valve Hammer Editor)。
SDK 的示例路径:C:\Program Files (x86)\Steam\SteamApps\common\Half Life 2\bin
改变
- 下载使用 HTTP ,而不是专有协议。
- 数据文件不再放入 GCF ,而直接放入文件系统。
- 游戏前/期间生成的数据不再存储在 SteamApps 的用户特定子目录中;而是使用 common 子文件夹。
- 专用服务器不再使用 HLDSUpdateTool 来更新(已知像 Linux 上的 steam)而使用 SteamCMD (一个完整 Steam 客户端的精简版)。
查看更多
- 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