Difference between revisions of "SteamCMD:zh-cn"

From Valve Developer Community
Jump to: navigation, search
(同步翻译(未完成))
Line 1: Line 1:
 
{{otherlang2
 
{{otherlang2
|title=Steam命令行版客户端
+
|title=Steam 命令行版客户端
 
|en=SteamCMD
 
|en=SteamCMD
 
|ko=SteamCMD:ko
 
|ko=SteamCMD:ko
Line 9: Line 9:
 
|ru=SteamCMD:ru
 
|ru=SteamCMD:ru
 
}}
 
}}
'''Steam命令行版客户端'''('''SteamCMD''')是一个命令行版本的Steam客户端。它的主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用的专用服务端。它适用于使用[[SteamPipe:zh-cn|SteamPipe]]内容分发系统的游戏。所有游戏已经从旧的[[HLDSUpdateTool|半条命专用服务器更新工具]]迁移到了SteamCMD。
+
'''Steam 命令行版客户端'''('''SteamCMD''')是一个命令行版本的 Steam 客户端。它的主要用途是在一个命令行界面的 Steam 客户端上安装及更新各种可用的专用服务端。它适用于使用 [[SteamPipe:zh-cn|SteamPipe]] 内容分发系统的游戏。所有游戏已经从旧的[[HLDSUpdateTool| 半条命专用服务器更新工具]]迁移到了 SteamCMD。
  
 
== 下载 SteamCMD ==
 
== 下载 SteamCMD ==
=== Windows系统 ===
+
=== Windows ===
  
1. 创建一个为SteamCMD准备的文件夹。
+
1. 创建一个为 SteamCMD 准备的文件夹。
  
“例如”
+
''例如''
  
 
  C:\steamcmd
 
  C:\steamcmd
  
2. 下载Windows系统专用的SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
+
2. 下载适用于 Windows 系统的 SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
 +
(推荐中国内地用户从内地节点下载:https://media.st.dl.bscstorage.net/client/installer/steamcmd.zip)
  
3. 解压Zip文件中的文件到文件夹。
+
3. 提取 zip 中的文件至文件夹。
  
=== Linux系统 ===
+
=== Linux ===
  
1. 首先安装运行环境用以运行SteamCMD。
+
创建一个名为 ''steam'' 的用户帐户以安全地运行 SteamCMD,并将其与操作系统的其余部分隔离。'''以 root 用户身份登录时请勿运行 steamcmd'''——这样做会带来'''安全风险'''。
  
Ubuntu/Debian 64位
+
1. 以 root 用户身份创建 ''steam'' 用户:
  
  sudo apt-get -y install lib32gcc1
+
  useradd -m steam
 +
 
 +
2. 进入其主文件夹:
 +
 
 +
cd /home/steam
 +
 
 +
==== 安装来自软件仓库的软件包 ====
 +
1. 建议从您的分发软件仓库安装 SteamCMD 软件包(如果有):
 +
 
 +
Ubuntu/Debian
 +
sudo apt install steamcmd
 +
 
 +
{{Note|如果您使用的是64位计算机,则需要添加 multiverse
 +
  sudo add-apt-repository multiverse
 +
  sudo dpkg --add-architecture i386
 +
  sudo apt update
 +
  sudo apt install lib32gcc1 steamcmd
 +
}}
  
RedHat/CentOS 32位
+
RedHat/CentOS
 +
yum install steamcmd
  
  sudo yum -y install glibc libstdc++
+
Arch Linux
 +
  git clone https://aur.archlinux.org/steamcmd.git
 +
cd steamcmd
 +
makepkg -si
  
RedHat/CentOS 64位
+
2. 链接 '''steamcmd''' 可执行文件:
  
  sudo yum -y install glibc.i686 libstdc++.i686
+
ln -s /usr/games/steamcmd steamcmd
 +
 
 +
==== Docker ====
 +
如果你的服务器正在运行 [https://www.docker.com/ Docker],您可以简单地使用:
 +
<pre>
 +
docker run -it --name=steamcmd cm2network/steamcmd bash
 +
</pre>
 +
 
 +
steamcmd.sh location: ''/home/steam/steamcmd''
 +
 
 +
该映像可用作基于Steam的专用服务器的基础映像。
 +
例如:
 +
[https://hub.docker.com/r/cm2network/csgo/ https://hub.docker.com/r/cm2network/csgo/]
 +
 
 +
您可以在此处找到相关的 Docker Hub 页面:
 +
[https://hub.docker.com/r/cm2network/steamcmd/ https://hub.docker.com/r/cm2network/steamcmd/]
 +
 
 +
 
 +
==== 手动安装 ====
 +
1. 在开始之前,您必须先安装运行 SteamCMD 所需的依赖项:
 +
 
 +
Ubuntu/Debian 64-Bit
 +
 
 +
  sudo apt-get install lib32gcc1
 +
 
 +
RedHat/CentOS
 +
 
 +
yum install glibc libstdc++
 +
 
 +
RedHat/CentOS 64-Bit
 +
 
 +
yum install glibc.i686 libstdc++.i686
 +
 
 +
2. 以 root 用户身份升级至 ''steam'' 用户:
  
2. 建议创建一个SteamCMD专用的用户。在任何情况下,请 '''不要''' 在 '''root''' 身份下运行SteamCMD,这可能会导致严重的安全隐患!
 
运行以下命令以root身份创建“Steam”用户,并登录它:
 
useradd -m steam
 
 
  su - steam
 
  su - steam
如果你喜欢使用 <code>sudo</code>,更换第二行代码为以下命令:
+
 
 +
如果您不是以 root 用户身份登录,而是使用<code>sudo</code>来行使管理权限,请以如下所示来升级至 ''steam'' 用户:
 +
 
 
  sudo -iu steam
 
  sudo -iu steam
  
3. 创建一个为SteamCMD准备的目录,并切换到它
+
3. 为 SteamCMD 创建目录并切换至该目录。
 +
 
 +
mkdir ~/Steam && cd ~/Steam
 +
 
 +
4. 下载并解压缩适用于 Linux 的 SteamCMD。
 +
 
 +
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
 +
 
 +
中国内地用户可使用以下命令以使用内地节点:
 +
 
 +
curl -sqL "https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
  
mkdir ~/steamcmd && cd ~/steamcmd
+
5. 安装tmux 和/或 screen 以简化服务器管理
  
4. 下载并解压Linux系统专用的SteamCMD
+
  sudo apt-get install tmux screen -y;
   
 
curl -sqL ' https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz ' | tar zxvf -
 
  
=== macOS系统 ===
+
=== macOS ===
  
1.打开终端并创建一个为SteamCMD准备的目录。
+
1.打开终端并创建一个为 SteamCMD 准备的目录。
  
 
  mkdir ~/steamcmd && cd ~/steamcmd
 
  mkdir ~/steamcmd && cd ~/steamcmd
  
2. 下载并解压macOS系统专用的SteamCMD。
+
2. 下载并解压缩适用于 macOS 的 SteamCMD。
  
 
  curl -sqL ' https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz ' | tar zxvf -
 
  curl -sqL ' https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz ' | tar zxvf -
 +
 +
中国内地用户可使用以下命令以使用内地节点:
 +
 +
curl -sqL ' https://media.st.dl.bscstorage.net/client/installer/steamcmd_osx.tar.gz ' | tar zxvf -
  
 
== 运行 SteamCMD ==
 
== 运行 SteamCMD ==
  
''在第一次运行SteamCMD时将自动更新并显示一个 <code>Steam&gt;</code> 的输入提示。输入 <code>help</code> 来获取更多信息。''
+
''在第一次运行 SteamCMD 时将自动更新并显示一个<code>Steam&gt;</code>的输入提示。输入<code>help</code>来获取更多信息。''
  
=== Windows系统 ===
+
=== Windows ===
打开一个命令行窗口并启动SteamCMD。
+
打开一个命令行窗口并启动 SteamCMD。
  
 
  cd C:\steamcmd
 
  cd C:\steamcmd
 
  steamcmd
 
  steamcmd
  
=== Linux/macOS系统 ===
+
=== Linux/macOS ===
打开一个终端并启动SteamCMD。
+
打开一个终端并启动 SteamCMD.
  
  cd ~/steamcmd
+
如果您是通过软件仓库中的软件包安装的:
 +
 
 +
cd ~
 +
steamcmd
 +
 
 +
如果您是手动安装的:
 +
 
 +
  cd ~/Steam
 
  ./steamcmd.sh
 
  ./steamcmd.sh
  
Line 89: Line 162:
 
  login anonymous
 
  login anonymous
  
=== Steam帐户登录 ===
+
=== 使用 Steam 帐户登录 ===
  
一些服务端需要你使用一个Steam帐户来登录。
+
一些服务端需要你使用一个 Steam 帐户来登录。
{{Note|为了安全起见建议您创建一个服务端专用的Steam帐户。}}
+
{{Note|为了安全起见建议您创建一个服务端专用的 Steam 帐户。}}
{{Note|一个用户同时只能在一处登录(无论是在图形界面客户端还是在SteamCMD登录)。}}
+
{{Note|一个用户同时只能在一处登录(无论是在图形界面客户端还是在 SteamCMD 登录)。}}
  
 
  login &lt;用户名&gt;
 
  login &lt;用户名&gt;
Line 99: Line 172:
 
下一步请输入您的密码。
 
下一步请输入您的密码。
  
如果Steam 令牌已经在用户帐户上激活,查看你电子邮箱中的Steam 令牌验证码并输入它。这仅仅只是第一次登录时需要(以及当你删除了SteamCMD用于存储登录信息文件的时候)。
+
如果 Steam 令牌已经在用户帐户上激活,查看你电子邮箱中的 Steam 令牌验证码并输入它。这仅仅只是第一次登录时需要(以及当你删除了 SteamCMD 用于存储登录信息文件的时候)。
  
 
如果你已经成功登录了你的帐户,你应该会看到一条消息。
 
如果你已经成功登录了你的帐户,你应该会看到一条消息。
Line 105: Line 178:
 
== 下载一个应用 ==
 
== 下载一个应用 ==
  
1. 打开SteamCMD并登录它。
+
1. 打开 SteamCMD 并登录它。
  
2. 设置你的应用安装目录(注意:在Linux/macOS系统下使用正斜杠<code>/</code>,在Windows系统下使用反斜杠<code>\</code>)。
+
2. 设置你的应用安装目录(注意:在 Linux/macOS 下使用正斜杠<code>/</code>,在Windows 下使用反斜杠<code>\</code>)。
  
 
  force_install_dir &lt;路径&gt;
 
  force_install_dir &lt;路径&gt;
Line 115: Line 188:
 
  force_install_dir ./csgo_ds/
 
  force_install_dir ./csgo_ds/
  
'''在Windows系统''': force_install_dir .\csgo_ds\
+
'''在Windows ''': force_install_dir .\csgo_ds\
  
3. 安装或更新应用使用<code>app_update</code>命令(在这里提供[[Steam Application IDs|Steam应用ID]])。 要同时校验应用的话,需添加<code>validate</code>到命令里。要下载测试分支的话,使用<code>-beta &lt;测试名称&gt;</code>选项 &ndash; 例如,[[Half-Life Dedicated Server|半条命专用服务器]]的测试分支名为<code>beta</code>以及[[Source Dedicated Server|起源专用服务器]]的测试分支名为<code>prerelease</code>。一些测试分支设置了密码;如果要从它那里下载,需同时添加<code>-betapassword &lt;密码&gt;</code>选项。
+
3. 安装或更新应用使用<code>app_update</code>命令(在这里提供[[Steam Application IDs|Steam 应用 ID]])。 要同时校验应用的话,需添加<code>validate</code>到命令里。要下载测试分支的话,使用<code>-beta &lt;测试名称&gt;</code>选项 &ndash; 例如,[[Half-Life Dedicated Server|半条命专用服务器]]的测试分支名为<code>beta</code>以及[[Source Dedicated Server|起源专用服务器]]的测试分支名为<code>prerelease</code>。一些测试分支设置了密码;如果要从它那里下载,需同时添加<code>-betapassword &lt;密码&gt;</code>选项。
  
 
  app_update &lt;应用ID&gt; [-beta &lt;测试名称&gt;] [-betapassword &lt;密码&gt;] [validate]
 
  app_update &lt;应用ID&gt; [-beta &lt;测试名称&gt;] [-betapassword &lt;密码&gt;] [validate]
  
[[Half-Life Dedicated Server|半条命专用服务器]]是一个特例:应用ID都是90,必须先选择模组。 这是通过设置配置选项<code>mod</code>来请求变量的。
+
[[Half-Life Dedicated Server|半条命专用服务器]]是一个特例:应用 ID 都是90,必须先选择模组。 这是通过设置配置选项<code>mod</code>来请求变量的。
  
  app_set_config &lt;应用ID&gt; &lt;选项名称&gt; &lt;变量选项&gt;
+
  app_set_config &lt;应用 ID&gt; &lt;选项名称&gt; &lt;变量选项&gt;
  
 
: 例如:安装并校验反恐精英:全球攻势专用服务器:
 
: 例如:安装并校验反恐精英:全球攻势专用服务器:
Line 130: Line 203:
 
  app_set_config 90 mod tfc
 
  app_set_config 90 mod tfc
 
  app_update 90 validate
 
  app_update 90 validate
{{Bug|[[Half-Life Dedicated Server|半条命专用服务器]] (应用ID 90)需要多次运行<code>app_update</code>命令才能安装完所有所需要的文件。只需运行<code>app_update 90 validate</code>多次直到没有更多的更新内容即可。}}
+
{{Bug|[[Half-Life Dedicated Server|半条命专用服务器]] (应用 ID 90)需要多次运行<code>app_update</code>命令才能安装完所有所需要的文件。只需运行<code>app_update 90 validate</code>多次直到没有更多的更新内容即可。}}
 
: 例如:安装并校验测试版本的[[Half-Life Dedicated Server|半条命专用服务器(半条命)]]:
 
: 例如:安装并校验测试版本的[[Half-Life Dedicated Server|半条命专用服务器(半条命)]]:
 
  app_update 90 -beta beta validate
 
  app_update 90 -beta beta validate
Line 140: Line 213:
 
  app_update 4940 -beta alpha -betapassword natsel validate
 
  app_update 4940 -beta alpha -betapassword natsel validate
  
3. 完成之后,输入<code>quit</code>从而正确地从Steam服务器内注销帐户。
+
3. 完成之后,输入<code>quit</code>从而正确地从 Steam 服务器内注销帐户。
  
 
  quit
 
  quit
Line 146: Line 219:
 
=== 验证 ===
 
=== 验证 ===
 
  validate
 
  validate
验证是一个命令以用来检查服务端的所有文件以确保他们符合SteamCMD所应该下载到本地的文件。如果你认为文件可能已丢失或已损坏,那么此命令将会非常有用。
+
验证是一个命令以用来检查服务端的所有文件以确保他们符合 SteamCMD 所应该下载到本地的文件。如果你认为文件可能已丢失或已损坏,那么此命令将会非常有用。
  
 
{{Note|验证将会覆盖已被更改了的文件。这可能会导致服务端的自定义问题。例如:如果你自定义了<code>mapcycle.txt</code>,此文件将会被覆盖至服务端的默认值。不是默认安装文件一部分的任何文件将不受影响。}}
 
{{Note|验证将会覆盖已被更改了的文件。这可能会导致服务端的自定义问题。例如:如果你自定义了<code>mapcycle.txt</code>,此文件将会被覆盖至服务端的默认值。不是默认安装文件一部分的任何文件将不受影响。}}
Line 154: Line 227:
 
=== 所支持的服务端 ===
 
=== 所支持的服务端 ===
  
已知可使用SteamCMD安装的服务端可在[[Dedicated Servers List|专用服务器列表]]页面查询。需要注意的是额外命令需在app_update之前被执行。
+
已知可使用 SteamCMD 安装的服务端可在[[Dedicated Servers List|专用服务器列表]]页面查询。需要注意的是额外命令需在 app_update 之前被执行。
  
== 自动执行SteamCMD ==
+
== 自动执行 SteamCMD ==
  
这里有两个方法来自动执行SteamCMD。(在Linux/macOS系统下使用<code>./steamcmd.sh</code>来替代<code>steamcmd</code>。)  
+
这里有两个方法来自动执行 SteamCMD 。(在Linux/macOS 下使用<code>./steamcmd.sh</code>来替代<code>steamcmd</code>。)  
  
 
=== 命令行 ===
 
=== 命令行 ===
Line 176: Line 249:
 
=== 创建脚本 ===
 
=== 创建脚本 ===
  
{{Note|建议使用UTF-8编码保存文本文件。}}
+
{{Note|建议使用 UTF-8 编码保存文本文件。}}
1. 把你的SteamCMD命令放置在文本文件中。(你可以添加注释,只需在其前面添加<code>//</code>。)例如:
+
1. 把你的 SteamCMD 命令放置在文本文件中。(你可以添加注释,只需在其前面添加<code>//</code>。)例如:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
// 更新反恐精英:全球攻势专用服务器
 
// 更新反恐精英:全球攻势专用服务器
Line 191: Line 264:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
2. 带着<code>+runscript</code>选项运行SteamCMD,指向你之前创建的文件。例如:
+
2. 带着<code>+runscript</code>选项运行 SteamCMD,指向你之前创建的文件。例如:
  
 
  steamcmd +runscript csgo_ds.txt
 
  steamcmd +runscript csgo_ds.txt
Line 197: Line 270:
 
== 跨平台安装 ==
 
== 跨平台安装 ==
  
它可以选择下载其他平台里SteamCMD所应该下载的文件,即使它不是当前正在运行的平台。 这是使用<code>@sSteamCmdForcePlatformType</code>变量来完成的(是的,在变量名称的开头有两个“s”。)例如:在Linux系统下载Windows端的反恐精英:全球攻势专用服务器,你可以运行下面的命令:
+
它可以选择下载其他平台里 SteamCMD 所应该下载的文件,即使它不是当前正在运行的平台。 这是使用<code>@sSteamCmdForcePlatformType</code>变量来完成的(是的,在变量名称的开头有两个“s”。)例如:在 Linux 下载 Windows 的反恐精英:全球攻势专用服务器,你可以运行下面的命令:
  
 
  ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
 
  ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
Line 215: Line 288:
 
这个变量支持<code>windows</code>,<code>macos</code>和<code>linux</code>。
 
这个变量支持<code>windows</code>,<code>macos</code>和<code>linux</code>。
  
== Windows系统 软件/脚本 ==
+
== Windows 软件/脚本 ==
  
 
=== condenser ===
 
=== condenser ===
  
[https://github.com/ShamelessCookie/condenser condenser] 是一个用于下载,配置和启动Steam专用服务器应用的引导程序。
+
[https://github.com/ShamelessCookie/condenser condenser] 是一个用于下载,配置和启动 Steam 专用服务器应用的引导程序。
 
=== SteamCMD AutoUpdater ===
 
=== SteamCMD AutoUpdater ===
 
安装和自动更新任何游戏服务端
 
安装和自动更新任何游戏服务端
Line 227: Line 300:
  
 
=== SteamCMD GUI ===
 
=== SteamCMD GUI ===
这个工具可以使用户在Windows系统上不通过命令行或批处理文件来使用SteamCMD。
+
这个工具可以使用户在 Windows 上不通过命令行或批处理文件来使用 SteamCMD。
  
GitHub仓库:
+
GitHub 仓库:
 
https://github.com/DioJoestar/SteamCMD-GUI
 
https://github.com/DioJoestar/SteamCMD-GUI
  
Line 235: Line 308:
 
在这里查看并下载:http://pastebin.com/BRUbsGQh
 
在这里查看并下载:http://pastebin.com/BRUbsGQh
  
== Linux系统 脚本 ==
+
== Linux 脚本 ==
  
 
===Linux Game Server Managers===
 
===Linux Game Server Managers===
 
[[Image:Lgsm-logo.png‎|right|thumb|370px|Linux Game Server Manager]]
 
[[Image:Lgsm-logo.png‎|right|thumb|370px|Linux Game Server Manager]]
Linux Game Server Managers是一个快捷的命令行工具,通过SteamCMD来轻松地部署和管理各种游戏专用服务器。
+
Linux Game Server Managers 是一个快捷的命令行工具,通过 SteamCMD 来轻松地部署和管理各种游戏专用服务器。
  
 
==== 特点 ====
 
==== 特点 ====
Line 256: Line 329:
 
网站: https://gameservermanagers.com
 
网站: https://gameservermanagers.com
  
GitHub仓库: https://github.com/dgibbs64/linuxgsm
+
GitHub 仓库: https://github.com/dgibbs64/linuxgsm
  
 
===SteamCMD Guardian 1.2===
 
===SteamCMD Guardian 1.2===
  
下面的脚本已在Debian系统Wheezy版本上测试。
+
下面的脚本已在 Debian Wheezy 上测试。
 
在这里查看并下载:
 
在这里查看并下载:
 
http://pastebin.com/hcpMpmaZ
 
http://pastebin.com/hcpMpmaZ
Line 267: Line 340:
 
'''安装教程'''  
 
'''安装教程'''  
  
为了使这个脚本的工作,我们需要一个工作位置。你最好创建个用户(例如steam)以及它自己的根目录(/home/steam)并且通过SSH,tty且使用su来登录它。
+
为了使这个脚本的工作,我们需要一个工作位置。你最好创建个用户(例如 steam)以及它自己的根目录(/home/steam)并且通过 SSH,tty 且使用 su 来登录它。
  
 
# 创建文件  
 
# 创建文件  
Line 279: Line 352:
 
#: <code>./updateserver.sh</code>
 
#: <code>./updateserver.sh</code>
  
这个文件将自动安装,更新SteamCMD,以及安装所有选定的游戏(最多4个)。再次运行该文件将更新游戏。
+
这个文件将自动安装,更新 SteamCMD,以及安装所有选定的游戏(最多4个)。再次运行该文件将更新游戏。
  
 
== 已知的问题 ==
 
== 已知的问题 ==
Line 291: Line 364:
 
# 进入属性页面
 
# 进入属性页面
 
# 进入字体标签页
 
# 进入字体标签页
# 在字体一栏选择 Consolas字体或新宋体字体等,只要选择的字体无乱码问题即可,可凭个人偏好选择字体
+
# 在字体一栏选择 Consolas 字体或新宋体字体等,只要选择的字体无乱码问题即可,可凭个人偏好选择字体
 
# 点击确定保存设定
 
# 点击确定保存设定
  
 
=== ERROR! Failed to install app 'xxxxxx' (No subscription) ===
 
=== ERROR! Failed to install app 'xxxxxx' (No subscription) ===
  
如果你得到 'No subscription' 的错误,请你尝试在下载之前先登录帐户或者需要你已购买该游戏/服务端。因此你需要使用Steam用户名和密码来登录 &ndash; 如果这无法帮到你,你可能需要先在Steam购买游戏的副本。查看[[Dedicated Servers List|专用服务器列表]].
+
如果你得到 'No subscription' 的错误,请你尝试在下载之前先登录帐户或者需要你已购买该游戏/服务端。因此你需要使用 Steam 用户名和密码来登录 &ndash; 如果这无法帮到你,你可能需要先在 Steam 购买游戏的副本。查看[[Dedicated Servers List|专用服务器列表]].
  
{{Note|为了安全起见,建议你创建一个只用于专用服务器的新的Steam帐户。}}
+
{{Note|为了安全起见,建议你创建一个只用于专用服务器的新的 Steam 帐户。}}
  
 
例如
 
例如
Line 305: Line 378:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== 在64位Linux系统上需使用32位的库 ===
+
=== 在64位Linux 上需使用32位的库 ===
  
由于SteamCMD是一个32位应用,所以需要32位的库。
+
由于 SteamCMD 是一个32位应用,所以需要32位的库。
  
 
可能会出现以下错误:
 
可能会出现以下错误:
Line 313: Line 386:
 
  steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
 
  steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
  
解决方法取决于你的Linux发行版本:
+
解决方法取决于你的 Linux 发行版本:
  
==== 基于Debian系统的发行版(Ubuntu系统,Mint系统等。) ====
+
==== 基于 Debian 的发行版(Ubuntu,Mint 等。) ====
  
 
  sudo apt-get install lib32stdc++6
 
  sudo apt-get install lib32stdc++6
  
{{Note|安装SteamCMD并不需要<code>ia32-libs</code>; <code>lib32gcc1</code> 就足够了。}}
+
{{Note|安装 SteamCMD 并不需要<code>ia32-libs</code>; <code>lib32gcc1</code> 就足够了。}}
  
 
在 '''Debian 7 "Wheezy"''' 你可能会遇到这样的错误:
 
在 '''Debian 7 "Wheezy"''' 你可能会遇到这样的错误:
Line 333: Line 406:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== 基于Red Hat系统的发行版(RHEL系统,Fedora系统,CentOS系统等。) ====
+
==== 基于Red Hat 的发行版(RHEL,Fedora,CentOS 等。) ====
  
 
  yum install glibc.i686 libstdc++.i686
 
  yum install glibc.i686 libstdc++.i686
  
==== Arch Linux系统 ====
+
==== Arch Linux ====
首先不要忘记开启 [https://wiki.archlinux.org/index.php/Multilib_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) multilib仓库]。
+
首先不要忘记开启 [https://wiki.archlinux.org/index.php/Multilib_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) multilib 仓库]。
  
 
  pacman -S lib32-gcc-libs
 
  pacman -S lib32-gcc-libs
Line 344: Line 417:
 
=== Login Failure: No Connection ===
 
=== Login Failure: No Connection ===
  
在Linux服务器上,你可能会遇到一个“Login Failure: No Connection”的错误。这或许是因为缺少iptables规则。你需要要执行下面几行内容:
+
在Linux 服务器上,你可能会遇到一个“Login Failure: No Connection”的错误。这或许是因为缺少 iptables 规则。你需要要执行下面几行内容:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
 
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
Line 351: Line 424:
 
在这里可以找到需要的端口列表:https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=simplified%20chinese
 
在这里可以找到需要的端口列表:https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=simplified%20chinese
  
在Windows服务器上,你可能会遇到 "SteamUpdater: Error: Download failed: http error 0" 和 "SteamUpdater: Error: Steam needs to be online to update.  Please confirm your network connection and try again." 。这通常通过设置IE(Internet Explorer)的Internet选项中连接标签页中的局域网(LAN)设置中的自动配置框中的自动检测设置来修复。  
+
在Windows 服务器上,你可能会遇到 "SteamUpdater: Error: Download failed: http error 0" 和 "SteamUpdater: Error: Steam needs to be online to update.  Please confirm your network connection and try again." 。这通常通过设置 IE(Internet Explorer)的 Internet 选项中连接标签页中的局域网(LAN)设置中的自动配置框中的自动检测设置来修复。  
  
 
# 打开Internet Explorer (IE)。
 
# 打开Internet Explorer (IE)。
Line 358: Line 431:
 
# 在底部,你应该可以看到“局域网(LAN)设置”。=
 
# 在底部,你应该可以看到“局域网(LAN)设置”。=
 
# 选中第一个框(“自动检测设置”)
 
# 选中第一个框(“自动检测设置”)
# 点击''确定''或''应用''。再次尝试运行SteamCMD;如果仍然无法正常工作。尝试降低你的'该区域的允许级别'到中等或更低。你可以在“Internet选项”中的“安全”标签页发现它。
+
# 点击''确定''或''应用''。再次尝试运行 SteamCMD;如果仍然无法正常工作。尝试降低你的'该区域的允许级别'到中等或更低。你可以在“Internet 选项”中的“安全”标签页发现它。
  
=== SteamCMD启动错误 ===
+
=== SteamCMD 启动错误 ===
 
==== Unable to locate a running instance of Steam ====
 
==== Unable to locate a running instance of Steam ====
在开启Linux服务端时,你可能会得到以下错误:
+
在开启 Linux 服务端时,你可能会得到以下错误:
  
 
  [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
 
  [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
Line 370: Line 443:
 
  ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
 
  ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
  
==== Linux系统的ulimit启动错误====
+
==== Linux 的 ulimit 启动错误====
 
当开始运行脚本时一些用户可能会得到<code>ulimit</code> 错误 (没有权限/无法打开文件)。这个错误是因为<code>ulimit</code>的<code>-n</code>参数(文件描述符数目)设置过低造成的。SteamCMD使用标准的命令代替Shell初始脚本来自动修改<code>ulimit</code>,但是一些服务器系统可能在启动后禁止提高<code>ulimit</code>的值(或者通过<code>root</code>来突破上限设置)。
 
当开始运行脚本时一些用户可能会得到<code>ulimit</code> 错误 (没有权限/无法打开文件)。这个错误是因为<code>ulimit</code>的<code>-n</code>参数(文件描述符数目)设置过低造成的。SteamCMD使用标准的命令代替Shell初始脚本来自动修改<code>ulimit</code>,但是一些服务器系统可能在启动后禁止提高<code>ulimit</code>的值(或者通过<code>root</code>来突破上限设置)。
 
这可以改变并固定ulimit文件描述符数目:
 
这可以改变并固定ulimit文件描述符数目:
Line 382: Line 455:
 
<code>root</code>也可以在<code>/etc/security/limits.conf</code>文件修改此限制。
 
<code>root</code>也可以在<code>/etc/security/limits.conf</code>文件修改此限制。
  
在大多数情况下,你只会得到一个警告消息,但它不会停止运行SteamCMD。
+
在大多数情况下,你只会得到一个警告消息,但它不会停止运行 SteamCMD 。
  
 
=== 只下载了半条命专用服务器引擎 ===
 
=== 只下载了半条命专用服务器引擎 ===
Line 390: Line 463:
 
在这里有这个问题的解决方法:https://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/
 
在这里有这个问题的解决方法:https://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/
  
这只是删除了appmanifest文件,替换从第三方下载的版本,这也许可行! 虽然首先你将会得到一个错误,抱怨说出了问题,但这只是因为那个被删除的文件。
+
这只是删除了 appmanifest 文件,替换从第三方下载的版本,这也许可行! 虽然首先你将会得到一个错误,抱怨说出了问题,但这只是因为那个被删除的文件。
  
旁注,由于某种原因,CS总是可以安装完成。
+
旁注,由于某种原因,CS 总是可以安装完成。
  
 
== 也可以看看 ==
 
== 也可以看看 ==

Revision as of 11:33, 29 December 2019

English Español Français Nederlands Polski Русский 한국어

Steam 命令行版客户端SteamCMD)是一个命令行版本的 Steam 客户端。它的主要用途是在一个命令行界面的 Steam 客户端上安装及更新各种可用的专用服务端。它适用于使用 SteamPipe 内容分发系统的游戏。所有游戏已经从旧的 半条命专用服务器更新工具迁移到了 SteamCMD。

下载 SteamCMD

Windows

1. 创建一个为 SteamCMD 准备的文件夹。

例如

C:\steamcmd

2. 下载适用于 Windows 系统的 SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip (推荐中国内地用户从内地节点下载:https://media.st.dl.bscstorage.net/client/installer/steamcmd.zip)

3. 提取 zip 中的文件至文件夹。

Linux

创建一个名为 steam 的用户帐户以安全地运行 SteamCMD,并将其与操作系统的其余部分隔离。以 root 用户身份登录时请勿运行 steamcmd——这样做会带来安全风险

1. 以 root 用户身份创建 steam 用户:

useradd -m steam

2. 进入其主文件夹:

cd /home/steam

安装来自软件仓库的软件包

1. 建议从您的分发软件仓库安装 SteamCMD 软件包(如果有):

Ubuntu/Debian

sudo apt install steamcmd
Note:如果您使用的是64位计算机,则需要添加 multiverse
 sudo add-apt-repository multiverse
 sudo dpkg --add-architecture i386
 sudo apt update
 sudo apt install lib32gcc1 steamcmd 

RedHat/CentOS

yum install steamcmd

Arch Linux

git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -si

2. 链接 steamcmd 可执行文件:

ln -s /usr/games/steamcmd steamcmd

Docker

如果你的服务器正在运行 Docker,您可以简单地使用:

docker run -it --name=steamcmd cm2network/steamcmd bash

steamcmd.sh location: /home/steam/steamcmd

该映像可用作基于Steam的专用服务器的基础映像。 例如: https://hub.docker.com/r/cm2network/csgo/

您可以在此处找到相关的 Docker Hub 页面: https://hub.docker.com/r/cm2network/steamcmd/


手动安装

1. 在开始之前,您必须先安装运行 SteamCMD 所需的依赖项:

Ubuntu/Debian 64-Bit

sudo apt-get install lib32gcc1

RedHat/CentOS

yum install glibc libstdc++

RedHat/CentOS 64-Bit

yum install glibc.i686 libstdc++.i686

2. 以 root 用户身份升级至 steam 用户:

su - steam

如果您不是以 root 用户身份登录,而是使用sudo来行使管理权限,请以如下所示来升级至 steam 用户:

sudo -iu steam

3. 为 SteamCMD 创建目录并切换至该目录。

mkdir ~/Steam && cd ~/Steam

4. 下载并解压缩适用于 Linux 的 SteamCMD。

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

中国内地用户可使用以下命令以使用内地节点:

curl -sqL "https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

5. 安装tmux 和/或 screen 以简化服务器管理

sudo apt-get install tmux screen -y;

macOS

1.打开终端并创建一个为 SteamCMD 准备的目录。

mkdir ~/steamcmd && cd ~/steamcmd

2. 下载并解压缩适用于 macOS 的 SteamCMD。

curl -sqL ' https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz ' | tar zxvf -

中国内地用户可使用以下命令以使用内地节点:

curl -sqL ' https://media.st.dl.bscstorage.net/client/installer/steamcmd_osx.tar.gz ' | tar zxvf -

运行 SteamCMD

在第一次运行 SteamCMD 时将自动更新并显示一个Steam>的输入提示。输入help来获取更多信息。

Windows

打开一个命令行窗口并启动 SteamCMD。

cd C:\steamcmd
steamcmd

Linux/macOS

打开一个终端并启动 SteamCMD.

如果您是通过软件仓库中的软件包安装的:

cd ~
steamcmd

如果您是手动安装的:

cd ~/Steam
./steamcmd.sh

登录 SteamCMD

匿名登录

下载大多数游戏服务端,你可以选择匿名登录。

login anonymous

使用 Steam 帐户登录

一些服务端需要你使用一个 Steam 帐户来登录。

Note:为了安全起见建议您创建一个服务端专用的 Steam 帐户。
Note:一个用户同时只能在一处登录(无论是在图形界面客户端还是在 SteamCMD 登录)。
login <用户名>

下一步请输入您的密码。

如果 Steam 令牌已经在用户帐户上激活,查看你电子邮箱中的 Steam 令牌验证码并输入它。这仅仅只是第一次登录时需要(以及当你删除了 SteamCMD 用于存储登录信息文件的时候)。

如果你已经成功登录了你的帐户,你应该会看到一条消息。

下载一个应用

1. 打开 SteamCMD 并登录它。

2. 设置你的应用安装目录(注意:在 Linux/macOS 下使用正斜杠/,在Windows 下使用反斜杠\)。

force_install_dir <路径>

例如 一个名叫csgo_ds的在当前目录下的目录:

force_install_dir ./csgo_ds/

在Windows : force_install_dir .\csgo_ds\

3. 安装或更新应用使用app_update命令(在这里提供Steam 应用 ID)。 要同时校验应用的话,需添加validate到命令里。要下载测试分支的话,使用-beta <测试名称>选项 – 例如,半条命专用服务器的测试分支名为beta以及起源专用服务器的测试分支名为prerelease。一些测试分支设置了密码;如果要从它那里下载,需同时添加-betapassword <密码>选项。

app_update <应用ID> [-beta <测试名称>] [-betapassword <密码>] [validate]

半条命专用服务器是一个特例:应用 ID 都是90,必须先选择模组。 这是通过设置配置选项mod来请求变量的。

app_set_config <应用 ID> <选项名称> <变量选项>
例如:安装并校验反恐精英:全球攻势专用服务器:
app_update 740 validate
例如:安装并校验军团要塞专用服务器:
app_set_config 90 mod tfc
app_update 90 validate
Bug: 半条命专用服务器 (应用 ID 90)需要多次运行app_update命令才能安装完所有所需要的文件。只需运行app_update 90 validate多次直到没有更多的更新内容即可。
例如:安装并校验测试版本的半条命专用服务器(半条命)
app_update 90 -beta beta validate
例如:安装并校验测试版本的反恐精英:起源专用服务器:
app_update 232330 -beta prerelease validate
例如:安装并校验私人测试版本的物竞天择2专用服务器(测试名称alpha,测试密码natsel):
[测试名称]是私人测试分支的名称
[测试密码]是私人测试分支的密码
app_update 4940 -beta alpha -betapassword natsel validate

3. 完成之后,输入quit从而正确地从 Steam 服务器内注销帐户。

quit

验证

validate

验证是一个命令以用来检查服务端的所有文件以确保他们符合 SteamCMD 所应该下载到本地的文件。如果你认为文件可能已丢失或已损坏,那么此命令将会非常有用。

Note:验证将会覆盖已被更改了的文件。这可能会导致服务端的自定义问题。例如:如果你自定义了mapcycle.txt,此文件将会被覆盖至服务端的默认值。不是默认安装文件一部分的任何文件将不受影响。

建议你只在初次安装时或如果服务端有问题时才使用此命令。

所支持的服务端

已知可使用 SteamCMD 安装的服务端可在专用服务器列表页面查询。需要注意的是额外命令需在 app_update 之前被执行。

自动执行 SteamCMD

这里有两个方法来自动执行 SteamCMD 。(在Linux/macOS 下使用./steamcmd.sh来替代steamcmd。)

命令行

Note:当在命令行使用-beta选项时,它必须以一种特殊的方式被引用,比如+app_update "90 -beta beta"
Note:如果这不工作尝试将它用"+app_update 90 -beta beta"代替。

在命令行追加命令需要在其前面添加加号,例如:

steamcmd +login anonymous +force_install_dir ./csgo_ds +app_update 740 +quit

安装半条命的一个特定游戏模组,比如反恐精英:零点行动:

steamcmd +login anonymous +force_install_dir ./czero +app_set_config 90 mod czero +app_update 90 +quit

安装一个需要登录的游戏,就像杀戮空间:

steamcmd +login <用户名> <密码> +force_install_dir .\KFServer\ +app_update 215350 +quit

创建脚本

Note:建议使用 UTF-8 编码保存文本文件。

1. 把你的 SteamCMD 命令放置在文本文件中。(你可以添加注释,只需在其前面添加//。)例如:

// 更新反恐精英:全球攻势专用服务器
//
@ShutdownOnFailedCommand 1 //如果一次更新多个服务端请设置为0
@NoPromptForPassword 1
login <username> <password>
//一些服务端并不需要登录
//login anonymous 
force_install_dir ./csgo_ds
app_update 740 validate
quit

2. 带着+runscript选项运行 SteamCMD,指向你之前创建的文件。例如:

steamcmd +runscript csgo_ds.txt

跨平台安装

它可以选择下载其他平台里 SteamCMD 所应该下载的文件,即使它不是当前正在运行的平台。 这是使用@sSteamCmdForcePlatformType变量来完成的(是的,在变量名称的开头有两个“s”。)例如:在 Linux 下载 Windows 的反恐精英:全球攻势专用服务器,你可以运行下面的命令:

./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

或者使用下面的脚本:

@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit

这个变量支持windowsmacoslinux

Windows 软件/脚本

condenser

condenser 是一个用于下载,配置和启动 Steam 专用服务器应用的引导程序。

SteamCMD AutoUpdater

安装和自动更新任何游戏服务端

GitHub仓库: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver

SteamCMD GUI

这个工具可以使用户在 Windows 上不通过命令行或批处理文件来使用 SteamCMD。

GitHub 仓库: https://github.com/DioJoestar/SteamCMD-GUI

SteamCMD Guardian 1.2

在这里查看并下载:http://pastebin.com/BRUbsGQh

Linux 脚本

Linux Game Server Managers

Linux Game Server Manager

Linux Game Server Managers 是一个快捷的命令行工具,通过 SteamCMD 来轻松地部署和管理各种游戏专用服务器。

特点

  • 安装服务端 (SteamCMD)
  • 启动/关闭/重启 服务端
  • 更新服务端 (SteamCMD)
  • 监控服务端 (包括用电子邮件通知)
  • 查看服务端的详细信息
  • 备份服务端
  • 可以进入服务端控制台

支持的服务端

现在支持40多个不同的游戏服务端并且数量还在上升。详情列表请访问网站。

链接

网站: https://gameservermanagers.com

GitHub 仓库: https://github.com/dgibbs64/linuxgsm

SteamCMD Guardian 1.2

下面的脚本已在 Debian Wheezy 上测试。 在这里查看并下载: http://pastebin.com/hcpMpmaZ


安装教程

为了使这个脚本的工作,我们需要一个工作位置。你最好创建个用户(例如 steam)以及它自己的根目录(/home/steam)并且通过 SSH,tty 且使用 su 来登录它。

  1. 创建文件
    nano updateserver.sh
  2. 粘贴脚本代码
  3. 修改脚本代码,在DL_SV*=一行的最后添加一个游戏。
  4. 使用Ctrl+O关闭文件,其次是 Enter,最后Ctrl+X
  5. 给用户执行文件的权限
    chmod u+x ./updateserver.sh
  6. 运行文件
    ./updateserver.sh

这个文件将自动安装,更新 SteamCMD,以及安装所有选定的游戏(最多4个)。再次运行该文件将更新游戏。

已知的问题

乱码

如果出现乱码的问题,请尝试更换窗口所调用的字体。

方法

  1. 右键宽口标题
  2. 进入属性页面
  3. 进入字体标签页
  4. 在字体一栏选择 Consolas 字体或新宋体字体等,只要选择的字体无乱码问题即可,可凭个人偏好选择字体
  5. 点击确定保存设定

ERROR! Failed to install app 'xxxxxx' (No subscription)

如果你得到 'No subscription' 的错误,请你尝试在下载之前先登录帐户或者需要你已购买该游戏/服务端。因此你需要使用 Steam 用户名和密码来登录 – 如果这无法帮到你,你可能需要先在 Steam 购买游戏的副本。查看专用服务器列表.

Note:为了安全起见,建议你创建一个只用于专用服务器的新的 Steam 帐户。

例如

steamcmd +login <用户名> <密码>

在64位Linux 上需使用32位的库

由于 SteamCMD 是一个32位应用,所以需要32位的库。

可能会出现以下错误:

steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解决方法取决于你的 Linux 发行版本:

基于 Debian 的发行版(Ubuntu,Mint 等。)

sudo apt-get install lib32stdc++6
Note:安装 SteamCMD 并不需要ia32-libslib32gcc1 就足够了。

Debian 7 "Wheezy" 你可能会遇到这样的错误:

The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unable to correct problems, you have held broken packages.

要修复这个错误,你需要执行下面的操作:

 dpkg --add-architecture i386
 apt-get update
 apt-get install lib32gcc1

基于Red Hat 的发行版(RHEL,Fedora,CentOS 等。)

yum install glibc.i686 libstdc++.i686

Arch Linux

首先不要忘记开启 multilib 仓库

pacman -S lib32-gcc-libs

Login Failure: No Connection

在Linux 服务器上,你可能会遇到一个“Login Failure: No Connection”的错误。这或许是因为缺少 iptables 规则。你需要要执行下面几行内容:

iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT

在这里可以找到需要的端口列表:https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=simplified%20chinese

在Windows 服务器上,你可能会遇到 "SteamUpdater: Error: Download failed: http error 0" 和 "SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again." 。这通常通过设置 IE(Internet Explorer)的 Internet 选项中连接标签页中的局域网(LAN)设置中的自动配置框中的自动检测设置来修复。

  1. 打开Internet Explorer (IE)。
  2. 点击“工具” → “Internet选项”
  3. 点击“连接”标签页
  4. 在底部,你应该可以看到“局域网(LAN)设置”。=
  5. 选中第一个框(“自动检测设置”)
  6. 点击确定应用。再次尝试运行 SteamCMD;如果仍然无法正常工作。尝试降低你的'该区域的允许级别'到中等或更低。你可以在“Internet 选项”中的“安全”标签页发现它。

SteamCMD 启动错误

Unable to locate a running instance of Steam

在开启 Linux 服务端时,你可能会得到以下错误:

[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

通过链接steamclient.so~/.steam/sdk32/steamclient.so目录来解决问题:

ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

Linux 的 ulimit 启动错误

当开始运行脚本时一些用户可能会得到ulimit 错误 (没有权限/无法打开文件)。这个错误是因为ulimit-n参数(文件描述符数目)设置过低造成的。SteamCMD使用标准的命令代替Shell初始脚本来自动修改ulimit,但是一些服务器系统可能在启动后禁止提高ulimit的值(或者通过root来突破上限设置)。 这可以改变并固定ulimit文件描述符数目:

ulimit -n 2048

如果出现错误(no permission),你需要登录root来改变这个参数。想要检查当前设置,输入ulimit -a;系统将显示多行内容,你需要找到:

open files                      (-n) 1024

在这种情况下,"1024" 是当前值。

root也可以在/etc/security/limits.conf文件修改此限制。

在大多数情况下,你只会得到一个警告消息,但它不会停止运行 SteamCMD 。

只下载了半条命专用服务器引擎

当试图下载一个半条命模组就像是军团要塞时,最初它只是下载半条命专用服务器的引擎文件,而不是模组。这种情况同时发生在普通版和测试版。你可能需要尝试多次直到已下载完所有所需的文件,只要完成了一次,下一次应该就会正常更新。

在这里有这个问题的解决方法:https://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/

这只是删除了 appmanifest 文件,替换从第三方下载的版本,这也许可行! 虽然首先你将会得到一个错误,抱怨说出了问题,但这只是因为那个被删除的文件。

旁注,由于某种原因,CS 总是可以安装完成。

也可以看看