2017-02-15 28 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,如果你想让游戏中的大量用户。

相关问题