Steam命令行版客户端(SteamCMD)是一个命令行版本的Steam客户端。它的主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用的专用服务端。 它的主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用的专用服务端。它适用于使用SteamPipe内容分发系统的游戏。
本教程旨在让您在腾讯云CVM服务器或其他服务器上快速启动并运行的SteamCMD。有关更多信息和高级设置,请参见Valve的SteamCMD官方教程。
注意
本教程需要一台已经设置好可以使用
sudo
命令的非root账号的CentOS或Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
准备
- 购买或试用腾讯云CVM服务器。
- 更新您的操作系统:
CentOS的
1 | sudo yum update |
Debian / Ubuntu
1 | sudo apt-get update && sudo apt-get upgrade |
保护您的游戏服务器
游戏服务器和客户端是很容易被攻击。因此我建议您打开系统防火墙,如果您使用的是腾讯云的CVM服务器,您可以直接在腾讯云控制台中的安全组进行设置。:
创建名为
steam
的用户,务必授予steam
用户sudo
权限。如果您使用的是iptables,请使用下面的规则集配置防火墙步骤。如果您使用的是firewalld,请跳至第5步。
IPv4的iptables配置
1 | *filter |
IPv6的iptables配置
Steam目前仅支持通过IPv4进行多人游戏,因此Steam服务器只需要基本的IPv6防火墙规则,如下所示。
1 | *filter |
- 如果您使用firewalld(CentOS 7,Fedora)而不是iptables,请使用这些规则。如果您使用的是iptables,请跳过此步骤。
1 | sudo firewall-cmd --zone="public" --add-service=ssh --permanent |
打开firewalld并验证您的规则:
1 | sudo systemctl start firewalld |
安装SteamCMD
首先,安装screen
在单独的会话中运行Steam游戏:
CentOS 7
1 | sudo yum install screen |
Debian / Ubuntu
1 | sudo apt-get install screen |
自动安装(推荐)
通过软件包管理器进行安装可以让您更轻松地下载更新和安全补丁,因此如果您的发行版包含SteamCMD软件包,我们建议您使用此方法。
安装包:
1 | sudo apt-get install steamcmd |
注意
在Debian上,您需要将
non-free
存储库的区域添加到源中。
steamcmd
在方便的位置创建可执行文件的符号链接,例如您的主目录:
1 | cd ~ |
手动安装
新创建的CVM使用64位Linux操作系统。由于Steam是针对i386编译的,因此请安装相应的库。
CentOS 7
1 | sudo yum install glibc.i686 libstdc++.i686 |
Debian / Ubuntu
1 | sudo apt-get install lib32gcc1 |
为SteamCMD创建目录并更改为:
1 | mkdir ~/Steam && cd ~/Steam |
下载SteamCMD 源码包:
1 | wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz |
解压缩安装和运行的文件:
1 | tar -xvzf steamcmd_linux.tar.gz |
错误修复
运行Steam游戏时,您可能会遇到以下错误:
1 | /home/steam/.steam/sdk32/libsteam.so: cannot open shared object file: No such file or directory |
尽管出现此错误,游戏服务器仍然可以运行,并且它应该在以后的SteamCMD版本中修复。临时修复是创建目录和符号链接libsteam.so
。
1 | mkdir -p ~/.steam/sdk32/ |
运行SteamCMD
在screen
中运行可执行文件。
如果您自动安装SteamCMD:
1 | screen ./steamcmd |
如果您手动安装SteamCMD:
1 | screen ./steamcmd.sh |
这将返回类似于下面的输出并让您在最终返回Steam>
提示符下:
1 | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt' |
我们可以使用匿名方式登录,或者使用您自己的Steam帐号登录
以匿名方式登录:
1 | login anonymous |
使用您的Steam用户名登录:
1 | login example_user |
警告
请注意,某些版本的Steam CLI 不会加密密码。如果您使用Steam帐户登录,请注意本地屏幕的安全。
注意
您可以随时通过输入
quit
退出Steam>
提示。
为了不破坏Steam运行中,按退出屏幕会话CTRL + A,然后d。要恢复,请使用该screen -r
命令。
结论
您已准备好安装第一台Steam游戏服务器。某些游戏可能需要其他的i386库或防火墙规则,大多数游戏需要修改其配置设置。您的服务器应允许其他游戏访问,尽可能减少对玩家的干扰。而且应经常更新其软件,并在服务器正常关闭时保存玩家的进度。你可以点击下面的链接查看更多游戏服务器的教程:
怎么样,简单吗?感觉去搭建你的游戏服务器吧!更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《Install SteamCMD for a Steam Game Server》