

前言
组织一场校园赛/内战的方法有很多,比如完美/5E等平台的十人约战、完美的赛事申请等,而UP偏向于自建服务器,因为这样能够实现较好的可控性(不会太卡)、较多的可玩性(KZ、改肤等)和较好的配置性(能够自行修改一些玩法)
那么,现在开始!(24.07.27修改)

1.选购服务器
CSGO时代的服务器配置要求为至少4T8G10M,Up猜测CS2服务器的配置要求应与CSGO服务器相差不大。
为避免卡顿,请在4T8G10M上留一定的冗余,且CPU主频越高越好。Up推荐使用腾讯云的云服务器按量计费实例(适合短期开服比赛),价格较低、可选带宽大,且余额只要有钱就能开服(阿里云的按量计费实例要余额至少100元),适合学生党。

Up主选用的是腾讯云按量计费竞价实例计算型C4(4T16G)香港区,带宽为按流量计费的100M,主频3.2GHz睿频3.9GHz,硬盘80G。

2.系统选择
Windows系统操作起来较为容易,但系统占用较大;而Linux类系统的操作较为困难,但系统占用较低。为了中和这两个优点和不足,Up推荐用 Linux 系统+安装宝塔面板来搭建服务器。当然,有一定 Linux基础的可以自便(如使用Xftp、Xhell等)。
Up主使用的是 Ubuntu20.04+宝塔面板的环境。

3.环境/必要准备
单单搭建服务器的话,只需安装宝塔面板、steamcmd和screen
(1)宝塔面板安装
首先,使用腾讯云自带的 OrcaTerm VNC登录服务器。

然后,进入宝塔面板官网 https://www.bt.cn,注册账号。

然后,在bt.cn主页点击"立即免费安装",然后点击"Linux面板8.1.0"中的"安装脚本",进入后选择自己对应系统的安装命令复制到OrcaTerm中,回车开始安装。




这里输入y回车确认
等待安装,大约1~2min即可。
安装完成后,会给出以下相关信息,复制这些信息保存下来。

然后进入腾讯云安全组内放通这里需要的端口

然后进入面板登录地址,输入保存下来的信息,登录

然后会弹出必备环境安装,推荐选择LNMP,除非你有其他需求,才选LAMP。然后等待安装完成,或进入下一步的必要准备。
至此,宝塔面板安装完成。
注:有安全需求的,可以进入设置中改帐号密码和登录端口等,这里就不详细教学。
(2)steamcmd安装
进入宝塔面板,点击左侧的"终端"进入终端。

输入 sudo apt update -y 更新软件源
输入sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update 开启x86 packages
输入 sudo apt install steamcmd -y 安装steamcmd

当其最后如图一样时,则表明 steamcmd安装成功。
(3) screen安装
在终端中输入sudo apt install screen -y即可
注:screen是让服务器能在后台运行,在终端关闭后不会影响服务器的运行。Linux的系统服务配置对新于来说太过复杂,因此使用广受好评的 screen
(4)GSLT令牌获取
GSLT令牌是V社对游戏服务器的识别、管控的账户。
开设CS2服务器第一个要获取的信息便是它。
进入 Steam的官方游戏服务器帐户获取渠道,登录 steam帐号
https://steamcommunity.com/dev/managegameservers
注:受到限制的帐户是不能够生成GSLT令牌的。受限帐号有以下种类型比较常见:
没有消费够5美元(大约35人民币左右)
被Valve封禁(VAC封禁了CS2、帐号封禁等)
没有绑定手机号和手机Steam令牌
受限帐户建议充值消费够5美元或者更换账号,或绑定于机号和手机令牌,以便获取GSLT令牌。

然后,在此界面(跳到主页商店的再复制一次网址进入)下输入CS2的AppIDr:730和便于自己记录的备忘录(CS2社区服务器目前还未有专用的服务端appid,所以获取730的即可。

然后会得到这个32位的令牌,将其保存下来以待后面使用。

4.服务端安装
(1)打开steamcmd
进入宝塔终端,输入 steamcmd 然后会出现如下界面

等待更新完就是这样

(2)更改安装目录(非必要可以不用)
输入 force_install_dir [安装路径] 确定安装位置 Up主使用默认安装路径
(3)登录steam账号
输入 login [Steam帐号名称][Steam帐号密码][Steam令牌验证码(如果需要)]登录,然后会出现如下界面

(4)安装服务端
输入app_update730 validate安装最新CS2(Linux)等待安装

安装完成后会如下图一样,此时即为安装成功。
(有些会显示Successfully……一样的,有任何的其他的报错请邮箱询问Up,但不一定能回你,因为高三)
此时 quit 退出即可。
注:CS2服务端约为34G,而宝塔面板、Ubuntu系统约为5~6G,为了保证后文的插件安装和demo录制等,请留10~20G的冗余。
Up选用的是80G的硬盘大小,短期开服已经非常足够了。有其他需求的可以拓展。

5.服务器设置
(1)配置 server.cfg
server.cfg是将一些开服所必要确定的一些游戏规则、模式、GSLT令牌设置等设置记录进来的文件。
这样,开服时就不用加进一大串的内容,仅需一条+exec server即可。

首先进入宝塔的文件管理页面,进入到[安装目录]/game/csgo/cfg
(默认安装路径:/home/ubuntu/.steam/steamapps/common/Counter-Strike Global Offensive,建议把Counter-Strike Global Offensive改名为没有空格的名字,以免一些指令运行时出现问题)
然后打开 server.cfg编辑,将默认的那行注释删去(可删可不删,Up有强迫症要删去),然后复制以下内容:
mp_autokick 0 //防止因挂机、友伤、自杀等原因被服务器踢出房间,0关闭,1开启
mp_drop_knife_enable 1 //允许丢刀 1=启用,0=禁用
sv_setsteamaccount "[32位GSLT令牌]" //设置GSLT令牌
sv_password "[密码]" //设置服务器连接密码(如果需要)
hostname "[服务器名称]" //设置服务器名称
mp_friendlyfire 0 // 队伍伤害 1=启用,0=禁用
Ctrl+S保存即可
(2)撰写开服sh命令文件
sh文件类似于 Windows的bat/cmd文件,是批处理命令的一种形式。这样,启动时只需要用./run.sh启动即可。
进入文件管理,进入CS2服务器安装的根目录下新建一个文件,名为run.sh
双击打开run.sh编辑
将以下内容复制进去:
./game/bin/linuxsteamrt64/cs2 -dedicated -maxplayers 10 -console -port [端口号,默认27015] +exec server.cfg +game_type 0 +game_mode 1 +map de_mirage -nomaster
下面解释一下这条命令:
./game/bin/linuxsteamrt64/cs2 cs2文件所在目录
-dedicated 以社区服务器的身份运行。前文说过,现阶段的CS2服务端还是用游戏本体来开设的
-console 打开控制台管理
+port [端口] 服务器启动端口,默认27015即可
+exec server.cfg 加载 server.cfg文件
+game_type 0 +game_mode 1 设置游戏模式
CS2所有的游戏模式如下:
休闲模式 +game_type 0 +game_mode 0
竞技模式 +game_type 0 +game_mode 1
搭档模式 +game_type 0 +game_mode 2
死亡竞赛 +game_type 1 +game_mode 2
军备竞赛 +game_type 1 +game_mode 0
自定义模式 +game_type 3 +game_mode 0
+map de_mirage 设置初始地图
CS2所有的地图名如下:
荒漠迷城 de_mirage
炙热沙城II de_dust2
炼狱小镇 de_inferno
核子危机 de_nuke
殒命大厦 de_vertigo
远古遗迹 de_ancient
阿努比斯 de_anubis
死亡游乐园 de_overpass
办公室 cs_office
意大利小镇 cs_italy
山林小寨 ar_shoots
行李仓库 ar_baggage
-nomaster 不在社区服务器列表中显示
-maxplayers 10 最大玩家人数设置为10人
保存即可
(3)开放端口
首先在宝塔面板"安全"中,点放行端口
放行端口27015,类型UDP/TCP,放行即可
然后进入腾讯云安全组管理面板(网址https://console.cloud.tencent.com/vpc/security-group)

点"编辑规则",添加两个规则:
端口27015范围ALL协议TCP
端口27015范围ALL协议UDP
放行即可。

6.启动服务器
(1)新建 Screen会话并启动服务器
进入终端,输入 screen -S [会话名称](会话名称可以随意填)然后输入cd [服务器安装目录] 进入服务器根目录。
然后输入 sudo chmod +x run.sh 赋予其运行权限
最后./run.sh运行即可
注:这里使用 ubuntu 原始的 ubuntu 帐号登录启动服务器,大佬可随意。
(2)创建软链接
对于大多数的 Linux 用户,所安装的 steamcmd 一般不会自动创建软链接,因此在启动服务器时会报如下错误:
/home/ubuntu/.steam/sdk64/steemclient so: cannot open shared object file: No such file or directory(找不到steamservice.so)
解决方法如下:
检查/home/ubuntu下有没有名为.steam的文件夹,如果有就看下它里面有没有sdk64和sdk32两个文件夹
如果没有 按照以下步骤操作:
登录root账号:su root 输入密码(不会显示字符)
创建所需的文件夹(一行一条命令):
cd /home/ubuntu && mkdir .steam
cd .steam && mkdir sdk64 && mkdir sdk32
创建软链接(一行一条命令):
ln -s /home/ubuntu/.steam/steamcmd/linux64/steamclient.so /home/ubuntu/.steam/sdk64
ln -s /home/ubuntu/.steam/steamcmd/linux32/steamclient.so /home/ubuntu/.steam/sdk32

(3)成功启动

当服务器出现和图中一样时,服务器就启动成功了。

7.连接服务器
启动CS2,按键盘上的键打开控制台,输入以下内容:connect [你的服务器ip]:[端口];password [服务器连接密码]

解释:ip是必须的,端口若不填则默认为27015端口
分号后的内容如在server.cfg中设置过密码的话就填,否则省略
本期内容到这里结束。