Server Installation/zh

'''【海外】有关服务器安装的任何问题都可以在 Squad Hosting discord 询问. '''

Windows
Visual C++ Redistributable for Visual Studio 2013 vc_redist.x64.exe

Visual C++ Redistributable for Visual Studio 2015 vc_redist.x64.exe

DirectX End-User Runtimes (June 2010)

Linux
GLIBC 2.17 或更高

Windows
1. 下载 SteamCMD 并解压到您的系统根目录（C:\）.

2. 新建一个文件夹用于放置服务端文件（C:\Servers\Squad）.

3. 在文件夹中新建一个名为 “更新战术小队服务端.bat” 的文件.

4. 将以下内容复制到文件 “更新战术小队服务端.bat” 中： SET SRVPATH="C:\Servers\Squad" SET STEAMCMD="C:\SteamCMD\steamcmd.exe" %STEAMCMD% +login anonymous +force_install_dir %SRVPATH% +app_update 403240 validate +quit

5. 运行 “更新战术小队服务端.bat” 文件.

6. 等待 CMD窗口 自动关闭，则代表 更新 完成.

7. 进入服务端文件夹（C:\Servers\Squad）.

8. 新建一个名为 "启动.bat" 的文件，并将以下内容写入文件内： start SquadGameServer.exe Port=6301 QueryPort=26301 RANDOM=ALWAYS -log

9. 运行 "启动.bat" 文件，启动服务器.

您现在已经成功安装好服务器了，但是您仍然必须配置网络以允许客户端从 Internet 连接到服务器. 您可以在下面的 "开放端口" 中找到 战术小队 服务器 的连接端口.

Linux
首先，本教程假设您已经安装了一个 64位 的 Linux 发行版. （大多数托管公司都使用的 64位）

除此之外，本教程不需要任何 Linux 经验.

本教程中的 $ 符号之后的任何命令都需要在 Linux 终端（SSH）中执行.

'''提示: Linux 终端（SSH）可以使用 Tab 补全，假如你有一个名为 "testfolder" 的文件或文件夹，你可以输入 "text"，然后按 Tab 键，它会自动补全 "testfolder". '''

Linux 服务器终端（SSH）连接工具：
 * PUTTY https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
 * Xshell https://www.netsarang.com/zh/xshell-download/（可以自己百度下载）

好了，我们开始吧：

安装服务器：

1. 以 root 用户身份登录，安装 SteamCMD 以及所需要的库. Debian/Ubuntu: $ apt-get install screen lib32gcc1 CentOS: $ yum -y install screen glibc libstdc++ glibc.i686 libstdc++.i686

2. 创建一个用于 squadgameservers 的用户. $ adduser 用户名 给这个用户设置一个密码，您可能必须使用 "sudo passwd 用户名" 来设置密码. 当提示您输入全名、地址、电话等其它信息时，只需要按回车键即可. 当询问您信息是否正确时，请输入 Y 并按回车键.

3. 登录到新的用户: ssh 用户名@localhost，然后输入您的密码.

4. 创建一个名为 SquadGameServer 的目录. $ mkdir SquadGameServer

5. 进入目录 $ cd SquadGameServer

6. 使用其中一个命令 下载&解压 SteamCMD： $ wget -q -O - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv $ curl -so - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv

注意：部分人出现了 不可信/许可错误，那么你可以试试这些命令： $ wget -q -O - http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar xzv $ curl -so - http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar xzv

7. 创建用于 安装&更新 战术小队服务端 的实例脚本： $ echo "./steamcmd.sh +login anonymous +force_install_dir server1 +app_update 403240 validate" > updateserver1.sh

8. 设置执行权限 $ chmod +x updateserver1.sh

9. 安装服务器实例 (发布新版本时，可以使用相同的命令更新服务器) $ ./updateserver1.sh

10. 安装完成时会显示 "Success! App '403240' fully installed."，使用 exit 退出 SteamCMD. $ exit 然后按回车键

11. 创建 启动服务器实例 的脚本： $ echo "cd server1; ./SquadGameServer.sh Port=6301 QueryPort=26301 FIXEDMAXPLAYERS=100 RANDOM=NONE" > startserver1.sh

12. 设置执行权限 $ chmod +x startserver1.sh

13. 打开一个运行服务器的窗口，然后进入窗口. $ screen -dmS server1 $ screen -r server1

启动服务器：

$ ./startserver1.sh 窗口可以让服务器后台运行，即使您关闭了 SSH 会话.

编辑配置文件：

1. 登录运行服务器的账户，并进入配置文件夹：SquadGameServer/server1/SquadGame/ServerConfig. $ cd SquadGameServer/server1/SquadGame/ServerConfig

2. 使用文本编辑器打开配置文件（nano、vim、vi）. $ $编辑器 Server.cfg

编辑文件，完成后保存文件. 如果您使用的是 Nano，可以使用 Ctrl + O 保存文件，按 Ctrl + X 退出 Nano.

关闭服务器：

1. SSH 登录用于 squadgameserver 的账户连接到服务器（非root），打开运行服务器的窗口. $ screen -r server1

2. 你可以看到 SquadGameServer 的日志窗口，按 Ctrl + C 关闭服务器. （您可以使用启动命令重新启动服务器）

Docker
如果您的服务器有 Docker，你可以跳过上述步骤，只需要使用： docker run -d --net=host --name=squad-dedicated cm2network/squad

Docker 启动服务器时会自动更新，如果有更新只需重新启动服务器.

配置文件目录：/home/steam/squad-dedicated/SquadGame/ServerConfig/

当 Docker 容器被销毁时，它的整个文件系统也会被销毁. 与其在容器上编辑文件，使用 Docker Volumes 是一个好主意，这样做的好处是数据是持久的，如果你删除容器并从图像中创建一个新的，你不需要修改任何配置文件. docker run -d --net=host --volume=/<您的本地目录>:/home/steam/squad-dedicated --name=squad-dedicated cm2network/squad
 * Docker Volumes

如果你想启动另一个实例，你可以增加环境变量. 使用 -e (--env): docker run -d --net=host -e PORT=6301 -e QUERYPORT=26301 -e RCONPORT=21115 --name=squad-dedicated2 cm2network/squad 别忘了更改 Rcon.cfg 使用的端口（默认为 21114）
 * 多个实例

您可以在此处找到相关的 Docker Hub 页面： https://hub.docker.com/r/cm2network/squad/

Linux
注意事项：

- 复制目录并重命名.

- 然后编辑配置文件，在 Rcon.cfg 中设置一个端口号（+10）.

例子:

服务器1 Rcon 端口: 21114

服务器2 Rcon 端口: 21124

- 请在 start.sh 脚本中更改连接端口，避免出现问题.

测试版参数
许可证 服务器有时候会被允许访问游戏测试版本，这些测试版本通常在一个单独的仓库中发布. 要访问这些测试版本，请将 “NAMEOFTHEBETA” 和 “PASSWORD” 替换为测试版名称和密码.

Linux
./steamcmd.sh +login anonymous +force_install_dir server1 +app_update 403240 -beta NAMEOFTHEBETA -betapassword PASSWORD validate +quit

Windows
SET STEAMCMD="C:\SteamCMD\steamcmd.exe" %STEAMCMD% +login anonymous +force_install_dir "C:\Servers\Squad" +app_update 403240 -beta NAMEOFTHEBETA -betapassword PASSWORD validate +quit

开放端口
需要在 Windows 防火墙和路由器上打开（仅入站）

游戏端口 = UDP 6301 + 6302

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

RCON 端口 = UDP & TCP 21114 + 21124

温馨提示
启动服务器前请确保 Steam Client 已关闭，否则服务端无法运行.

有关于战术小队服务器相关问题，请访问 Offworld Industries Hosting Discord 服务器：https://discord.gg/VmUwR7J

[Windows] 允许 SquadGameServer.exe 文件通过防火墙可以为您省去很多麻烦.

当 战术小队 服务端 与 游戏 在同一主机时，请先关闭 Steam 再启动服务器. 服务器启动后再登录 Steam 启动游戏，否则服务端会出错.

配置文件
配置文件位于 Admins.cfg                    # 权限组[管理员] Bans.cfg                      # 封禁玩家列表 License.cfg                   # 许可证 MapRotation.cfg               # 地图循环列表 MOTD.cfg                      # 服务器介绍[每日消息] Rcon.cfg                      # 远程管理配置 RemoteAdminListHosts.cfg      # 远程权限组[管理员]列表 RemoteBanListHosts.cfg        # 远程封禁玩家列表 Server.cfg                    # 服务器配置 ServerMessages.cfg            # 服务器循环[红字]公告

服务器配置
设置好服务器后，我们需要对服务器进行配置.

所以，我们进入下一页：服务器配置