2017-02-15 77 views
1

我跟着一個多人在線遊戲(here)的統一教程,和架構如下: Client + Server architectureUnity5 - 讓一臺服務器只爲多人遊戲

不過,我想有這樣的結構:

Server only architecture

我想真正將客戶端部分和服務器部分分開在線遊戲。我是Unity新手,特別是在線多人遊戲,我真的不知道該怎麼做。我不想要解決方案,但也許想到如何做到這一點。

非常感謝您的幫助。

+0

簡單的方法是保持你的狀態,但'主'客戶端不接受任何玩家輸入(也沒有任何玩家特定元素,例如字符,槍等)。 – NPSF3000

+0

所以例如與'IF(Network.isServer)'測試,我希望所有的控制器? – iAmoric

+0

正確。 15chars。 – NPSF3000

回答

1

我很驚訝你沒有學習Tut併發布這個問題。顯然你可以製作單獨的服務器。

由於統一UNet basic concept說:

在統一網絡系統,遊戲有一個服務器和多個客戶 。 當沒有專用的服務器,客戶端的一個播放 服務器的角色 - 我們稱之爲客戶端的「主機」 UNET多人遊戲的

三種模式:

一個網絡多人遊戲可以運行在三種模式 - 作爲客戶端,作爲專用服務器,或者作爲「主機」,其同時是客戶端和服務器。網絡旨在使所有這些情況下的相同遊戲代碼和資產都能正常工作。爲單人遊戲版本和多人遊戲版本開發應該是同樣的事情。

NetworkManager的具有用於輸入每種模式funcions:

NetworkManager.StartClient() 
NetworkManager.StartServer() 
NetworkManager.StartHost() 

Check UNetManager for more details

0

您可以打開一個團結實例作爲奉獻服務器。

NetworkManager.StartServer();

然而,對於UNET的當前狀態,你只能有1個房間每統一的情況。

這意味着如果你想在同一時間打開許多遊戲室,它會花費你很多硬件。

以無頭模式運行(無GUI)會幫助你一點,但這還不夠(目前我已經完成了DO)。

所以我的建議是不要使用UNET,如果你想讓遊戲中的大量用戶。