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 + numPlayers×5)。
  • リーダーボード専用とし、プレイヤーのセーブには使用しないでください。RTBF テンプレートと一致するよう、player_<UserId> を静的なキー部分文字列として保持してください。
MessagingService(サーバー間)
  • SubscribeAsync / PublishAsync を使用します。配信も順序も保証されないため、冪等性を考慮して設計してください。
  • リクエスト/レスポンス:{reqId} による相関付け、確認応答、タイムアウトを使用します。確認応答がないことは、実行されていないことを意味しません。同じ reqId で再試行し、二重に付与しないでください。
  • 予算は送信だけでなくブロードキャストの受信にも適用されます。制限とポーリングのトレードオフについては full.md を参照してください。
GlobalDataStore(共有状態)
  • プレイヤー以外の永続データ(ギルド、シーズン、カウンター)に使用します。UpdateAsync を使い、プレイヤーのセッションデータには使用しないでください。
MemoryStoreService(一時的な調整)
  • 有効期限付きのマッチメイキング、リース、調整にはキューとソート済みマップを使用します。
  • 読み取りバッチは、冪等な処理が成功してから削除してください。
  • ソート済みマップのページング:最後の項目の {key, sortKey} が次の排他的な境界になります。クォータは ゲーム単位(共有プール 1 つ)です。リクエストユニットは毎分 1000+120×CCU、メモリは 64 KB+1.2 KB/ユーザー、値は ≤32 KB、TTL は 45 日です。バッチ呼び出しは項目ごとに課金されます。
サーバー間パターン
  • 有効期限付きのハートビートでサーバーを登録し、MessagingService で通知します。
ユーザー ID
  • ユーザーの識別には player.User(User.Id、DomainType、DomainId)を使用します。UserId は引き続き有効です。ドメイン ID はエクスペリエンスごとの ID であるため、サーバー間データのキーには UserId を使用してください。
注意点
  • MessagingService:ファイア・アンド・フォーゲットで、順序は保証されません。時間に厳しい処理には使用しないでください
  • GlobalDataStore:プレイヤーの DataStore と同じレート制限が適用されます
  • Instance は保存しないでください。SetAsync は上書きするため、共有カウンターには UpdateAsync を使用してください

ストアの選択とワークフローについては、references/full.md を参照してください

コメント