2015-05-07

Don't Starve Together Dedicated Server 架設教學 II

這篇是第二篇有關 DST Dedicated Seraver 的架設教學,旨在提供一個更簡易的、圖形化介面的架設方式,避免讓使用者接觸一些 command-line 的細節。並且本篇教學會略過更多非必要的細節,像是 Server port 設定,自定義世界參數等。 不過,有優點當然也會有缺點,本篇介紹的架設方式,必須要在已安裝 Steam 客戶端的電腦上才能執行!

如果對更進一步的架設細節有興趣的,歡迎參閱筆者寫的第一篇 Dedicated Server 架設教學。(連結見下)

實用連結

Dedicated Server 架設教學 I
[Wiki] Guides/Don’t Starve Together Dedicated Servers Dedicated Server 的英文 wiki 架設教學
DST Dedicated Server服务器配置教程 (簡體中文)

注意事項

  • 本文並不介紹關於遊戲程式的購買、取得相關消息。
  • 必須有正版 Don't Server Together 執行權限才能取得運行 Dedicated Server 所必須的 Token 檔案。
  • 筆者目前沒有使用 Mod 相關經驗,此篇教學會略過不提 Mod 相關事項。
  • 目前 DST 仍處在 Beta 開發的狀態,所以這邊所寫的任何東西,其正確性皆會受到時間的考驗。 如有任何誤導之處還請大家多加包涵。
  • 本文採 CC BY-SA 4.0 方式分享。

名詞解釋

這邊先來解釋幾個本文會用到的名詞、縮寫及觀念:

  • DS: Don't Starve
    Don't Starve 單機版的遊戲程式
  • DST: Don't Starve Together
    Don't Starve 多人連線版的遊戲程式,其程式內附有開 Server 的功能
  • DST Dedicated Server: Don't Starve Together 的專用 Server 程式
    是一支純文字介面的 Server 程式,比起用 DST 來開 Server,可以進行更多細部的設定,以及節省不必要的效能消耗。
  • Dedicated Server 資料目錄
    擺放地圖資料、世界生成設定以及其他 Server 設定檔案的資料夾,預設為 C:\Users\username\Documents\Klei\DoNotStarveTogether

安裝 Dedicated Server

首先來我們需要透過 Steam 客戶端來安裝 Dedicated Server。

安裝的方式非常簡單,我們先進到收藏庫下的工具頁面。沒意外各位應該會看到一長串的軟體清單,找到 Don't Starve Together Dedicated Server,右鍵點擊選擇安裝此程式,安裝前會跳出一個視窗要求你同意 EULA 全文,有空可以看一看。 XD

安裝完之後,在預設的情況下,每次開啟 Steam 客戶端,Steam 就會幫你檢查是否有更新可以安裝,所以用這種方式來安裝 Dedicated Server 的使用者不用擔心軟體更新問題。

不過在進入下一步之前,我們還需要做一點小設定,方便我們之後控制 Server 的運作,進行存檔,關 Server 等動作。右鍵點擊 Don't Starve Together Dedicated Server 點選 內容,在一般頁面下點選選設定啟動選項,輸入 -console 之後點選確定離開並關閉內容頁面。到這般我們的 Dedicated Server 安裝動作就算完成了。

取得 Token

這邊我們要先暫停一下,開啟 DST 遊戲程式,不是要開始玩了,只是要取得一個必要 Token 檔案。 :D

開啟遊戲之後,按下 ` 這個鍵 (在 Esc 下方),會跳出一個 commmand-line,接著輸入 TheNet:GenerateServerToken() ,完成後即可關閉 DST 遊戲程式。
這個動作會在資料目錄 C:\Users\username\Documents\Klei\DoNotStarveTogether 內產生一個 server_token.txt 檔案,裡頭紀錄著開啟 Dedicated Server 必要的授權資訊。

設定 Server 參數

用自己喜歡的文字編輯器開啟資料目錄 C:\Users\username\Documents\Klei\DoNotStarveTogether 當中的 settings.ini 進行一些設定,其中 [MISC] [audio] [graphics] [account] 都可以忽略不看,對我們開 Server 比較重要的只有 [network] 底下的設定,請視個人需求修改。 :D
ps: settings.ini 此檔案只接受半形英文數字字元

[network]
default_server_name = Your Server Name
default_server_description = Your Server Description
server_password = Password 
server_port = 10999
pvp = true | false
game_mode = endless | survival | wilderness
max_players = 1 .. 64
pause_when_empty = true | false
enable_vote_kick = true | false

參數 = 數值A | 數值B | 數值C 表示該參數必須設為等號右邊其中一項
參數 = 數值A .. 數值B 表示該參數必須設為數值A至數值B之間的值,包含數值A及數值B。

所以底下這兩行是正確的設定:

pvp = false
max_players = 16

而這兩行皆是錯誤的設定:

pvp = boolean
max_players = -4

執行 Dedicated Server、關閉 Dedicated Server

如果前面的動作都有正確執行完成,該設定的也沒有設錯,沒意外我們應該可以順利開啟 Dedicated Server 了。

右鍵點擊 Don't Starve Together Dedicated Server 點選進行遊戲,這時我們就會看到純文字的程式開始噴一些各式各樣的訊息出來。第一次開啟 Dedicated Server 時,因為 Server 需要亂數產生一張世界地圖,所以會花比較久的時間。等到 Server 視窗噴出一條 [00:00:XX]: SteamGameServer_Init Success 時,Server 就算是順利開啟完成。

這時候就可以執行 DST 遊戲程式來檢查是否 Server 有正確運作了。

如果遊戲不想玩了,想要把 Server 關掉了,那又該怎麼做呢? 當然不是直接把 Server 視窗關掉,如果這樣做的話,就會像你用 Word 打報告,然後電腦突然 crash 一樣,還沒存檔的進度通通.. 嗯。

還記的我們前面在安裝 Dedicated Server 段落有提到要在設定啟動選項裡加入 -console 嗎?-console 這個參數的目的是允許我們在 Dedicated Server 中輸入一些指令,方便我們操作 Server。如果想要存檔並關閉 Server,就是在 Server 視窗中先輸入 c_save() 再輸入 c_shutdown(),如果想要直接關閉 Server,那就只輸入 c_shutdown() 就可以了。

ps: Dedicated Server 中的常用指令

c_save()            # 使 Server 進行一個存檔的.. 動來動去的.. 動作
c_shutdown()        # 關閉 Dedicated Server
c_regenerateworld() # 重新生成世界

區網中的 Port Forwarding 設定

若架設 Server 的環境是在透過 NAT 處理的區域網路環境 (透過 WI-FI AP IP分享器等),我們會需要把外側送到 port 10999 (Server 的預設 port) 的封包轉送進來,這樣遊戲程式才能正常的和 Dedicated Server 所在那台電腦連線。

這部分礙於設備種類繁多,無法一一說明,請大家自行上網查詢 Port Forwarding 相關教學。 XD