mcpField
R
roblox-server-data

roblox-server-data

github.com/tabooharmony数据与数据库1381.8k 次安装2 周前更新
代码仓库

关于 roblox-server-data

面向 Roblox 开发者的参考技能,涵盖排行榜、跨服务器消息、共享状态与临时协调。它着重说明各服务的适用场景、限制和可靠处理模式。

主要功能

  1. 01OrderedDataStore 排行榜与分页
  2. 02MessagingService 跨服务器通信
  3. 03GlobalDataStore 共享状态
  4. 04MemoryStoreService 临时协调
  5. 05用户身份与跨服务器键选择

适用场景

  1. 01实现跨服务器排行榜
  2. 02协调限时匹配与服务器租约
  3. 03管理公会、赛季或共享计数器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-server-data

安装后在 Claude Code 中输入/roblox-server-data确认已加载。

附带文件references/full.md

详细介绍

Roblox 服务端与共享数据

何时加载

用于排行榜、消息传递、MemoryStore 协调、世界状态、赛季或公会。玩家数据持久化:roblox-data;Open Cloud:roblox-cloud。

快速参考

OrderedDataStore(排行榜)
  • 可排序的 DataStore:字符串键(tostring(UserId))、整数排序值;GetSortedAsync → 分页;BatchGetAsync 批量读取多个键(省略缺失的键)。
  • 通过 GetRequestBudgetForRequestType(OrderedWrite) 分配突发额度(每个服务端:30 + 玩家数×5 次写入/分钟)。
  • 仅用于排行榜,绝不可用于玩家存档。将 player_<UserId> 保留为静态键子串,以匹配 RTBF 模板。
MessagingService(跨服务端)
  • SubscribeAsync / PublishAsync;不保证送达或顺序——应设计为幂等。
  • 请求/响应:使用 {reqId} 进行关联 + 确认 + 超时;没有确认 ≠ 未执行——使用相同的 reqId 重放,不要重复发放奖励。
  • 预算包括广播接收次数,而不只是发送次数;限制与轮询权衡:见 full.md。
GlobalDataStore(共享状态)
  • 持久化非玩家状态(公会、赛季、计数器)。使用 UpdateAsync;绝不用它存储玩家会话数据。
MemoryStoreService(临时协调)
  • 使用队列和排序映射存储会过期的匹配、租约和协调信息。
  • 仅在成功完成幂等处理后,才移除读取的批次。
  • 排序映射分页:最后一项的 {key, sortKey} = 下一个排他的边界。配额为游戏级别(共用一个池):请求单位 1000+120×CCU/分钟,内存 64 KB+1.2 KB/用户,值 ≤32 KB,TTL 45 天;批量调用按项计费。
跨服务端模式
  • 使用会过期的心跳注册服务端;通过 MessagingService 通知。
用户身份
  • 使用 player.User(User.Id、DomainType、DomainId)识别用户;UserId 仍然有效。Domain ID 按体验划分:跨服务端数据应以 UserId 为键。
常见问题
  • MessagingService:即发即弃、无序;不适用于时间要求严格的工作
  • GlobalDataStore:速率限制与玩家 DataStore 相同
  • 绝不存储 Instances;SetAsync 会覆盖数据——共享计数器应使用 UpdateAsync

存储选择和工作流:references/full.md

评论

支持 Markdown