Docker Image
Level
INTERMEDIATE
概述
Fusion專用伺服器Docker映像檔範例 是一個指令碼及檔案的集,其展示一個 Fusion專用伺服器 如何被放入一個Docker Container之中,並且在一個Docker環境中執行。
Docker平台是一個廣為人知的虛擬化系統,其圍繞著容器的概念來組建,容器是運行特定應用程式的集的「虛擬機器」的群,其被適當地設定及封裝,能夠自由被建立及銷毀,而無需擔心流程隔離和主機端機器正在使用的操作系統。
當處理Dedicated Servers的建立時,容器的使用是最好的解決方案之一,並且大多數遊戲伺服器主機端提供者使用Docker來準確地達成它們的可擴縮性。
下載
| 版本 | 發佈日期 | 下載 | |
|---|---|---|---|
| 1.0.2 | Nov 20, 2024 | Fusion Dedicated Server Docker Image 1.0.2 Build 733 | |
檔案說明
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
- 前往docker.com/get-started。
- 安裝並設定您的Docker服務。
讓Fusion伺服器準備好使用Docker映像檔
- 基於Fusion專用伺服器範例。
- 組建一個
Dedicated Server:- 設定
Linux為Target Platform以及x86_64為Architecture。 - 檢查
Server Build旗標。 - 設定可執行的名稱到
server.x86_64。
- 設定
- 複製所有組建檔案到
bin資料夾。
建立Fusion伺服器Docker映像檔
- 在目前的資料夾上開啟一個終端機。
- 確保
Docker服務正在您的系統中運行。 - 運行:
docker build -t <your_custom_image_name> .- 示例:
docker build -t fusion-dedicatedserver .
- 示例:
- 一個附有名稱
fusion-dedicatedserver的新的Docker Image,將在您的本機存放庫上建立。
運行Fusion伺服器為一個Docker容器
- 在目前的資料夾上開啟一個終端機。
- 確保
Docker服務正在您的系統中運行。 - 運行:
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清單之上。