以前のバージョンからのアップグレード¶
あるバージョンから別のバージョンの Genvid SDK にアップグレードする際には、いくつかの手順があります。このページでは、最後のバージョンからバージョン 1.23.0 にアップデートするために必要な手順を説明します。SDK の以前のバージョンをアップグレードする場合は、 こちら で、ご使用のバージョンのための特別なアップグレード手順から始めてください。
In This Section
一般的な更新方法¶
Genvid SDK のアップグレード¶
複数の依存関係により Python 環境が複雑化しているため、あるパッケージが他のパッケージと競合するケースに遭遇するかもしれません。解決策としては、異なるプロジェクト用の仮想環境を作成し、他のプロジェクトに影響を与えることなく依存関係をインストールできるようにすることです。ツールボックスのインストール時に競合が発生した場合や、より制限された環境で作業したい場合は、仮想環境を作成することをお勧めします。
新規 SDK をローカルにセットアップする方法
- 新規 SDK をインストールする。
- 新しい SDK から
install-toolbox.py
スクリプトを実行する。 genvid-bastion reinstall --reconfigure -b mybastion -uml
を実行してお使いの bastion をアップグレード。
配信ウェブサイトのアップデート¶
プロジェクトで弊社提供のサンプルのコードを使用する際に、サンプルで consul を使用してサービスを発見しやすくなりました。サンプルを再度ご確認いただき、必要に応じてプロジェクトを更新してください。URL が健全なサービスを指す可能性が高いため、サービスの URL を取得するには、catalog api ではなく consul health api を使用されることをおすすめします。
ゲームのアップデート¶
新機能を適用せずにゲームをアップデートするには、以前の SDK の古い genvid.dll
を新しい SDK のものに差し替えます。古いプラグインと統合は、そのままで動作しますが、以下の例外があります。
注意
ご使用の Genvid SDK のバージョンのアップグレードの順序に常に省略することなく従ってください。例えば、バージョン 1.6.0 から 1.10.0 にアップグレードする場合、 まず、1.6.0 から 1.7.0 へのアップグレードから始めて各バージョンを進めていってください。
ご使用の特定バージョンに関しては、 アップグレード手順一覧 を参照してください。
Javascript API のアップグレード¶
Web サイトの Genvid JavaScript API もアップグレードしてください。
クラスタのアップグレード¶
以前のクラスタはそのまま残し、アップデート用に新たに作成することを推奨します。
新しいクラウドベースのクラスタを作成するには、一般的な指示に従ってください。
- 新しいバージョンにマッチする 新規 wingame AMI の設定 。
- 新規クラスタの作成。
新しいローカルクラスタを作成するには、ローカルクラスタの初期化 セクションに記載されている一般的な指示に従ってください。
すべてのクラスタの差し替えが完了したら、モジュールセクション ページから古い SDK レポジトリを削除して構いません。
既存クラスタのアップデート¶
警告
クラスタをアップデートすることで、全てのインスタンスを置き換えたり、現在の設定を削除することができます。ライブクラスタのアップデートは行わないことをお勧めします。ライブクラスタのアップデートを行う場合、プランを適用する前に、変更内容をよく確認してください。
クラスタの構築に使用するモジュールの更新には、クラスタのインフラストラクチャにあるモジュールセクションの Reimport Module をクリックし、新しいバージョンのモジュールを選択してインポートします。最後に、Terraform セクションの適用をクリックします。
注釈
変更の中には、AWS の適用に時間がかかるものが存在します。特に、IAM の役割やポリシーなどがそれにあたり、作成しなおす際に、競合が発生する場合があります。Terraform プランを適用しなおすことで、問題は解決されます。
Genvid SDK サンプルのアップデート¶
プロジェクトと一緒に、それまでにインストールした Genvid SDK サンプルのアップデート を行ってください。
1.22.0 から 1.23.0 へのアップグレード¶
キューブサンプルの変更¶
チュートリアルサンプルは、 DirectX キューブサンプル に名前が変わりました。
DirectX サンプル、 Unity キューブサンプル、および Unreal Engine 4 キューブサンプル には、Web パーツが組み込まれていません。この関数は、新しい Web サンプル を想定しています。これまでは、それぞれのエンジンが同じフォルダに Web サイトが含まれていました。たとえば、チュートリアルでは、 /samples/tutorial/web
でした。新しい Web サンプル はエンジンの Web サイトで、 /samples/cube/web
になります。
新しいサンプルの DirectX キューブ、UE4 キューブ、Unity キューブ、Web サンプル、Twitch エクステンションは /samples/cube/
になります。Web サイトを稼働させるには、新しい Web サンプルを独立したサンプルとしてクラスタ上に構築してロードする必要があります。ここではその方法を説明します。
/samples/cube/web
ディレクトリに移動します。Web サイトを構築します。
py web.py build
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_command
を true に設定することもできます。
Tick と Studio sample の変更¶
rootd
プロセスに必要なメモリを増やし、デフォルトの internal_worker
インスタンスタイプで利用可能なメモリの大部分を使用できるようになりました。Studio サンプルや Tick サンプルを使用している場合、単一のインスタンスを実行していると、タスクの一部が割り当てられない可能性があります。
一部のサービスが起動しない状況を避けるために、Tick サンプルを実行する際にクラスタに追加のインスタンスを追加することをお勧めします。方法については TICK Stack メトリクス および Genvid Studio サンプル の解説書を参照してください。
Terraform モジュールの変更内容¶
alb_ssl_cluster
と alb_ssl_cluster_vpc
の名前を変更して、 basic_cluster
の規定との整合性を高めました。
以前の名前 | 新しい名前 |
---|---|
alb_ssl_cluster_vpc | basic_cluster_alb_ssl |
alb_ssl_cluster | minimal_cluster_alb_ssl |
Twitch 埋め込みプレイヤーと SSL サポート¶
Twitch 埋め込みプレイヤーを使用するには、SSL で保護されたウェブサイトが必要になりました。つまり、SSL が使用されていることが末尾で分かる名前 (_alb_ssl
など) の SSL クラスタを使用する必要があります。
SSLモジュールを使用する場合は、 /samples/cube/web/web.py
の loadEndpoint()
メソッドを使用して、クラスタ構成で leaf エンドポイントとWeb エンドポイントをロードする必要があります。
def loadEndpoint(self): leaf_endpoint = self.get_leaf_endpoint() web_endpoint = self.get_web_endpoint() config = { 'version': '1.7.0', 'config': { 'twitch': { 'cloud': { 'endpoint': { 'leaf' : '', 'web' : '' } } } } } config['config']['twitch']['cloud']['endpoint']['leaf'] = leaf_endpoint config['config']['twitch']['cloud']['endpoint']['web'] = web_endpoint return config
Web サイトに埋め込まれた Twitch をストリーミングしたい場合は、 samples/streaming_services
にある twitch.sample.hcl
を読み込む必要があります。埋め込みができるように設定を変更しました。
config { twitch_embed { enabled = true } } // end of config
旧バージョンからのアップグレード¶
注釈
バージョンについて具体的な指示が記載がない場合、そのバージョンをアップグレードするための特別な手順はありません。
- 1.0.0 から 1.1.0 へのアップグレード
- 1.2.0 から 1.3.0 へのアップグレード
- 1.3.0 から 1.4.0 へのアップグレード
- 1.6.0 から 1.7.0 へのアップグレード
- 1.7.0 から 1.8.0 へのアップグレード
- 1.8.0 から 1.9.0 へのアップグレード
- 1.9.0 から 1.10.0 へのアップグレード
- 1.11.0 から 1.12.0 への更新。
- 1.12.0 から 1.13.0 へのアップグレード
- 1.13.0 から 1.14.0 へのアップグレード
- 1.15.0 から 1.15.1 へのアップグレード
- 1.16.0 から 1.17.0 へのアップグレード
- 1.17.0 から 1.18.0 へのアップグレード
- 1.18.0 から 1.19.0 へのアップグレード
- 1.19.0 から 1.20.0 へのアップグレード
- 1.20.1 から 1.21.0 への更新
- 1.21.2 から 1.22.0 への更新。