Multiplay
概述
多人遊玩 是 Unity 主機端服務解決方案,以 專用伺服器的協調流程 組建,其也提供許多更多功能,比如伺服器健康追蹤及零停機更新。
如需更多資訊,請參照這裡的官方多人遊玩網站。
這個頁面說明了在Photon Fusion SDK上的必要的設定,以使用 多人遊玩 來部署及運行一個 專用伺服器。
外部鏈結
- 多人遊玩 - 開始使用:[https://docs.unity.com/game-server-hosting/guides/get-started.html]
- 多人遊玩 - 整合要求:[https://docs.unity.com/game-server-hosting/concepts/integration-requirements.html]
- Fusion專用伺服器範例:範例鏈結
如何運行
在 多人遊玩 上以一個 專用伺服器 來運行Fusion是非常直觀的,因為唯一的主要要求是在啟動時同儕節點繫結到一個特定的 埠。
針對Fusion的在網路方面的兩個有趣的點,是在上述鏈結中說明的Dynamic IP address
及Dynamic port number
主題。
任何在 多人遊玩 主機端上運行的同儕節點需要繫結到IP 0.0.0.0
(額外資訊)以及到一個透過命令列引數或一個設置檔案來傳送的 埠。
檢查啟動參數頁面以取得更多資訊。
在一個全域雲端主機端服務上運行一個 專用伺服器 的另一個重要角度,是伺服器在執行時的地理位置。考慮到一個Fusion伺服器必須連線到一個Photon雲端地區,是強制性需要針對您的伺服器來選擇最佳地區。檢查以下的地區參照映射。
當 埠 及 地區 值被傳送到可執行,可以透過以下顯示的方式來啟動Fusion:
C#
private Task<StartGameResult> StartSimulation(
NetworkRunner runner,
string SessionName,
ushort port,
string customRegion,
) {
// Build Custom Photon Config
var photonSettings = PhotonAppSettings.Instance.AppSettings.GetCopy();
if (string.IsNullOrEmpty(customRegion) == false) {
photonSettings.FixedRegion = customRegion.ToLower();
}
// Start Runner
return runner.StartGame(new StartGameArgs() {
SessionName = SessionName, // Custom Session Name
GameMode = GameMode.Server, // Game mode always set to Server
Address = NetAddress.Any(port), // EndPoint to bind: 0.0.0.0:port
CustomPhotonAppSettings = photonSettings, // Custom Photon App Settings
// other arguments
});
}
在這個案例中關於Fusion的一個重要的注意事項是Fusion不支援與開箱即用的 多人遊玩 的任何類型的整合,這意味著為了取得關於專用伺服器的中繼資訊,在伺服器及 多人遊玩 服務之間必須有一個通信層,其可以公開資料,比如目前的已連線玩家的數量,或目前伺服器提供服務的遊戲模式的說明。
如需所有必要的資訊,請前往 針對Unity的遊戲伺服器主機端(多人遊玩)SDK 這裡的文檔頁面,這些是關於如何以 多人遊玩 服務來整合伺服器執行方式。
額外資訊
地區參照映射
多人遊玩地區 | Photon地區 |
---|---|
美國西部 | 美國 |
美國東部 | 美國 |
美國中部 | 美國 |
歐洲 | 歐洲 |
俄羅斯 | 歐洲 |
東北亞(日本/韓國) | 日本 |
東南亞(新加坡) | 亞洲 |
澳洲/大洋洲 | 亞洲 |
印度 | 亞洲 |
南美洲 | 南美洲 |
中國 | 中國 |