PreLogin(检查登录条件)
- 发生在客户端尝试连接到服务器时,但尚未真正建立
PlayerController
。 - 主要用于验证玩家是否可以加入,比如检查 ban list(黑名单)、服务器是否已满 等。
- 如果验证失败,可以拒绝玩家加入。
Login(创建 PlayerController)
- 服务器 负责创建 PlayerController,并接管管理。
- 在这个阶段,
GameMode
还不会创建Pawn
,只是保证 玩家控制器 已建立。
PostLogin(玩家初始化)
- 这里玩家已经 完全连接,可以进行各种初始化操作,比如:
- 初始化 HUD(UI 界面)。
- 将玩家加入 GameplayMuteList(用于管理语音或文本聊天的静音列表)。
- 创建 Pawn 并进行 Possess(如果
GameMode
允许)。 - 初始化玩家状态(PlayerState),同步玩家信息。
- 可以使用RPC 函数了
额外补充
在 GameMode
的 PostLogin
之后,一般还会触发 OnPostLogin
事件,开发者可以在这里进行额外的玩家初始化,比如 匹配系统、分配队伍、同步游戏状态 等。