NAV
GS2-Deploy

GS2-Ranking

GS2-Deploy のテンプレートで使用できるリソース定義のリファレンス

エンティティ

Namespace

Namespace

Type: GS2::Ranking::Namespace
Properties:
  Name: namespace1
  Description: null
  LogSetting: 
    LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

必須 デフォルト 値の制限 説明
name string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
logSetting LogSetting ログの出力設定

CategoryModelMaster

CategoryModelMaster

Type: GS2::Ranking::CategoryModelMaster
Properties:
  NamespaceName: namespace1
  Name: category-0001
  Description: null
  Metadata: null
  MinimumValue: null
  MaximumValue: null
  OrderDirection: asc
  Scope: global
  UniqueByUserId: false
  CalculateFixedTimingHour: null
  CalculateFixedTimingMinute: null
  CalculateIntervalMinutes: 15
  EntryPeriodEventId: null
  AccessPeriodEventId: null
  Generation: null

カテゴリ毎に異なるランキングを作成できます。

カテゴリには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位(昇順)にするか、大きいものを上位(降順)にするかを設定できます。

ランキングの種類として グローバルスコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。

グローバルランキングはカテゴリごとにランキングの集計間隔を15分~24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。

ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
name string ~ 128文字 カテゴリモデル名
description string ~ 1024文字 説明文
metadata string ~ 1024文字 メタデータ
minimumValue long ~ 9223372036854775807 スコアの最小値
maximumValue long ~ 9223372036854775807 スコアの最大値
orderDirection string ~ 128文字 スコアのソート方向
scope string ~ 128文字 ランキングの種類
uniqueByUserId bool {scope} == "global" ユーザID毎にスコアを1つしか登録されないようにする
calculateFixedTimingHour int {scope} == "global" -1 ~ 23 スコアの固定集計開始時刻(時)
calculateFixedTimingMinute int {scope} == "global" 0 ~ 59 スコアの固定集計開始時刻(分)
calculateIntervalMinutes int {scope} == "global" 15 ~ 1440 スコアの集計間隔(分)
entryPeriodEventId string ~ 1024文字 スコアの登録を受け付ける期間を設定した GS2-Schedule のイベント
accessPeriodEventId string ~ 1024文字 ランキングを参照できる期間を設定した GS2-Schedule のイベント
generation string {scope} == "global" ~ 256文字 ランキングの世代

CurrentRankingMaster

CurrentRankingMaster

Type: GS2::Ranking::CurrentRankingMaster
Properties:
  NamespaceName: namespace1
  Settings: {\n  "version": "2019-09-17",\n  "categories": [\n    {\n      "name": "category-0001",\n      "orderDirection": "asc",\n      "scope": "global",\n      "calculateIntervalMinutes": 15,\n      "uniqueByUserId": true\n    },\n    {\n      "name": "category-0002",\n      "orderDirection": "desc",\n      "scope": "global",\n      "calculateIntervalMinutes": 15,\n      "uniqueByUserId": false\n    },\n    {\n      "name": "category-0003",\n      "orderDirection": "asc",\n      "scope": "scoped",\n      "minimumValue": 100,\n      "maximumValue": 10000,\n      "uniqueByUserId": true\n    },\n    {\n      "name": "category-0004",\n      "orderDirection": "desc",\n      "scope": "scoped",\n      "minimumValue": 100,\n      "maximumValue": 10000,\n      "uniqueByUserId": false\n    },\n    {\n      "name": "category-0005",\n      "orderDirection": "asc",\n      "scope": "global",\n      "calculateIntervalMinutes": 15,\n      "uniqueByUserId": true\n    }\n  ]\n}

GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

JSONファイルの形式についてはドキュメントを参照ください。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
settings string ~ 5242880文字 マスターデータ