《森林之子》專用服務器搭建官方文檔


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