Unreal Engine

UE4.27 多人射击原型:Dedicated Server 与网络权威化改造

围绕 UE4.27 多人射击原型,将射击、换弹、切枪、拾枪、死亡、复活、计分与比赛状态逐步收敛到服务器权威流程。

进行中

项目背景

这是一个基于 UE4.27 的多人射击原型。当前工作重点不是扩展玩法数量,而是将已有交互逐步改为服务器权威流程,明确每个状态的所有者、同步方式和客户端表现边界。

本人负责内容

已有 Dedicated Server Target。正在处理射击、换弹、切枪、拾枪、死亡、复活、计分和比赛状态的服务器权威化改造,并整理对应的 RPC、复制属性和状态容器。

技术架构

GameMode 只在服务器上裁决规则与重生等权威行为;GameState 复制比赛阶段和公共比分;玩家持久状态进入 PlayerState;角色与武器实例负责可复制的交互状态。客户端输入通过 Server RPC 进入服务器,服务器验证并修改状态,再通过 RepNotify 或 Multicast 驱动必要的表现更新。

Client input -> Server RPC -> authority validation -> replicated state
                                                -> RepNotify / Multicast -> clients

关键难点

Server RPC、Multicast、RepNotify 的职责不能混用。需要避免客户端直接决定命中、弹药或分数,也要控制 Multicast 只承担短暂表现,而非持久状态同步。GameModeGameState 的职责拆分同样是当前改造的核心。

当前状态

服务器权威化仍在进行。两客户端实际回归测试尚未执行,不能据此宣称网络流程已经完成或稳定。公开代码入口指向当前主要开发使用的 CPPLine-5.8 分支。

Repository activity

提交记录

查看仓库
  1. 阶段:完成房间生命周期并整理网络路线
    810ded6
  2. 构建:统一游戏与服务器Target构建环境
    6d71619
  3. 功能:迁移倒计时与空房重开到C++
    e99b60d
  4. 功能:添加房间生命周期C++框架
    cb5479d
  5. 修复:同步玩家加入退出时的小地图与房主UI
    a9db814
  6. 修复:稳定多人光照与UI销毁流程
    54e5837
  7. 修复:稳定UE5多人武器同步与场景资源
    aa5e83e
  8. chore: 从 UE4.27 迁移至 UE5.8
    9b508bf
  9. fix: stabilize dedicated server flow and weapon drop physics
    8a811e7
  10. feat: add dedicated server packaging and gameplay fixes
    463fb8b
在 GitHub 查看完整历史