我遵循了在线多人游戏的 Unity 教程(此处),架构如下:
但我想拥有这样的架构:
我想真正将在线游戏中的客户端部分和服务器部分分开。我是 Unity 新手,尤其是在线多人游戏,我真的不知道该怎么做。我不想要解决方案,但也许知道如何做到这一点。
非常感谢你帮助我。
我遵循了在线多人游戏的 Unity 教程(此处),架构如下:
但我想拥有这样的架构:
我想真正将在线游戏中的客户端部分和服务器部分分开。我是 Unity 新手,尤其是在线多人游戏,我真的不知道该怎么做。我不想要解决方案,但也许知道如何做到这一点。
非常感谢你帮助我。
我很惊讶你没有学习 Tut 并发布这个问题。显然你可以制作单独的服务器。
正如统一UNet 基本概念所述:
在统一网络系统中,游戏有一个服务器和多个客户端。当没有专用服务器时,其中一个客户端扮演 服务器的角色——我们称这个客户端为“主机”</strong>
UNet多人游戏的三种模式:
网络多人游戏可以以三种模式运行- 作为客户端、作为专用服务器或作为同时作为客户端和服务器的“<strong>主机”。网络旨在使相同的游戏代码和资产在所有这些情况下都能正常工作。开发单人版游戏和多人版游戏应该是一回事。
NetworkManager 具有进入以下每种模式的功能:
NetworkManager.StartClient()
NetworkManager.StartServer()
NetworkManager.StartHost()
您可以打开一个 Unity 实例作为专用服务器。
NetworkManager.StartServer();
但是,对于 UNET 的当前状态,每个 Unity 实例只能有 1 个房间。
这意味着如果您想同时打开多个游戏室,您将花费大量硬件。
以无头模式运行(无 GUI)会对您有所帮助,但这还不够(目前我已经在 DO 上做到了)。
所以我的建议是,如果您希望游戏中有大量用户,请不要使用 UNET。