《森林之子》专用服务器搭建官方文档


3楼猫 发布时间:2023-06-29 01:27:40 作者:遇風 Language

(尝试汉化一下给需要的朋友,其中有一些自己搭建踩的坑。)

(链接:https://www.bilibili.com/read/cv24590606

《森林之子》专用服务器搭建官方文档-第0张

使用 SteamCMD

您可以直接从Valve的网站上安装SteamCMD工具。

SteamCMD工具链接为:https://developer.valvesoftware.com/wiki/SteamCMD。该页面还包含了该工具的完整文档,但您只需要按照本指南中的内容进行操作即可。

要安装或更新游戏,请启动SteamCMD,然后键入以下内容(如果需要修改安装目录,请进行相应修改。在我们的示例中,我们将把服务器安装到c:/sons-dedicated目录):

对于更加熟悉搭建服务器的用户,也可以通过直接在Windows命令行中键入(或从批处理文件中键入)来组合这些命令。这在您想要设置自动游戏更新等情况下可能会很有用。

(PS:这里需要将steamcmd.exe的路径加入到系统变量的Path中,或者需要CD到steamcmd的路径执行该命令。)

《森林之子》专用服务器搭建官方文档-第1张

服务器连接互联网

为了让其他玩家能够连接到您的服务器,您需要确保您的机器正确配置以允许以下三个不同端口的流量,并在配置文件中进行相应设置。

通常所需的步骤包括:

  1. 在路由器或托管服务上设置适当的端口转发规则。

  2. 在操作系统防火墙中设置适当的规则,或在路由器/交换机的内置防火墙中设置适当的规则。

所需端口:

  • 游戏端口(UDP):8766

  • 查询端口(UDP):27016

  • 数据传输端口(UDP):9700

这些端口是默认端口,可以在稍后将讨论的配置文件中进行更改。

在启动时,游戏服务器会进行自检过程,检查端口是否开放并可访问。如果自检失败,服务器将无法启动。在这种情况下,您有两个选择:

  1. 修复端口转发设置。

  2. 设置下面将讨论的"LanOnly"标志,它基本上将您的游戏从公共列表中排除在外。

《森林之子》专用服务器搭建官方文档-第2张

服务器连接局域网

当游戏连接至局域网时,您需要考虑以下几点:

  1. 如果您希望将游戏从互联网搜索中隐藏,可以选择将"LanOnly"标志设置为true。

  2. 在局域网中,如果您与其他客户端在同一网络中运行,则通常不需要进行任何端口重定向。但是,您仍然需要适当地设置防火墙。

  3. 您的本地网络必须被操作系统信任并允许流量通过。为了做到这一点,您的网络配置文件必须设置为私有。

  4. 当您有多个网络适配器时,可能会存在已知问题,有些情况下Steam会选择错误的适配器来进行局域网游戏的发现,并且没有任何结果。如果遇到任何问题,您可以临时禁用所有其他网络接口,然后再次尝试以确认此问题。

《森林之子》专用服务器搭建官方文档-第3张

数据文件夹

在运行专用服务器时,它将使用一个固定的用户数据文件夹,用于:

  • 读取配置文件

  • 保存和加载游戏存档

  • 写入服务器日志

  • 等等...

此文件夹可以配置为特定目录,也可以使用默认设置。用户数据存储的默认位置为:

(PS:该文件夹为隐藏文件夹,需要开启“查看”中的”查看隐藏项目“。)

可以使用命令行参数覆盖它:

如果未指定参数,则将使用默认目录。

在本指南中,我们将使用<数据文件夹>来引用此文件夹。

《森林之子》专用服务器搭建官方文档-第4张

配置文件的位置

如前一部分所述,所有在本文档中讨论的配置文件可以在游戏的<数据文件夹>中找到而且必然位于其中。

该文件夹包含以下内容:

  • 服务器所有者列表,文件名为ownerswhitelist.txt

  • 游戏服务器配置,文件名为dedicatedserver.cfg

  • 保存的游戏进度(如果路径未被覆盖),文件夹名为Saves

  • 游戏设置,文件名为SonsGameSettings

注意,这些文件在安装后不会立即存在,必须先启动游戏才能创建默认文件。并非所有这些文件都需要进行干预来设置专用服务器。

(PS:也就是在安装好服务端后必须先运行一次,这些文件才会出现。并不是所有文件都需要我们去配置,我们需要去修改和配置的文件后面会有详细的教程。)

您只需要操作以下文件:

  • ownerswhitelist.txt

  • dedicatedserver.cfg

《森林之子》专用服务器搭建官方文档-第5张

服务器所有者

为了能够直接在游戏中管理您的服务器,您需要使用ownerswhitelist.txt文件设置服务器所有权。这将允许您作为玩家完全访问游戏内的管理面板(暂停菜单/玩家),您将能够:

  • 将其他玩家升级为管理员

  • 将其他玩家降级为访客

  • 踢出访客

  • 禁止和解禁访客

如何创建默认的服务器所有权文件?

在首次启动服务器时,如果配置文件尚不存在,将在配置文件夹中创建默认配置文件。您可以按照以下部分的描述创建它,或者简单地创建一个txt文件。

文件名和格式

为了设置服务器所有权,您将需要在名为ownerswhitelist.txt的文件中按行提供所有 "服务器所有者" 的Steam ID。在首次启动服务器时,如果配置文件尚不存在,将在配置文件夹中创建默认配置文件。

服务器所有者基本上拥有与P2P服务器主机相同的权限,这是最高角色,并且可以访问所有命令,因此请确保只向此列表中添加可信任的人员。以下是一个示例文件。

要查找您的SteamID,您可以直接导航到此页面https://store.steampowered.com/account/,或者在Steam中单击右上角的您的名称,然后选择"帐户详细信息"。

《森林之子》专用服务器搭建官方文档-第6张

配置文件

专用游戏服务器可以通过配置文件夹中的JSON文件进行配置,文件为dedicatedserver.cfg

如何创建默认配置文件

在首次启动服务器时,如果配置文件尚不存在,将在配置文件夹中创建默认配置文件。您可以按照以下方法创建配置文件,或者简单地创建一个JSON文件,如下所述。

文件名和格式

我们的配置文件采用JSON格式编写。您可以在线找到许多资源,教您如何处理此类文件。我们将列出一些在编辑JSON文件时的基本错误:

  • 键始终用引号括起来,后跟英文的冒号

  • 文本值始终在引号之间写入“文本”

  • 整数、浮点数和布尔值(true/false)将不带引号写入

  • 每个设置(键值对)后必须跟一个逗号(,)

注意:

  • 某些设置可以设置为null,表示它们没有值。结果取决于设置,并在下面的文档中进行了描述

  • 没有强制要求设置,如果设置不存在,则将被替换为其默认值

  • 顺序无关紧要

(PS:这段熟悉json文件格式的朋友可能会理解,简单来说就是json文件是由很多键值对组合而来。

例如{"IpAddress": "0.0.0.0","GamePort": 8766},其中就有两对键值对,它们之间是由逗号分隔的,分别是"IpAddress": "0.0.0.0"和"GamePort": 8766。

键值对,前者为键,后者为值。因此IpAddress和GamePort都属于键。键需要始终用引号括起来,后跟英文的冒号。

对应的值便是0.0.0.0和8766了,然而值如果是文本的话,例如这里的IP地址0.0.0.0很明显为数字和符号组成的文本,那这自然需要用" "引用起来。而整数、小数和布尔值(true/false)将不带引号写入,所以这里的8766是不带引号的。)

文件名必须是dedicatedserver.cfg,并包含一个JSON格式的文档,定义了与游戏服务器配置相关的所有参数。它必须放置在配置文件夹中。以下是默认文件的内容。

  1. IpAddress:游戏服务器的监听接口,通常为0.0.0.0,表示监听所有接口。任何格式为IPv4地址的字符串。(PS:这里需要填写我们服务器的内网IP地址)

  2. GamePort:游戏网络代码(Bolt)使用的UDP端口,整数。

  3. QueryPort:Steam用于列出服务器并启用发现服务的UDP端口。整数。

  4. BlobSyncPort:BlobSync系统使用的BlobSyncPort UDP端口,用于初始化游戏系统并交换数据。整数。(PS:2,3,4就是前面我们讲的三个端口,我们的云服务器需要打开这三个端口的UDP协议,具体在自己的云服务器管理面板上调整。)

  5. ServerName:服务器在服务器列表和Steam联系人中可见的名称。任意字符串。(PS:说人话就叫服务器的名字)

  6. MaxPlayers:服务器允许同时连接的最大玩家数。整数(1-8)。

  7. Password:为服务器添加密码,使其成为“私有”服务器。客户端在连接时需要输入此密码才能继续。任意字符串,长度最多为40个字符。(PS:服务器密码)

  8. LanOnly:允许或限制服务器在局域网上可见。值为true或false。

  9. SaveSlot:创建新保存时,此数字将成为保存的ID。大于或等于1的整数。

  10. SaveMode:游戏保存初始化模式。值为"continue"或者"new"。"continue":如果SaveSlot上的保存不存在,则创建一个新的保存,如果存在,则加载它。"new":创建一个新游戏,具有新的游戏ID,并覆盖SaveSlot上先前保存的任何游戏。如果服务器停止并重新启动,只要模式设置为"new",先前的保存将被覆盖。

  11. GameMode:创建新保存时设置的游戏难度模式。值为“normal”、“hard”、“hardsurvival”、“peaceful”、“custom”,分别对应正常,困难,艰难生存,和平,自定义。需要注意的是:如果加载保存(保存模式设置为"continue",并且在存档槽中含有存档),则忽略此参数。如果游戏模式设置为"custom",则将从CustomGameModeSettings选项中读取自定义游戏模式设置,稍后将对其进行描述。

  12. SaveInterval:游戏服务器自动将游戏保存到SaveSlot的时间间隔,以秒为单位。整数。

  13. IdleDayCycleSpeed:当服务器处于空闲状态(没有玩家连接)时,与正常游戏进度相比,时间流逝速度的乘数。介于0和1之间的浮点数,大于或等于0。

  14. IdleTargetFramerate:当服务器被视为空闲状态(没有玩家连接)时的目标帧率。大于或等于1的整数。

  15. ActiveTargetFramerate:当服务器被视为非空闲状态(一个或多个玩家连接)时的目标帧率。大于或等于10的整数。

  16. LogFilesEnabled:定义是否将日志写入文件。日志将输出到<数据文件夹>/logs文件夹中。值为true或false。

  17. TimestampLogFilenames:启用日志文件的时间戳。

  18. GameSettings:用于调整游戏的所有游戏设置的键值映射(在任何模式下)。所有参数将在后面的段落中列出,以及它们可能的值。如果值为null或空,则使用默认设置。

  19. CustomGameModeSettings:用于在自定义模式下自定义游戏的所有可用设置的键值映射。所有参数将在本指南的后面列出,以及它们可能的值。如果值为null或空,则使用默认设置。如果游戏模式不是“custom”或加载了保存(保存模式设置为“continue”,并且在槽中存在存档),则忽略此参数,无论它是否为“custom”。

(PS:其实写到这里,正常玩家的搭建流程已经结束了,后面为自定义服务器相关问题。)

《森林之子》专用服务器搭建官方文档-第7张

游戏设置

以下是可以在配置文件中的"GameSettings"参数中添加的额外设置。

  1. Gameplay.TreeRegrowth 启用树木自动再生,当睡眠时触发。 值为true, false

  2. Structure.Damage 允许建筑物受到损坏。 值为true, false

自定义游戏模式设置

以下是可以在配置文件中的"CustomGameModeSettings"参数中添加的额外设置。如果游戏模式不是"custom"或者正在加载一个已经存在的保存(保存模式设置为"continue"),这些设置将被忽略,因为它们仅在保存创建时设置一次。

  • GameSetting.Vail.EnemySpawn 启用敌人生成。值为 true, false

  • GameSetting.Vail.EnemyHealth 调整敌人的初始生命值。 值为low, normal, high

  • GameSetting.Vail.EnemyDamage 调整敌人的伤害能力。 值为low, normal, high

  • GameSetting.Vail.EnemyArmour 调整敌人的护甲强度。 值为low, normal, high

  • GameSetting.Vail.EnemyAggression 调整敌人的攻击性水平。 值为low, normal, high

  • GameSetting.Vail.AnimalSpawnRate 调整动物生成速率。值为low, normal, high

  • GameSetting.Environment.StartingSeason 设置环境的初始季节。 值为spring, summer,autumn, winter

  • Structure.Damage 允许建筑物受到损坏。值为 true, false

  • GameSetting.Environment.SeasonLength 调整季节长度。 值为short, default, long, realistic

  • GameSetting.Environment.DayLength 调整一天的长度。 值为short, default, long, realistic

  • GameSetting.Environment.PrecipitationFrequency 调整雨和雪的频率。 值为low, default, high

  • GameSetting.Survival.ConsumableEffects 在水分和饱食度不足时启用受伤效果。 值为off,normal, hard

  • GameSetting.Survival.PlayerStatsDamage 从每个坏的或腐烂的食物和饮料中受到伤害。 off, normal, hard

  • GameSetting.Survival.ColdPenalties 调整寒冷对健康和体力恢复的影响程度。值为off, normal, hard

  • GameSetting.Survival.ReducedFoodInContainers 减少容器中的食物数量。 值为true, false

  • GameSetting.Survival.SingleUseContainers 容器只能打开一次。 值为true, false

《森林之子》专用服务器搭建官方文档-第8张

特殊情况

  • 如果配置中缺少参数,将使用默认值。

  • 如果游戏在没有配置文件的情况下运行,将使用默认配置。

  • 所有参数也可以通过命令行参数进行覆盖(参见下面的段落)。

所有参数也可以通过命令行参数进行覆盖,以提供更大的灵活性。您甚至可以通过命令行创建完整的配置。格式如下:


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com