秉承着只要一种游戏能开社区服就有种想要搭建一下其服务器的想法,这次搭建的则是战术小队Squad。这篇文章就来介绍一下搭建的过程。

0.准备工作

准备工作与CSGO社区服务器除了开放端口以外基本没有区别,可选择性跳过。

准备一个云服务器

首先需要去购买一个云服务器来运行Squad的服务端,这里推荐4H8G以上的配置最佳。如果配置不够那么人多的话可能会卡住。

开放服务器对应的安全组

服务器是需要公网IP地址的,然后进入服务器把以下端口的安全组开放,用于玩家连接游戏。

  • 游戏端口 = UDP 6301 + 6302

  • Steam 查询端口 = UDP & TCP 26301 + 26302

  • RCON 端口 = UDP & TCP 21114 + 21124

1.下载并运行SteamCMD

下载SteamCMD

首先我们需要下载并安装SteamCMD,这就相当于我们电脑上的Steam,只不过没有了图形化的界面变成了命令行。

Windows系统下载地址: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

Centos则可以通过yum来安装,指令: yum install steamcmd

运行SteamCMD

Windows系统可以直接解压压缩包,然后打开steamcmd.exe就可以使用了。

Centos的话就直接切换到对应目录然后输入steamcmd就可以了。

2.通过SteamCMD下载Squad社区服务器

匿名登陆SteamCMD

打开SteamCMD以后我们首先需要登录到Steam才能下载对应的服务端

在命令行输入login anonymous或者login <你的Steam用户名>来进行用户登录,成功以后的效果如下图

通过SteamCMD下载社区服务器

登陆完以后输入app_update 403240 validate进行下载并校验Squad社区服务器,下载完以后在当前目录下的steamapps\common\Squad Dedicated Server\会出现Squad社区服务器的文件。 其中\Squad Dedicated Server\SquadGame\Binaries\Win64\SquadGameServer.exe便是服务器的启动文件,我们以后开启服务器都需要启动它。 (如下图)

3.开启社区服务器

设置启动参数

在开启服务器的时候我们是可以通过为其设置启动参数来调节一些服务器的重要参数,如下表

MULTIHOME = 服务器IP地址 (可选)
Port = 游戏端口 (必要)
QueryPort = Steam 查询端口 (必要)
RANDOM = 地图循环方式 [ALWAYS, FIRST, NONE] (可选)
FIXEDMAXPLAYERS = 最大玩家数量 (可选)
FIXEDMAXTICKRATE = 服务器刷新率 [Tickrate] (可选)
PREFERPREPROCESSOR = CPU Affinity (可选) 没有测试过
-log = 显示日志窗口 (可选)
-fullcrashdump = 崩溃时保存完整的服务器日志 (可选)

其中的游戏端口和steam查询端口便是我们安全组需要开放的端口。然后-log的日志窗口也是推荐显示的,方便查看服务器运行状态。

我们有两种方式可以来添加这些参数,这里和csgo社区服务器的方式很像:

Ⅰ.利用快捷方式来启动服务器(限Windows)

首先我们要找到文件目录中的 SquadGameServer.exe 然后对其右键->创建快捷方式->右键快捷方式->属性,然后在属性中找到目标,然后在目标原有文本双引号的后面和刚刚一样添加参数(例如: XXXX\SquadGameServer.exe" Port=6301 QueryPort=26301 RANDOM=FIRST -log),这样设置以后,我们以后启动服务器就只需要点击这个快捷方式就行了

Ⅱ.利用批处理文件

我们在 SquadGameServer.exe 的同级目录中新建一个文本文件,文件名和后缀可以修改为start.bat,然后编辑这个文件,在里面写上下面的内容:

@echo off
start SquadGameServer.exe Port=6301 QueryPort=26301 RANDOM=FIRST -log

运行服务端

点击上述两种方式对应的文件以后服务端便会开始运行:

当出现下图的信息之后会卡一段时间,是属于正常现象的,这个是开始加载服务器部分了。

然后当日志中开始出现下图的黄字是,则服务器基本就已经开起来了:

此时我们就可以在自定义浏览器中看到我们的服务器了,但是此时我们的服务器还没有配置,所以很难找到,所以接下来开始介绍如何配置服务器。

4.配置服务器

服务器配置文件目录及其作用

服务器的配置文件在XXXX\SquadGame\ServerConfig\目录下,打开以后会有很多的cfg文件,那便是我们需要修改的配置文件。

其中主要的分别有:

  • Admins.cfg # 权限组[管理员]

  • Bans.cfg # 封禁玩家列表

  • License.cfg # 许可证

  • MapRotation.cfg # 地图循环列表

  • MOTD.cfg # 服务器介绍[每日消息]

  • Rcon.cfg # 远程管理配置

  • RemoteAdminListHosts.cfg # 远程权限组[管理员]列表

  • RemoteBanListHosts.cfg # 远程封禁玩家列表

  • Server.cfg # 服务器配置

  • ServerMessages.cfg # 服务器循环公告

其中我们现在主要需要配置的为 Server.cfg ,其包含了服务器大部分重要的设置

Server.cfg文件的配置

以下几个配置项是比较常用的:

1、ServerName,这个是服务器在游戏服务器浏览器中显示的名字,也就是你服务器的名称。

2、检查IsLANMatch的值是否为False,如果为真则代表此服务器只能通过局域网连接

3、MaxPlayers,这里可以调整游戏的总人数,NumReservedSlots则是预留位人数。

4、PublicQueueLimit,服务器最大排队数,当人多的时候会排队进入服务器,此选项会决定有多少人能够排队。

5、AllowTeamChanges,是否允许跳边,不允许的话只有有跳边权限的玩家能跳边

6、PreventTeamChangeIfUnbalancedNumPlayersDiffForTeamChanges,队伍不平衡是否允许跳变和队伍两边最大人数差

7、TKAutoKickEnabled,TK自动封禁是否开启,后面的AutoTKBanNumberTKsAutoTKBanTime则表示TK人数和封禁时间(此配置是认证服务器是必须要配置的)

8、VehicleClaimingDisabled,是否开启小队车辆认领

Admins.cfg文件的配置

Admins.cfg文件主要是用来配置服务器各种权限的,包括管理员的设置。此文件被分成两块,分别是组管理和具体权限的管理。

Ⅰ、组管理设置

在本文件的上半部分是用来配置组别的,具体格式为Group=(组名):(权限1),(权限2),(权限3)

以超级管理员(所有权限)为例,则可以设置为Group=Admin:kick,ban,changemap,config,pause,cheat,private,balance,chat,cameraman,immune,manageserver,featuretest,reserve,demos,clientdemos,debug,teamchange,forceteamchange,canseeadminchat

Ⅱ、管理员的设置

在本文件的下半部分是用来配置人员的,具体格式为Admin=(SteamID,可在账户明细查看):(管理组组名)

例:Admin=1234567890:Admin

其他比较重要的配置文件

License.cfg:这个是填写认证服务器的许可证的,如果你想要让你的服务器出现在服务器浏览器而不是自定义浏览器则需要在此填写许可证,许可证可以在这个网址申请

MOTD.cfg:这个则是填写在选择阵营的时候中下部分的服务器描述文字,是支持使用Text标签来使其变成黄字和可跳转连接的

ServerMessages.cfg:这个则是服务器内的循环黄字公告,一行一句,每过一定的时间就会发送一条。

5.创意工坊的地图导入

Squad服务器是支持创意工坊的模组导入的,我们可以自由选择喜欢的模组,然后导入服务器

订阅相应的模组

首先我们需要前往Squad的创意工坊去订阅并下载对应的创意工坊文件,这里就不过多演示了。

找到创意工坊模组对应的文件

我们首先打开游戏目录,然后往前退,当看到workshop文件夹的时候,打开并前往workshop\content\393380目录,然后里面就是你订阅的创意工坊物品了,然后找到对应的模组,打开就会发现有一个文件夹(不是纯数字那个文件夹),文件夹里面就是我们所需要找到的文件。

上传至服务器

此时我们就可以将这个文件夹放到服务器文件夹的XXXX.\SquadGame\Plugins\Mods目录下即可,正常里面会有一个默认的CanadianArmedForces模组文件夹,和他放在同级目录即可。

开启服务器并切换至相应地图

此时我们就可以直接开启服务器,然后通过模组提供的换图指令 AdminChangeLayer XXXXXXX即可使用

6.结尾

以上就是所有Squad社区服务器搭建的内容了,如果有其他不知道的也可以在下面留言询问。