2

我遵循了在线多人游戏的 Unity 教程(此处),架构如下: 客户端+服务器架构

但我想拥有这样的架构:

仅服务器架构

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

非常感谢你帮助我。

4

2 回答 2

2

我很惊讶你没有学习 Tut 并发布这个问题。显然你可以制作单独的服务器。

正如统一UNet 基本概念所述:

在统一网络系统中,游戏有一个服务器和多个客户端。当没有专用服务器时,其中一个客户端扮演 服务器的角色——我们称这个客户端为“主机”</strong>

UNet多人游戏的三种模式:

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

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

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

查看 UNetManager 了解更多详情

于 2017-03-25T06:28:04.990 回答
0

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

NetworkManager.StartServer();

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

这意味着如果您想同时打开多个游戏室,您将花费大量硬件。

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

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

于 2017-03-26T06:55:04.933 回答