メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。

チャットフィルターのカスタマイゼーションを開始する

Last updated on July 15, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

AccelByte Gaming Services (AGS) のチャットフィルターは、必要に応じてカスタマイズできます。このガイドでは、AGS 用のシンプルなカスタムチャットフィルターを紹介します。

前提条件

  1. 以下のツールがインストールされた Windows 11 WSL2 または Linux Ubuntu 22.04:

  2. AccelByte Gaming Services デモ環境へのアクセス。

  3. extend-helper-cli をダウンロードしてセットアップ済みであること。こちらからダウンロード

    • このツールの使用方法については、GitHub のドキュメントを参照してください。

アプリテンプレートをダウンロードする

チャットフィルター gRPC プラグインアプリテンプレートをクローンします。

git clone https://github.com/AccelByte/chat-filter-grpc-plugin-server-go.git

次に、リポジトリの README.mdSetupBuildingRunning の各セクションに従ってください。または、アプリのルートディレクトリから以下の go コマンドを使用することもできます。

go run main.go
注記

次のセクションに進む前に、サーバーがローカルで実行されていることを確認してください。

ngrok を起動し、アプリ内で指定されているポートを公開します。以下のコマンドは、アプリの port を変更していないことを前提としています。

ngrok tcp localhost:6565

ローカルのチャットフィルターアプリをテストする

次に、ngrok を使用してローカルホストをインターネットに公開し、そのアドレスをチャットフィルターの gRPCurl 設定に使用することで、アプリをローカルでテストします。その後、アプリ内の demo.sh スクリプトを使用して、実際の環境に対してテストを行います。

gRPC プラグインを登録する

ngrok から転送用アドレスをコピーします。以下はその例です。

<number>.tcp.ngrok.io:<port>

AGS Admin Portal にログインし、gRPC プラグインを作成したいネームスペースに移動します。サイドバーで、Chat > Chat Configurations に移動します。Locally hosted (for testing purpose) オプションを選択し、上記の ngrok アドレスを入力します。次に、Create をクリックします。

gRPCurl を使用してテストする

gRPCurl を使用したテストは任意ですが、プロキシが正しく動作していることを確認できます。gRPCurl をダウンロードしてインストールし、以下のコマンドを実行して、転送されたローカルアプリが提供する grpc サービスの一覧を出力します。 以下では、自分の ngrok tcp 転送アドレスを使用してください。

grpcurl -plaintext <number>.tcp.ngrok.io:<port> list

出力例:

accelbyte.chat.filter.FilterService
grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection

デモシェルスクリプトを使用してテストする

デモシェルスクリプトは、gRPC サーバーの URL を AGS チャットに登録し、テストユーザーを 2 名作成し、この 2 名のユーザー間でチャットをシミュレートしてカスタムチャットフィルターの gRPC サーバーをトリガーする手順を案内します。デモシェルスクリプトの実行方法の詳細な手順はこちらをご覧ください

Extend アプリを作成する

Extend アプリを作成するには、AGS Admin Portal に移動し、gRPC プラグインを作成したいネームスペースを使用します。Extend > My Extend Apps > Overridable Features に移動し、Create New をクリックします。

extend アプリ作成画面への移動

App Name と(任意で)Description を入力します。次に、Create をクリックします。

新規 extend アプリ作成のクリック

Overridable Features のアプリ一覧ページにリダイレクトされ、新しく作成されたアプリが Provisioning in Progress ステータスで表示されます。

保留中の新規 extend アプリ一覧表示

ステータスが UNDEPLOYED になるまで待ち、一覧内のアプリ名をクリックして詳細ページを表示します。

extend アプリ詳細ページ

注記

次のセクションで使用するため、NamespaceApp NameApp Repository URI を控えておいてください。

Extend アプリイメージをビルドしてプッシュする

docker イメージをアップロードするための一時的な docker 認証情報を取得するには、extend-helper-cli が必要です。前のセクションで Extend アプリを作成した際に使用した NamespaceApp Name を、以下の extend-helper-cli コマンドで使用してください。

extend-helper-cli dockerlogin --namespace <game namespace> --app <app name> --login
important

以下の権限を持つ confidential クライアントタイプの OAuth クライアントを作成します。Client IDClient Secret を控えておいてください。

  • ADMIN:NAMESPACE:{namespace}:EXTEND:REPOCREDENTIALS [READ]

extend-helper-cli v0.0.3 以下を使用している場合、以下の権限を持つユーザーがまだなければ作成してください。ユーザー名とパスワードを控えておいてください。

  • ADMIN:NAMESPACE:{namespace}:EXTEND:REPOCREDENTIALS [READ]

詳細については、extend-helper-cli の README を参照してください。

アプリの docker イメージを直接ビルドしてプッシュするには、アプリディレクトリ内で提供されている make スクリプトを実行します。

make imagex_push IMAGE_TAG=v0.0.1 REPO_URL=<app-repository-url>
注記

REPO_URL は、アプリ詳細ページの App Repository URL からコピーできます。

Extend アプリをデプロイする

AGS Admin Portal に戻り、Extend App Details ページ内で Deploy Latest Image をクリックし、デプロイが成功するまで待ちます。

Extend アプリをテストする

Extend アプリで gRPC プラグインを登録する

Admin Portal に戻り、Chat Configurations を更新します。AccelByte hosted オプションを選択し、Extend アプリのいずれかを選択します。Save をクリックして完了します。

デモシェルスクリプトを使用してテストする手順を再度実行します。

Extend アプリの動作に関する注意事項

important

デプロイ設定では、Envoy によって管理される gRPC Extend アプリ用のタイムアウト機構があります。このタイムアウトは、データやリクエストの送受信がない場合に発生し、システムがリソースを解放できるようにします。デフォルトでは、streamIdleTimeout のタイムアウト時間は 300 秒、routeTimeout は 30 秒です。