This document is about: FUSION 1
SWITCH TO

Docker Image

Level 4

概述

Fusion專用伺服器Docker映像檔範例 是一個指令碼及檔案的集,其展示一個 Fusion專用伺服器 如何被放入一個Docker Container之中,並且在一個Docker環境中執行。

Docker平台是一個廣為人知的虛擬化系統,其圍繞著容器的概念來組建,容器是運行特定應用程式的集的「虛擬機器」的群,其被適當地設定及封裝,能夠自由被建立及銷毀,而無需擔心流程隔離和主機端機器正在使用的操作系統。

當處理Dedicated Servers的建立時,容器的使用是最好的解決方案之一,並且大多數遊戲伺服器主機端提供者使用Docker來準確地達成它們的可擴縮性。

下載

版本 發布日期 下載
1.0.1 2023年4月13日 Fusion專用伺服器Docker映像檔1.0.1組建177

檔案說明

  • README.md:含有如何組建及使用範例的一般性資訊。
  • Dockerfile:容器說明,其為組建Docker Image時由Docker使用的一個設置檔案。Fusion Game Server將由fusion使用者從Linux容器來執行。更多關於Dockerfile的資訊在這裡
  • bin/entrypoint.sh:將執行Fusion Game Server的指令碼,並且選擇性地將傳送到容器的引數解析為伺服器二進位檔案。
  • run_server.sh:以選擇性引數來運行容器的方法的參照指令碼。

運行方法

這個範例應該只用作為參照,並且可能需要一些修改以適配更複雜的情況。
它不會展示如何精心設計Game Servers,只展示如何使用Docker Container來運行它。

設定Docker

  1. 前往docker.com/get-started
  2. 安裝並設定您的Docker服務。

讓Fusion伺服器準備好使用Docker映像檔

  1. 基於Fusion專用伺服器範例
  2. 組建一個Dedicated Server
    • 設定LinuxTarget Platform以及x86_64Architecture
    • 檢查Server Build旗標。
    • 設定可執行的名稱到server.x86_64
  3. 複製所有組建檔案到bin資料夾。

建立Fusion伺服器Docker映像檔

  1. 在目前的資料夾上開啟一個終端機。
  2. 確保Docker服務正在您的系統中運行。
  3. 運行:docker build -t <your_custom_image_name> .
    • 示例:docker build -t fusion-dedicatedserver .
  4. 一個附有名稱fusion-dedicatedserver的新的Docker Image,將在您的本機存放庫上建立。

運行Fusion伺服器為一個Docker容器

  1. 在目前的資料夾上開啟一個終端機。
  2. 確保Docker服務正在您的系統中運行。
  3. 運行:docker run -d -p <host_custom_port>:27015/udp <your_custom_image_name>
    • 示例:docker run -d -p 27015:27015/udp fusion-dedicatedserver
    • 預設下,Fusion專用伺服器將繫結到埠27015,並且這個埠已經由Docker映像檔來公開(檢查Dockerfile)。運行上述指令碼,該埠也將被映射到主機端27015
    • 運行一個已中斷連結的容器(-d引數),將使其獨立於目前的終端機來運行。

選擇性啟動引數

Fusion伺服器Docker映像檔已準備好接受與獨立組建接受的引數相同的引數。然而,它們有不同的引數名稱,這是基於entrypoint.sh指令碼讀取它們的方式。
檢查下列的引數清單,以取得更多資訊:

  • -s <custom_session_name>:使用一個自訂階段ID名稱。預設:隨機GUID階段名稱
  • -r <custom_region>:連線伺服器到一個自訂地區。預設:最佳地區
  • -l <custom_lobby>:加入一個自訂大廳。預設:加入預設ClientServer大廳。
  • -i <custom_public_ip>:設定伺服器的自訂公共IP。預設:空,伺服器將使用STUN服務來找到它的公共IP。
  • -p <custom_public_port>:設定伺服器的自訂公共埠。預設:空,伺服器將使用STUN服務來找到它的公共埠。

檢查run_server.sh指令碼,以取得使用選擇性引數來啟動一個新的Fusion伺服器容器的更結構化的方式。示例:

sh

docker run -d -p 27015:27015/udp fusion-dedicatedserver -s my_session -r eu -l my_lobby

叫用這個將在地區eu上使用階段名稱my_session來啟動一個Fusion Game Server,並且階段將列於大廳my_lobby清單之上。

Back to top