Steam 控制台客户端 您所在的位置:网站首页 steam的验证游戏完整性有什么用 Steam 控制台客户端

Steam 控制台客户端

2024-06-29 21:04| 来源: 网络整理| 查看: 265

English Esperanto Català Čeština Deutsch Español Eesti Français Magyar Italiano Nederlands Norsk Polski Português Português do Brasil Русский Українська Svenska Türkçe 日本語 中文(中国大陆)‎ 中文(台灣)‎ 한국어 ქართული עברית ... Important:This page uses the {{lang}} translationtemplate, which is deprecated. It should be replaced by the {{MultiPage}} (or {{Autolang}}) template if possible. For more information, see this page. Edit Page history Purge this page Move

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

Contents 1 下载 SteamCMD 1.1 Windows 1.2 Linux 1.2.1 安装来自软件仓库的软件包 1.2.2 Docker 1.2.3 手动安装 1.3 macOS 2 运行 SteamCMD 2.1 Windows 2.2 Linux/macOS 3 登录 SteamCMD 3.1 匿名登录 3.2 使用 Steam 帐户登录 4 下载一个应用 4.1 验证 4.2 所支持的服务端 5 自动执行 SteamCMD 5.1 命令行 5.2 创建脚本 6 跨平台安装 7 Windows 软件/脚本 7.1 condenser 7.2 SteamCMD AutoUpdater 7.3 SteamCMD GUI 7.4 SteamCMD Guardian 1.2 8 Linux 脚本 8.1 Linux Game Server Managers 8.1.1 特点 8.1.2 支持的服务端 8.1.3 链接 8.2 SteamCMD Guardian 1.2 9 已知的问题 9.1 乱码 9.2 ERROR! Failed to install app 'xxxxxx' (No subscription) 9.3 在64位Linux 上需使用32位的库 9.3.1 基于 Debian 的发行版(Ubuntu,Mint 等。) 9.3.2 基于Red Hat 的发行版(RHEL,Fedora,CentOS 等。) 9.3.3 Arch Linux 9.4 Login Failure: No Connection 9.5 SteamCMD 启动错误 9.5.1 Unable to locate a running instance of Steam 9.5.2 Linux 的 ulimit 启动错误 9.6 只下载了半条命专用服务器引擎 10 也可以看看 下载 SteamCMD Windows

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

例如

C:\steamcmd

2. 下载适用于 Windows 系统的 SteamCMD:https://steamcdn-a.akamaihd.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 [-beta ] [-betapassword ] [validate]

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

app_set_config 例如:安装并校验反恐精英:全球攻势专用服务器: 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 //一些服务端并不需要登录 //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

这个变量支持windows,macos和linux。

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 来登录它。

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

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

已知的问题 乱码

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

方法

右键宽口标题 进入属性页面 进入字体标签页 在字体一栏选择 Consolas 字体或新宋体字体等,只要选择的字体无乱码问题即可,可凭个人偏好选择字体 点击确定保存设定 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-libs; lib32gcc1 就足够了。

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)设置中的自动配置框中的自动检测设置来修复。

打开Internet Explorer (IE)。 点击“工具” → “Internet选项” 点击“连接”标签页 在底部,你应该可以看到“局域网(LAN)设置”。= 选中第一个框(“自动检测设置”) 点击确定或应用。再次尝试运行 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 总是可以安装完成。

也可以看看 起源专用服务器 半条命专用服务器 专用服务器列表 SteamCMDui


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有