UE4 多人游戏基于客户端-服务器模式。也就是说,会有一个服务器担当游戏状态的主控者,而连接的客户端将保持近似复本。
服务器是 UE4 多人游戏的一个重要部分。服务器的作用包括:做出所有重要决定,包含所有的主控状态,处理客户端连接,转移到新的地图以及处理比赛开始/结束时的总体游戏流程等。
启动服务器
基本命令行(这些命令调用了编辑器执行文件,因此不需要熟数据(cooked data)):
服务器游戏流程
服务器负责驱动游戏流程。服务器的职责是在游戏开始/结束以及 actor 复制更新等情况下通知客户端转移到新地图。
游戏状态和流程一般是通过 GameMode 这一 actor 来驱动。只有服务器才包含此 actor 的有效复本(客户端不包含复本)。要向客户端传达该状态,可以使用 GameState actor 显示 GameMode actor 的重要状态。这个 GameState actor 被标记为复制到每个客户端。客户端将包含此 GameState actor 的一个近似复本,而且能使用这个 actor 作为引用,用于了解游戏的一般状态。
连接过程
如果一个服务器需要从网络连接的角度实现某种目的,它就必须要有客户端连接!
当新的客户端初次连接时,会发生一些事情。首先,客户端要向即将连接的服务器发送一个请求。服务器将处理这条请求。如果它不拒绝连接,服务器会向客户端发回一个包含了继续运行所需信息的响应。
主要步骤如下:
- 海报