Nelaric Unreal Gameplay
Gameplay framework API
Loading...
Searching...
No Matches
Runtime.zh-CN

English | 简体中文

运行时、性能与安全

并发与可靠性

  • 服务必须说明其生命周期和关闭行为。在所属模块或 World 开始销毁后,避免再向其发出回调。
  • 公开异步回调默认在 Game Thread 执行。其他线程完成的工作在访问只能由 UE 游戏线程使用的对象前,必须显式切回相应线程。
  • 每个外部请求都必须设置明确的超时,并限制重试次数与队列增长。只有操作可以安全重复时才重试;在下游支持取消时,取消必须向下传播。避免无限等待和无限增长的后台工作。
  • 远程载荷、玩家提供的元数据和配置都视为不可信输入。在边界处验证,对无效数据返回普通错误。

高频路径

  • Tick、网络回调及其他高频路径不得执行阻塞式文件、数据库或网络 I/O。
  • 避免在这些路径中进行无上限分配、无上限循环或逐帧详细日志记录。将阻塞工作或低频工作移至合适的异步路径,并保留 UE 原生复制路径。
  • 确有必要的高频路径例外,必须在 PR 中说明成本和边界。

控制台命令

  • 项目定义的控制台命令名称必须以小写前缀 ng. 开头。例如,性能统计命令可使用 ng.perf.stat。

日志、配置与密钥

  • 不得记录访问令牌、服务器凭据、密钥或玩家个人信息。只记录排查问题所需的结构化诊断字段。
  • 通过集中服务读取和管理配置与密钥。每个可选集成只获取必需的值,避免将密钥复制到通用运行时元数据或错误信息中。
  • 管理操作和安全敏感操作必须检查授权,并留下合适的审计记录,且不得记录密钥内容。