Unity5 - 为多人游戏制作服务器

Unity5 - Make a server only for multiplayer game

我按照一个在线多人游戏(here)的Unity教程,架构如下:

但我想要这样的架构:

我想真正将网络游戏中的客户端部分和服务器部分分开。我是 Unity 的新手,尤其是在线多人游戏,我真的不知道该怎么做。我不想要解决方案,但也许知道如何做到这一点。

非常感谢你帮助我。

我很惊讶你没有学习图坦卡蒙 post 这道题。显然你可以做单独的服务器。

如统一 UNet basic concept 所述:

In the unity networking system, games have a Server and multiple Clients. When there is no dedicated server, one of the clients plays the role of the server - we call this client the “host”

UNet多人游戏的三种模式:

网络多人游戏可以运行 三种模式 - 作为客户端,作为专用服务器,或作为“主机”,它同时是客户端和服务器。网络旨在使相同的游戏代码和资产在所有这些情况下都能正常工作。开发单人版游戏和多人版游戏应该是一回事。

NetworkManager 具有进入以下每种模式的功能:

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

Check UNetManager for more details

您可以打开一个 Unity 实例作为专用服务器。

NetworkManager.StartServer();

但是对于 UNET 的当前状态,每个 Unity 实例只能有 1 个房间。

这意味着如果你想同时打开多个游戏房间,你会花费很多硬件。

运行 因为无头模式(无 GUI)会对您有所帮助,但这还不够(目前我已经在 DO 上做到了)。

所以我的建议是,如果您希望游戏中有大量用户,请不要使用 UNET。