データを保存するには、データストア を使用して、DataStoreService または メモリストア を使用して、MemoryStoreService で。
代わりに、データまたはメモリストアサービスを使用せずに Luau タイプと変数を使用して、Luau でメモリ内にデータを保存する こともできます。
データストアを使用する場合
The DataStoreService は、ユーザーの進捗状況や在庫アイテムなど、セッション間に続く長期データを保存します。データストアは、エクスペリエンスごとに一貫しているので、エクスペリエンス内のすべての場所のすべてのサーバーが同じデータにアクセスして変更できます。データストアには、標準と注文の 2種類があります: 標準データストア は、ランク付けや並べ替えが必要ない数字、文字列、テーブルなどのデータを保存できますこのデータは、それぞれのエントリがデータストア内で唯一のキーで保存され、回アップデート、更新、または削除できるキーの下に保存されます。This data is stored as key-value pairs, where each entry is stored under a key that is unique within its data store and that you can retrieve, update, or delete. 順序付けられたデータストア は数字のみを保存できます。それぞれのエントリは、データストア内で唯一のキーに保存され、回収、更アップデート、または削除できます。このデータを数値でランク付けしてソートし、保存された数値ベースで上か下かの順序で回収できます。詳しくは、オーダードデータストア を参照してください。
標準データストア | 順序付けられたデータストア | |
---|---|---|
データタイ入力 | 数、文字列、ブール、テーブル。 | 数字のみ。 |
一般的な使用ケース | ユーザーの進捗状況、インベントリアイテム、および経験設定。 | すべての時代、永続的なランキングシステムとリーダーボード。メモリストアのリーダーボードとは異なり、このリーダーボードデータは永久です。 |
過去バージョンのバックアップ | データの以前のバージョンを 30 日間自動管理します。 | データの以前のバージョンを管理しません。 |
メモリストアを使用する場合
The MemoryStoreService は、グローバルリーダーボードやマッチメイキングキューなど、頻繁に更新またはアクセスする必要がある一時データを保存する高速かつ低遅延のサービスです。メモリストアを使用すると、エクスペリエンス内のすべての場所の各サーバーが、同じデータに迅速かつ頻繁にアクセスして変更できます。メモリストアのデータは、期間が過ぎると期限切れになり、最長 45 日続きます。
メモリストアは一時的なデータを保存しますが、グローバルマーケットプレイスのような永続機能もサポートします。市場は永久ですが、その内で販売されているアイテムには期限があります。
メモリストア | |
---|---|
データタイ入力 | 45日以上継続する必要がない数、文字列、ブール、およびテーブル。 |
一般的な使用ケース | スキルベースのマッチメイキング、マルチプレイヤーゲームの状態、毎日と毎月のリーダーボード。 |
Luau でメモリストレージを使用するとき
Luau でメモリ内ストレージを使用して、最小限の遅延でアクセスする必要があり、外部のデータストアまたはメモリストアに外部サービス呼び出しのコストがかからない一時データを保存できます。メモリ内ストレージを設定するためには、既にデフォルトでビルドされている Lua で追加の手順は必要ありません。
Luau のメモリ内ストレージ | ||
---|---|---|
データタイプ | 数値、文字列、ブール、テーブル。 | |
一般的な使用ケース | 単一のサーバーセッションに関連するデータで、持続性について心配することなく、すぐに更新できます。 | 例: アクティブなバフ、一時的なポイント、およびユーザーがエクスペリエンスを終了するとリセットされる進行中のクエスト進行状況。 |
カウンター、タイマー、または状態フラグのように、頻繁に変更される値。 | 例: 各ヒットで更新されるユーザーのヘルスバー。 | |
大規模アクティブエクスペリエンスで高周波操作のレート制限を回避する。: | 例: 同じオブジェクトと数十のユーザーが相互作用する経験。 | |
ゲームロジックを駆動するデータ、例えば一時変数や遅延なしでアクセスする必要があるパワーアップ状態のように、遅延なしでアクセスする必要があるデータ。: | 例: ユーザーの現在の攻撃状態または敵の現在の体力、外部のデータストアやメモリストアのような外部サービスに即座にアクセスする必要があり、外部サービスの呼び出しに関連する遅延が必要ない。 | |
単一のサーバー内でしか重要でないマルチプレイヤーの相互作用。 | 例: 共同作戦体験での共有目標。 |