跳轉到主要內容

在 PlayFab 上設定 Linux 專用伺服器

本指南的目的是說明建置和驗證 Linux 專用伺服器所需的所有步驟。下列步驟專門適用於 Unreal Engine 5 (搶先體驗版和正式發行版)。相同的一組步驟已經過測試,也適用於 UE 4.26 和 UE 4.27,只是在 Unreal Engine UI 上封裝選項的位置有些微差異,UE 4.27 和 UE5 搶先體驗版的位置不同。 您可以在此處找到更多 Linux 部署資訊

需求

指示

  • 從 Unreal Linux 先決條件中,下載適用於您所安裝之 Unreal Engine 的工具鏈,並執行可執行檔。請注意,如同這些指南的許多部分,只有當您的 Unreal Engine 是從原始程式碼建置時,這些步驟才能運作。
    • 安裝完成後,請檢查您的 Windows 環境變數,並確認下列系統變數存在:LINUX_MULTIARCH_ROOT。
  • 在您的 Unreal Engine 原始程式碼目錄中:
    • 重新執行:Setup.bat
    • 重新執行:GenerateProjectFiles.bat
  • 返回您自己的專案:
    • 以滑鼠右鍵按一下您的 {ProjectName}.uproject 檔案,然後選取 Generate Visual Studio project files
    • 在 Visual Studio 中開啟 {ProjectName}.sln 檔案
    • 將設定設定為 Development Editor
    • 建置並執行 Unreal Editor
  • 此時,您應該能夠將專案封裝為 Linux 伺服器,並放在您選擇的目錄中。
    • 對於 Unreal Engine 5,在編輯器中,選取畫面右上方的封裝,現在應該可以選取 Linux 選項。對於 UE 4.26 和 UE 4.27,封裝選項位於檔案索引標籤下。
    • 確認您的 Server 和 Shipping 設定,選取 Linux 進行建置,然後選取輸出目錄。

建立 Linux 伺服器的 Docker 映像

在本節中,我們將設定包含您 Linux 伺服器的 Docker 映像
  • 您已建立 Linux 伺服器,請瀏覽至該目錄 (使用 Windows 檔案總管或您選擇的終端機)
  • 建立名為 Dockerfile 的新檔案
  • 使用您選擇的編輯器 (記事本、vim、emacs 等) 編輯檔案
  • 複製並貼上下方提供的內容。請務必將 [YourProjectNameServer].sh 取代為您自己的 Linux 伺服器可執行檔名稱 (位於相同目錄中)
注意:chown 命令會修正 $PF_SERVER_LOG_DIRECTORY,讓您的伺服器處理序可以存取它,然後 && 會串接命令以執行您的伺服器
  • 使用您選擇的終端機,瀏覽至 Linux 伺服器目錄
    • Windows 使用者通常使用 cmd 或 powershell,但也可以透過第三方工具或 WSL 使用 bash
    • Mac 和 Linux 使用者通常使用 bash
  • 執行:docker build -t "[imageName]:[tag]" .,其中 imageName 和 tag 是您選擇的選項。
    • 請記住這些名稱,您會再次使用它們
    • 範例可以分別是:YourProjectNameServer 和 01
    • tag 元素通常用於為您的伺服器執行個體設定版本
    • 這些標記將在後續步驟中使用
    • 如果您忘記了,可以在終端機上輸入 docker images 來擷取 imageName 和 tag
  • 在終端機上輸入 docker images,檢查 docker 映像是否已成功建立。
  • 保持此終端機視窗開啟並放在一旁,因為稍後我們還有更多命令要執行
    • (在後續步驟中表示為 [Docker terminal])

將容器映像上傳至 PlayFab Azure 登錄

此時,您已準備好將 docker 映像推送至 PlayFab Azure Container Registry,以便用來在 PlayFab 上啟動您的組建。
  • 瀏覽至 PlayFab 開發人員入口網站
  • 選取您的遊戲
  • 選取左側的 Multiplayer 索引標籤
  • 選取畫面右側的 New Build。
  • 選擇名稱
  • 選取 VM 類型,對於 ThirdPersonMP 專案,Dasv4 (2 cores) 就足夠了
  • 在 Server Details 下,將 Server Type 設定為 Container,並將 Operating System 設定為 Linux。
  • 選取 Upload to container registry。
  • 在跳出的視窗中:
    • 記住此視窗中的 [AzureUsername],後續步驟中會多次使用
    • 選取 Copy Docker Login Command
  • 返回 {Docker terminal} 視窗
    • 將 Docker Login 命令貼到 [Docker terminal] 中。此命令會將您登入 PlayFab 所使用的 Azure 登錄。
    • 輸入:docker tag [imageName]:[tag] [AzureUsername].azurecr.io/[imageName]:[tag]
    • 輸入:docker push [AzureUsername].azurecr.io/[imageName]:[tag]
    • 請記得,AzureUsername 會顯示在 PlayFab 開發人員入口網站上,而 imageName 和 tag 是您先前選擇的。
  • 回到 PlayFab 網站,在 New Build 頁面的 Server Details 下,選取 Container image 旁的 Refresh。
  • 按一下箭號按鈕,您應該就能看到並選取您上傳的 docker 映像及其對應的標記。
  • 在 Regions 區塊中,選取離您較近的區域,並將 Standby 和 Max 都設定為 1 (僅供測試)
  • 在 Network 區塊中,將 Port Name 欄位設定為 gameport
    • 必須定義將用來連線至遊戲伺服器的連接埠
    • Unreal GSDK 包含自動讀取此連接埠的程式碼,並會根據此值在內部覆寫 Unreal Server 主機連接埠
    • 此連接埠的名稱必須是 gameport
  • 選取 Add Build,並等待您的組建狀態變為 Deployed

後續步驟

許多使用者會想要透過連線遊戲用戶端來測試他們的伺服器。 否則,您可以返回主要的 Unreal GSDK 外掛程式指南。
最後修改於 2026年10月8日