1.22.0 から 1.23.0 へのアップグレード

Cube サンプルの変更

チュートリアルサンプルは、 DirectX Cube サンプル に名前が変わりました。

DirectX サンプル、 Unity Cube サンプル、および Unreal Engine 4 Cube サンプル には、Web パーツが組み込まれていません。この関数は、新しい Web サンプル を想定しています。これまでは、それぞれのエンジンが同じフォルダに Web サイトが含まれていました。たとえば、チュートリアルでは、 /samples/tutorial/web でした。新しい Web サンプル はエンジンの Web サイトで、 /samples/cube/web になります。

新しいサンプルの DirectX Cube、UE4 Cube、Unity Cube、Web サンプル、Twitch 拡張機能は /samples/cube/ になります。Web サイトを稼働させるには、新しい Web サンプルを独立したサンプルとしてクラスタ上に構築してロードする必要があります。ここではその方法を説明します。

  1. /samples/cube/web ディレクトリに移動します。

  2. Web サイトを構築します。

    py web.py build
    
  3. Web サイトを読み込みます。

    py web.py load
    

Twitch 拡張機能 は、Twitch 以外でも使用できるようになりました。DirectX、Unity、Unreal のサンプルでも使用可能です。Twitch 拡張機能のバックエンドとして機能するため、Web サンプルを同時に実行する必要があります。

UE4 と Unity 用のプラグインは /engine-integration/ というフォルダに入っています。Unity 用のファイル package.py/engine-integration/unity/ に存在するため、そこから使用しなければなりません。

UT4 サンプルの場所が /samples/ になりました。

エンジン統合

エンジン統合プラグインの場所を変更しました。 /engine-integration/ フォルダに格納されるようになりました。

/engine-integration/ue4/ フォルダには、Unreal Engine 4 プロジェクト用の他の便利なクラスやプラグインとともに、Genvid SDK のインストールに役立つスクリプトが含まれています。UE4 プロジェクトの準備、ビルド、ロードの方法は変更ありません。

/engine-integration/unity/ フォルダには、アセット パッケージとともに genvid.unitypackage アセット パッケージを生成するためのスクリプトが含まれています。プロジェクトの準備、ビルド、ロードを行う前に、プロジェクト用の Unity パッケージを作成する必要があります。

py package.py all

詳細は、エンジン統合 セクションを参照してください。

command サービスの名前を webgateway に変更

command サービスが更新され、 webgateway になりました。統合バックエンドのコードをチェックして、Consul のディスカバリクエリが command ではなく webgateway のサービスを探しにいくように変更してください。

webgateway secret が Vault の genvid/webgateway に配置されるようになりました。それに応じて HCL の設定を変更する必要があります。

Genvid サービスの Nomad テンプレートを変更した場合、シークレットを GENVID_COMMAND_SECRET ではなく GENVID_WEBGATEWAY_SECRET に渡した方が良いかもしれません。

既存のプロジェクトを変更したくない、または変更できない場合は、Consul キーの genvid/compatibility/legacy_commandtrue に設定することもできます。

Tick と Studio sample の変更

rootd プロセスに必要なメモリを増やし、デフォルトの internal_worker インスタンスタイプで利用可能なメモリの大部分を使用できるようになりました。Studio サンプルや Tick サンプルを使用している場合、単一のインスタンスを実行していると、タスクの一部が割り当てられない可能性があります。

一部のサービスが起動しない状況を避けるために、Tick サンプルを実行する際にクラスタにインスタンスを追加することをお勧めします。方法については TICK Stack メトリクス および Genvid Studio サービス の解説書を参照してください。

Terraform モジュールの変更内容

alb_ssl_clusteralb_ssl_cluster_vpc の名前を変更して、 basic_cluster の規定との整合性を高めました。

以前の名前 新しい名前
alb_ssl_cluster_vpc basic_cluster_alb_ssl
alb_ssl_cluster minimal_cluster_alb_ssl

Twitch 埋め込みプレイヤーと SSL サポート

Twitch 埋め込みプレイヤーを使用するには、SSL で保護された Web サイトが必要になりました。つまり、SSL が使用されていることが末尾で分かる名前 (_alb_ssl など) の SSL クラスタを使用する必要があります。

SSLモジュールを使用する場合は、 /samples/cube/web/web.pyloadEndpoint() メソッドを使用して、クラスタ構成で leaf エンドポイントとWeb エンドポイントをロードする必要があります。

    def loadEndpoint(self):
        leaf_endpoint = self.get_leaf_endpoint()
        web_endpoint = self.get_web_endpoint()
        config = {
            'version': '1.7.0',
            'config': {
                'cloud': {
                    'endpoint': {
                        'leaf': '',
                        'web': ''
                    }
                }
            }
        }
        config['config']['cloud']['endpoint']['leaf'] = leaf_endpoint
        config['config']['cloud']['endpoint']['web'] = web_endpoint
        return config

Web サイトに埋め込まれた Twitch をライブ配信したい場合は、 samples/streaming_services にある twitch.sample.hcl を読み込む必要があります。埋め込みができるように設定を変更しました。

config {
  embed_ssl {
    enabled = true
  }
} // end of config