- 拳头公布《英雄联盟》新英雄「梅尔」核心技能将能够「反弹」所有技能,该技能将给游戏环境带来哪些影响?
- 如何评价 2025 年 1 月新番《ave mujica 颂乐人偶》里的角色若叶睦?
- 怎么评价马尔克斯的小说《没有人给他写信的上校》?
- 麦琳李行亮双双选择不离婚,他们的爱情会走向何方?麦琳坦言自己是弃婴,这类创伤会给亲密关系造成哪些影响?
- 假如工业革命发生在中国,那中国传统建筑会长什么样?
- 《英雄联盟》2025 赛季版本更新已上线,如何评价本次改动?你的游戏体验感受如何?
- 如何评价周杰伦合作出的新歌《Six Degrees》?
- 古代印度为什么守不住开伯尔山口?
- 刘强东给自己小学老师每人发 10 万,60 岁以上老人发 1 万元,你对此怎么看?
- 人为什么会相信「受害者有罪论」?
声明:本文来自于(ID:acamandola.com)授权转载发布。
什么是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参数。