欢迎进入莱诺活性炭公司!

果壳活性炭
您当前的位置 : 首 页 > 新闻动态 > 公司新闻

了解SteamCMD的基础知识,SteamCMD使用指南

2025-03-01 21:21:01

什么是SteamCMD?

如果只是偶尔在自己的电脑上开服,直接使用Steam客户端中的库工具就足够了,但是要更高效地建立一个专用服务器,还是离不开SteamCMD的使用:

所谓SteamCMD,是Steam的命令行版本,具备Steam的基本API功能,包括账户登录、邮箱验证、游戏下载等。在安装SteamCMD时,它会在磁盘上写入与桌面版Steam相关的链接库,供游戏调用。也就是说,通过SteamCMD下载的游戏可以正常运行。然而,SteamCMD通常并不作为游戏下载工具,因为游戏通常有图形界面,有图形界面的游戏使用桌面版Steam会更方便。SteamCMD的正确使用方式是下载游戏服务端(尽管有些游戏服务端就是游戏本体),然后在服务器上运行游戏服务端来作为游戏服务器。

SteamCMD使用指南

1. 下载SteamCMD:

https://dl.3dmgame.com/201707/111826.html

2. 为SteamCMD创建一个文件夹。

例如:C:\steamcmd

3. 将SteamCMD解压到上述文件夹。

如果你的英文水平不错,可以访问SteamCMD的V社开发者论坛地址 https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD ,大部分过程已经在这里详细说明了。

用命令配置SteamCMD

在64位centos系统下使用以下命令进行安装

先安装必要的32位依赖

yum install glibc.i686 libstdc++.i686

然后创建一个名为steam的新账户,创建新账户是为了安全性考虑。如果使用root账户运行steamcmd,会出现安全提醒。

useradd -m steam

接着切换到这个账户,注意这里的命令是 su 空格 - 空格 steam,这样切换后会立即转到steam账户的主目录:

su - steam

接下来创建一个名为steamcmd的文件夹并进入:

mkdir ~/steamcmd

进入目录:cd ~/steamcmd

使用wget命令下载steamcmd的压缩文件:

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

解压下载的文件:

tar -xvzf steamcmd_linux.tar.gz

运行steamcmd:

./steamcmd.sh

第一次启动steamcmd时,它会自动下载所有必要的文件,请耐心等待。之后的启动将不再需要下载文件。启动后,会进入程序的命令行界面。在这里可以输入各种命令。以安装一个游戏为例,小编将向大家介绍一些基本命令。

首先,与桌面版steam类似,我们需要先登录。例如,可以使用匿名账号登录(匿名账号不需要密码):

login anonymous

登录成功以后,我们需要指定游戏服务器的安装目录。例如,可以将其设置为上一级目录中的 `cs_go` 文件夹。请注意,在 Linux 下,steamcmd 一旦指定了目录,就会立即创建该目录;而在 Windows 版的 steamcmd 中,不会立即创建目录。因此,在 Linux 下可以通过这一点来确认该命令是否按照预期执行。

`force_install_dir ../cs_go/`

接下来,我们开始安装游戏服务器。以上面的 `cs_go` 为例,首先需要确认这个程序的 app id。我们访问以下网址:

`https://developer.valvesoftware.com/wiki/Dedicated_Servers_List`

该列表会显示所有 steamcmd 支持下载的服务器,在 ID 这一列下就是我们需要的 app id。例如,我们找到 `cs_go` 的 id 为 740,使用以下命令:

`app_update 740`

进行安装。这里有几个参数说明,常用的其实只有 `validate` 参数。`validate` 意味着校验,与桌面版 Steam 上的校验本地文件功能完全一致。请注意,在使用任何与 app 相关的命令前,都需要先指定目录,否则会默认使用当前目录。第一次安装程序时,有无 `validate` 效果是一样的。从原理上讲,更新服务器时如果不加 `validate` 应该会全部覆盖一次,但我发现并非如此,仍然会首先校验本地文件和云端文件,然后进行增量下载。换句话说,我发现有无 `validate` 结果是一样的,可能是我观察有误,建议所有 `app_update` 命令都加上 `validate` 参数。即以下命令 `app_update 740 validate`

按下回车后,会不断提示下载进度,到达 100% 后会回到 steamcmd 命令行,输入 `quit` 来退出 steamcmd。

然后我们 `cd ../cs_go` 即可进入 `cs_go` 服务器所在文件夹,并根据具体服务器的启动方式来运行服务器。

对于其他游戏,安装过程是一样的。需要注意的是,部分游戏的安装有特殊要求或者需要首先购买该游戏。例如,以《七日杀》为例,在刚才的 dedicated servers list 列表中,我们可以看到 `七日杀` 旁边的 `notes` 这一列写着“game purchase required”,这意味着该游戏必须首先购买。而确认你已经购买的方法是,在 steamcmd 登录时使用自己的 Steam 账号登录,而不是匿名账号。首次使用你的 Steam 账号登录时,会和桌面版 Steam 一样需要进行邮箱验证,你需要输入邮箱中收到的验证码才能登录。登录后,才能下载这样的游戏服务器。

通过steamcmd下载的游戏服务端都是正版的,也就是说,客户端在连接时会进行steam账户验证。因此,玩家必须拥有该游戏的正版才能进入。尽管本人不提倡盗版,但还是需要特别说明一下这个事实。针对source引擎的游戏,有一个专门的破解补丁,现在由一群俄罗斯人在维护,它能够破解source引擎的steam账户验证。这个补丁可以安装到服务端上,从而模拟验证,使盗版玩家也能连接到服务器。以前我试过这个补丁,但其linux版本已经年久失修,只有windows版本在不断更新。因此,如果你在使用linux开服,还是建议购买正版,因为盗版几乎无法在linux服务端上运行。

关于游戏服务端的更新,更新过程和安装过程是完全相同的(在大多数情况下,如果游戏客户端更新了,那么服务端也需要更新)。在此不再详细说明,建议在更新时加上validate参数。

标签

本文网址:

最近浏览: