06-2 虚幻引擎网络架构
虚幻引擎网络架构
1. 同步
点对点同步(网状结构)
点对点同步:最早的联机同步按照点对点网络的思路进行设计。也就意味着,假如开了一个房间,有4个玩家加入,那么玩家1输入每一个指令与消息,都会发往其他3个人,从而让4个人的画面得以一致。
点对点同步带来的弊端相当得多,毕竟这是一个网状结构。例如:
-
由于点对点同步带来的传输消耗,因此网络传输压力会很大。
-
由于点对点同步不存在“权威”性,因此当其中一个人作弊时,会影响所有的客户端。且很难判定“作弊”。
服务器-客户端架构(星型结构)
一台具有较高性能的主机被选出来,作为中心服务器。所有的“游戏性相关指令”都会被发往中心服务器进行处理,随后中心服务器会把世界的状态同步到各个客户端。
此时,将不能通过直接传递坐标给服务端,而是通过传递游戏性相关指令。
游戏此时拥有两个部分,指令与状态(动作与数据)。指令由客户端传递给服务器,服务器接受到指令后进行处理,改变游戏世界的状态,再将状态同步给每个客户端。
2. 广义的CS架构
客户端是对服务器拙劣的模仿。 ——Unreal Development Kit的文档UDN
当客户端接收到数据时,会根据从服务器到客户端过去了多少时间,猜测当前对象在服务器的可能位置以模仿服务器。下一次接收到数据时(接收到的是绝对正确的数据),再去调整当前的世界(如果偏差过大,就可能出现闪现的状况)。
发布于