超简单搭建CS:GO对战服务器

前一段时间看了地皮的博客中一篇有关搭建CS:GO对战服务器的文章,对这个篇博文有一定的好感。我也是一个600小时的玩家,见到官方服务器太多的素质大哥和二级屠夫,决定依照这篇文章搭建一个对战服务器。

购买服务器

CS:GO服务端的运行要求非常低,您只需要准备一个单核、2G内存的服务器即可。不过要注意的是,您最好在购买时选用4M的带宽,4M带宽足够10人同时在服务器进行游戏。

我的服务器是在阿里云年终活动购买的,配置与上述相同,足够10个人同时游戏,并且在此基础上运行了mp2+Nginx的网站服务。并且阿里云有一个带宽临时升级的选项,您可以使用该选项购买4小时以上的带宽提升服务,其价格也比较实惠。

广告:购买地皮推荐的雨云服务器

安装服务端运行依赖

通过Ssh并以root身份连接到服务器后使用yum update更新CentOS软件包,如果您是Debian用户,您可以使用apt update进行软件包的更新。此外,CentOS还需要另外使用yum install epel-release安装软件分支。在这一步骤执行完成之后,就可以安装软件包了。

CentOS

1
yum install mailx postfix curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686 nmap_ncat

Debian

1
apt install mailx postfix curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686 nmap_ncat

新建专用用户

为了确保服务器的安全和方便服务器的使用,我们需要建立一个新的用户来运行LinuxGSM。

  1. 添加用户
1
useradd csgoserver
  1. 修改密码
1
passwd csgoserver

当提示用户身份令牌已经成功更新之后,我们就可以展开安装的操作。

安装服务端

  1. 切换到之前创建完成的专用用户
1
su - csgoserver

在提示输入密码时,只需要输入先前设置的密码,在输入时不会有任何已经输入成功的提示。当密码输入完成之后单击Enter即可切换到csgoserver用户。

  1. 拉取服务端安装脚本
1
wget -O linuxgsm.sh https://gitee.com/scholarcoder/LinuxGSM/raw/master/linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver
  1. 运行安装脚本
1
./csgoserver install

如果程序或服务器没有出现意外,您看到的画面将会如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[csgoserver@localhost ~]$ ./csgoserver install
fetching core_functions.sh...OK
fetching core_legacy.sh...OK
fetching core_messages.sh...OK
fetching core_dl.sh...OK
fetching core_trap.sh...OK
fetching _default.cfg...OK
copying _default.cfg...OK
fetching common.cfg...OK
fetching csgoserver.cfg...OK
fetching linuxgsm.sh...OK
fetching core_getopt.sh...OK
fetching command_install.sh...OK
fetching check.sh...OK
fetching check_tmuxception.sh...OK
fetching check_permissions.sh...OK
fetching check_glibc.sh...OK
fetching info_distro.sh...OK
fetching check_system_requirements.sh...OK
fetching install_header.sh...OK

mdMMMMbm
mMMMMMMMMMMm
mMMMMMMMMMMMMm
mMMMMMMMMMMMMMMm
hMMMV^VMMV^VMMMh
MMMMM MM MMMMM
hMMs vv sMMh
hMMM: :MMMh
.hMMMh hMMMh.
-dMMMh __ hMMMd-
:mMMMs || sMMMm:
:MMMM+ || _ +NMMN:
.mMMM+ ======== +MMMm.
yMMMy ############## yMMMy
mMMM: ############## :MMMm
mMM nn nn nn nn MMm
o nNNNNNNNn nNNNNNNNn o
nNNNNNNNNNn nNNNNNNNNNn
nNNNNNNNNNNN NNNNNNNNNNNn
+NNNNNNNNN: :NNNNNNNNN+
nNNNNNNN /\ NNNNNNNn
nnnnn db nnnnn

888 d8b .d8888b. .d8888b. 888b d888
888 Y8P d88P Y88b d88P Y88b 8888b d8888
888 888 888 Y88b. 88888b.d88888
888 888 88888b. 888 888 888 888 888 Y888b. 888Y88888P888
888 888 888 88b 888 888 Y8bd8P 888 88888 Y88b. 888 Y888P 888
888 888 888 888 888 888 X88K 888 888 888 888 Y8P 888
888 888 888 888 Y88b 88Y .d8pq8b. Y88b d88P Y88b d88P 888 * 888
LinuxGSM 888 888 888 Y8888Y 888 888 Y2012P88 Y8888P 888 888

=================================
LinuxGSM_
by Daniel Gibbs
Game: Counter-Strike: Global Offensive
Website: https://linuxgsm.com
Contributors: https://linuxgsm.com/contrib
Donate: https://linuxgsm.com/donate
=================================
fetching install_server_dir.sh...OK

Server Directory
=================================
/home/csgoserver

Continue? [Y/n] Y

如果安装成功,会提示您是否继续,这里直接Enter即可。接下来脚本将会检测您的服务器系统中是否存在服务端所需要的依赖项,并且自动为您下载SteamCMD和CS:GO服务端,下载的时间依服务器带宽而定。如果您在这一步中遇到错误,可以向我发送邮件,我会为您解决相关错误。

  1. 获取Game Server Login Token(GSTL)

在安装完成后会提示您输入Gstl口令,您只需要访问Gstl获取页面登录您的Steam并创建即可。当然,您的账户需要满足一些条件。

  • 您的 Steam 帐户目前不能处于社区封禁或锁定状态
  • 您的 Steam 帐户不能受限
  • 您的 Steam 帐户必须拥有一个合格的注册手机
  • 您的 Steam 帐户必须拥有所创建游戏服务器对应的游戏
  • 您的 Steam 帐户可以创建 1000 个游戏服务器帐户

在服务端下载成功会会提示如下。

1
2
3
4
Success! App '740' fully installed.

=================================
Was the install successful? [Y/n] Y

如果提示Success即可直接按下Enter,开始输入Gstl。输入您的Gstl后单击Enter,如果没有问题服务端程序就会提示如下。

1
2
3
4
5
6
7
8
9
10
LinuxGSM Stats
=================================
Assist LinuxGSM development by sending anonymous stats to developers.
More info: https://docs.linuxgsm.com/configuration/linuxgsm-stats
The following info will be sent:
* game server
* distro
* game server resource usage
* server hardware info
Allow anonymous usage statistics? [Y/n] Y

此步直接Enter即可,到此服务端安装结束,服务器能够开始运行。

测试服务器以及配置参数

首先启动CS:GO服务端,测试服务端是否正常运行。

1
./csgoserver start

如果提示中不带有FAIL,并且在运行开始后Gstl页面提示上次登录的时间对应,即为服务端运行正常。即可关闭服务端并且配置有关文件。

1
./csgoserver stop
  1. 切换到配置文件目录
1
cd ~/lgsm/config-lgsm/csgoserver/

其文件目录结构图如下。

1
2
3
4
csgoserver/
|_common.cfg
|_csgoserver.cfg
|__default.cfg

其中的common.cfg我们暂时用不到,csgoserver.cfg是服务端程序运行时读取的配置文档,_default.cfg是默认配置文档。

  1. 将_default.cfg中的配置写入到csgoserver.cfg
1
cat _default.cfg > csgoserver.cfg
  1. 使_default.cfg不生效
1
mv _default.cfg _default.cfg.bak
  1. 编辑csgoserver.cfg文件,再次填写Gstl
1
vim csgoserver.cfg

在第36行的地方填入Gslt。

1
2
3
4
## Game Server Login Token (GSLT): Required
# GSLT is required for running a public server.
# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt="BB******************************"

在保存之后切换到主目录并使用./csgoserver start命令开启CS:GO服务端,并且关闭防火墙或开启27015端口。如果您使用的是阿里云的服务器,您还要去配置安全组。请参考阿里云官方文档并开启27015端口。

连接服务器

在结束了繁杂的安装过程之后就可以打开CS:GO进入服务器玩耍了,您只需要在游戏中按~键进入控制台,输入connect <ip>进入服务器。如果CS:GO不能自动检测到游戏服务器的端口,那么请在命令中指定端口connect <ip>:<port>