用途
本技能描述 Roblox 平台在运行时的行为方式,适用于编写、审查或调试触及服务、Instance、复制、RemoteEvent、数据存储、流式加载、物理所有权、任务调度等内容的服务端/客户端 Roblox 代码。资料来源为 create.roblox.com/docs 的 API 与概念,以及 devforum.roblox.com 的工程师澄清与 RFC。
主要能力
技能围绕以下核心原则展开:
- 服务端权威:客户端不可信。任何影响游戏状态(货币、库存、伤害、可信位置)的内容都放在服务端。客户端只发出意图,服务端验证并应用。
- 状态单一归属:每份状态只有一个所有者——服务端、控制客户端或复制。两个写入者意味着竞态。
- 复制是异步的:服务端创建的内容在未来的帧才出现在客户端,而非同一帧;客户端创建的内容不会复制到服务端。
- 让出是可观察的:事件处理器内的让出调用会穿插运行其他处理器,执行顺序与书写顺序不同。
- 引用 API 前先核实:Roblox API 面庞大且变动频繁,不确定时应说明不确定,而非臆造属性名。
技能还提供多份深入参考文档:
- references/replication-model.md — 什么从何处复制、逐属性规则、延迟信号时序
- references/cloud-services.md — 数据存储 / 内存存储 / 配置 / 密钥 / 内存内存储的选择器
- references/datastore-rules.md — 速率限制、重试/退避、会话锁
- references/streaming-enabled.md — 分块语义、ModelStreamingMode、客户端规则
- references/query-descendants.md — 完整的 Instance:QueryDescendants 选择器语法
- references/buffer-library.md — 完整的 buffer 库 API
- references/parallel-luau.md — actor 模型、ConnectParallel、SharedTable、线程安全
- references/performance-optimization.md — 完整的陷阱与缓解清单
使用方式
集成策略:本技能描述推荐模式,但不授权重写现有代码。规则适用于新代码以及用户明确要求重构的代码。在应用技能默认值之前,先匹配代码库既有风格(大小写、缩进、引号风格、模块形态)。不要引入项目尚未使用的工具;遇到冲突时只提示一次,并默认沿用既有模式。完整规则见 ../../shared/integration-policy.md。
技能内容按主题组织,包括:
- 服务访问:始终使用 game:GetService("Name"),而非 game.ServiceName;GetService 调用放在文件顶部、按字母排序。
- DataModel 与 Instance:Instance 在 Parent = nil 且无脚本引用前仍存活;:Destroy() 不可逆;:Clone() 需要 Archivable = true。
- 查询后代::GetChildren()、:GetDescendants()、:FindFirstChild()、:FindFirstChildOfClass()、:QueryDescendants() 等,并给出 QueryDescendants 的 CSS 式选择器示例。
- WaitForChild 规则:客户端对复制容器子项使用 :WaitForChild("Name");生产代码中必须带超时。
- 脚本类型与位置:Script(含 RunContext 的 Legacy/Server/Client)、LocalScript、ModuleScript,以及推荐布局表。
- 复制:服务端到客户端自动,客户端到服务端不自动;逐属性复制;先设属性再设 Parent;信号行为(Deferred)。
- RemoteEvent 与 RemoteFunction:OnServerEvent 首参为触发 Player;其余参数按 unknown 类型并在边界验证;每个 Remote 限流;每个逻辑动作一个 Remote。
- 角色生命周期:PlayerAdded 时角色可能已存在;每次重生是新 Model;Humanoid.Died、CharacterRemoving 的时机。
- 流式加载:StreamingEnabled 下客户端可能看不到服务端可见的部件;ModelStreamingMode 的 Default/Atomic/Persistent/PersistentPerPlayer。
- 物理所有权:未锚定 BasePart 的网络所有者、SetNetworkOwner、SetNetworkOwnershipAuto、锚定部件无所有者。
- 云服务:DataStoreService、OrderedDataStore、MemoryStoreService、Configs、Secrets、内存内 Luau 表的对比表与核心规则(pcall、UpdateAsync、会话锁、BindToClose 预算、速率限制)。
- 任务调度:task.spawn、task.defer、task.delay、task.wait、task.cancel、task.synchronize/desynchronize 的用途,以及避免旧全局 wait/spawn/delay。
适用场景
适用于涉及 Roblox 服务端/客户端代码的编写、审查与调试,尤其是触及服务、Instance、复制、RemoteEvent、数据存储、流式加载、物理所有权、任务调度等运行时行为的场景。
限制
本技能只描述推荐模式,不授权重写现有代码;应匹配代码库既有风格,不引入项目未使用的工具。关于具体收费、价格、平台支持范围等信息,资料中暂未提供。