mcpField
R
roblox-datastore-persistence

roblox-datastore-persistence

github.com/ashexplainedデータ・データベース3899 回インストール17 週間前に更新
リポジトリ

roblox-datastore-persistence について

Roblox のプレイヤーデータ永続化を設計・レビューするスキルです。スキーマ、保存、移行、障害対応に加え、Roblox のスクリプトツールを使うレビュー手順と、公開環境や複数サーバーで必要なテストを示します。

主な機能

  1. 01バージョン付きの標準プロフィールスキーマ
  2. 02読み込み検証とデータ移行
  3. 03サーバー側のメモリ内プロフィール
  4. 04デバウンス保存と再試行
  5. 05時間制限付きのシャットダウン保存
  6. 06永続化のレビューとテスト手順

活用シーン

  1. 01プレイヤープロフィールのデータ構造を計画
  2. 02古いデータや不完全な保存データに対応
  3. 03不要な書き込みや頻繁な保存を削減
  4. 04保存、読み込み、終了処理をレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ashexplained/roblox-skills --skill roblox-datastore-persistence

インストール後、Claude Code で/roblox-datastore-persistenceを入力して読み込まれたか確認します。

詳細

Roblox DataStore の永続化

目標

プレイヤーの進行状況を確実に保存し、重要な状態が破損したり失われたりするのを防ぎます。

スキーマのルール

  • UI の状態ではなく、コンパクトで正規化された状態を保存します。
  • schemaVersion を含めます。
  • デフォルト値を一元管理します。
  • 読み込んだデータを使用前に検証します。
  • 古いデータ、欠落したデータ、部分的なデータを処理できるマイグレーションを作成します。
  • 一時的なマッチ/セッションの状態と、永続的なプロフィールの状態を分けます。

保存戦略

  • プレイヤーが参加したときに一度だけ読み込みます。
  • サーバー上で、メモリ内の権威あるプロフィールを保持します。
  • 適切な間隔で保存し、プレイヤーが退出したときにも保存します。
  • タイムアウトに上限を設けて、サーバーのシャットダウン時に保存します。
  • 短時間に発生する保存リクエストをデバウンスします。
  • 一時的な失敗に対して、バックオフを使って再試行します。
  • 変更されたプロフィールに印を付け、不要な書き込みを避けます。

重要な状態

次の状態は慎重に扱ってください。

  • 通貨とプレミアム通貨。
  • インベントリ、ペット、コスメティック、ブースト、クエストの進行状況、実績。
  • 購入したアイテムや、レシートによって付与されたアイテム。
  • 取引やギフトの結果。
  • デイリーストリークや時間制限付き報酬。

MCP によるレビューのワークフロー

  1. script_grep を使用して、DataStore、UpdateAsync、SetAsync、GetAsync、profile、save、load を検索します。
  2. script_read ですべての永続化スクリプトを読み込みます。
  3. 読み込み、変更、保存、シャットダウンのフローを整理します。
  4. multi_edit で修正します。
  5. 可能であれば、プレイヤーの参加/変更/退出に相当する経路をプレイテストし、get_console_output を確認します。

出力

次の内容を返してください。

  • プロフィールのスキーマ。
  • 保存/読み込みのフロー。
  • マイグレーション計画。
  • 対処する障害モード。
  • 公開環境または複数サーバー環境で引き続き必要な手動テスト。

次の手順

roblox-security-economy を使って保存処理をエクスプロイトから保護し、その後 roblox-playtest-qa を使って、再参加後やシャットダウン時にも保存データが維持されることを確認します。

コメント