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

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

Last updated on February 4, 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を使用してlocalhostをインターネットに公開し、そのアドレスをチャットフィルターgRPCurl設定に使用して、アプリをローカルでテストします。その後、アプリ内のdemo.shスクリプトを使用して実際の環境に対してテストします。

gRPCプラグインの登録

ngrokから転送アドレスをコピーします。以下のような形式になります:

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

AGS管理ポータルにログインし、gRPCプラグインを作成したいnamespaceに移動します。サイドバーで、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管理ポータルに移動し、gRPCプラグインを作成したいnamespaceを使用します。左側のペインで、Extendにカーソルを合わせてOverridable Featuresをクリックします。次に、Create Newをクリックして新しいExtendアプリを作成します。

navigate to create an extend app

App NameDescription(オプション)を入力します。次に、Createをクリックします。

click to create new extend app

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

new extend app listed pending

ステータスがUNDEPLOYEDと表示されるまで待ち、リスト内のアプリ名をクリックして詳細ページを表示します。

extend app details page

注記

次のセクションで使用するため、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管理ポータルに戻り、Extend App Detailsページ内で、Deploy Latest Imageをクリックし、デプロイが成功するまで待ちます。

Extendアプリのテスト

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

管理ポータルに戻り、Chat Configurationsを更新します。AccelByte hostedオプションを選択し、Extendアプリの1つを選択します。Saveをクリックして完了します。

デモシェルスクリプトを使用したテストの手順を再度繰り返します。

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

important

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