关于 roblox-data
roblox-data 是面向 Roblox 开发者的玩家数据持久化参考技能,涵盖保存、迁移、重试和会话所有权。重点是安全使用 DataStore 并处理生命周期边界。
主要功能
- 01基于模板的数据与迁移
- 02UpdateAsync 与暂时性错误处理
- 03使用 ProfileStore 管理会话所有权
- 04结合生命周期保存并处理关服
- 05数据校验与缓存写入验证
适用场景
- 01设计带版本的玩家存档
- 02迁移现有玩家档案
- 03处理并发会话与重试
- 04验证关服时的保存结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-data安装后在 Claude Code 中输入/roblox-data确认已加载。
附带文件references/full.md
详细介绍
Roblox 数据持久化
何时加载
用于玩家存档、迁移、重试、关闭或会话所有权。排行榜/消息/世界数据:roblox-server-data;Open Cloud:roblox-cloud。
快速参考
- 存储玩家状态前,先定义可序列化的模板和版本字段。深拷贝模板,避免嵌套默认值被共享;先迁移,再根据模板补齐缺失字段。按环境限定存储名称(
PlayerData_Studio),确保 Studio 写入不会进入生产环境。 - 使用
UpdateAsync执行读取-修改-写入;处理限流和暂时性错误。 - 使用会话所有权协议,防止并发修改档案。
- 使用 ProfileStore 时,按文档使用
StartSessionAsync、Profile.OnSessionEnd、EndSession;正常加载时不要使用Steal;使用ProfileStore.Mock进行临时的 Studio 写入。 - 在有意义的变更和生命周期边界时保存;仅依靠
PlayerRemoving不够;BindToClose会完成待处理的工作。 - 存储基元值/数组/字典;先转换 Instances/userdata/functions/循环表。验证数字(不能是 NaN/inf)、字符串(
utf8.len)和嵌套表:任何一个值无效都会导致写入失败。 - RTBF:在键中将用户 ID 保留为静态子字符串(
player_<UserId>),以便{UserId}删除模板匹配;哈希键/随机键会导致必须手动擦除。 GetAsync使用 4 秒本地缓存(DataStoreGetOptions.UseCache,默认值为true);使用UseCache = false验证写入。- 通过
DataStoreService:GetRequestBudgetForRequestType轮询实时剩余容量;配额会随并发用户数扩展(体验读取:每分钟 300 + CCU x 40)。 - 新代码使用
player.User(User.Id、DomainType、DomainId)标识用户;UserId仍然有效,但切勿在同一键方案中混用这两种 ID。 - 首次会话跟踪记录:
roblox-analytics§8。
持久化工作流:references/full.md
评论
支持 Markdown