以前のバージョンからのアップグレード

あるバージョンから別のバージョンの Genvid MILE SDK にアップグレードする際には、いくつかの手順があります。このページでは、最後のバージョンからバージョン 1.42.0 にアップデートするために必要な手順を説明します。SDK の以前のバージョンをアップグレードする場合は、 こちら で、ご使用のバージョンのための特別なアップグレード手順から始めてください。

一般的な更新方法

Genvid MILE SDK のアップブレード

重要

バージョン1.33以降、Genvid Toolboxパッケージは、Azure CLI に依存しなくなりました。代わりに、スタンドアロンの Azure CLI Installer を使用し、いくつかの依存関係の競合を回避します。アップグレードの際、競合エラーが発生する場合があります。しかし、インストールは最後のパッケージが優先されるため、これらのメッセージにもかかわらず、Toolboxのインストールは成功します。注意事項として、Azure CLI パッケージとその依存関係を削除し、代わりにスタンドアロンの Azure CLI インストーラーを使用することをお勧めします。

新規 SDK をローカルにセットアップする方法

  1. 新規 SDK をインストールする。

  2. Python スクリプトを実行して、Genvid Toolbox をインストールする。

    py install-toolbox.py
    
  3. Genvid Bastion スクリプトを実行して、bastion をアップデートする。

    genvid-bastion reinstall --reconfigure --resetconfig -b {mybastion} -uml
    
  4. ローカルクラスタが動作している場合は、local クラスタの設定を更新する必要があります。

    genvid-sdk setup
    genvid-sdk load-config-sdk
    

配信 Web サイトのアップデート

プロジェクトで弊社提供のサンプルのコードを使用する際に、サンプルで 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 もアップグレードしてください。

クラスタのアップグレード

以前のクラスタはそのまま残し、アップデート用に新たに作成することを推奨します。

新しいクラウドベースのクラスタを作成するには、一般的な指示に従ってください。

  1. 新しいバージョンにマッチする 新規 wingame AMI の設定

  2. 新規クラスタの作成

新しいローカルクラスタを作成するには、ローカルクラスタの初期化 セクションに記載されている一般的な指示に従ってください。

すべてのクラスタの差し替えが完了したら、Bastion モジュール設定 ページから古い SDK レポジトリを削除して構いません。

既存クラスタのアップデート

警告

クラスタをアップデートすることで、全てのインスタンスを置き換えたり、現在の設定を削除することができます。ライブクラスタのアップデートは行わないことをお勧めします。ライブクラスタのアップデートを行う場合、プランを適用する前に、変更内容をよく確認してください。

クラスタの構築に使用するモジュールの更新には、クラスタのインフラストラクチャにあるモジュールセクションの Reimport Module をクリックし、新しいバージョンのモジュールを選択してインポートします。最後に、Terraform セクションの適用をクリックします。

注釈

変更の中には、AWS の適用に時間がかかるものが存在します。特に、IAM の役割やポリシーなどがそれにあたり、作成しなおす際に、競合が発生する場合があります。Terraform プランを適用しなおすことで、問題は解決されます。

Genvid SDK サンプルのアップデート

プロジェクトと一緒に、それまでにインストールした Genvid SDK サンプルのアップデート を行ってください。

1.41.0 から 1.42.0 へのアップグレード

genvid.toolbox.sdk_folder モジュールの非推奨。

Python モジュール genvid.toolbox.sdk_folder は非推奨となり、 genvid.toolbox.SDKInstallationFolder に置き換わりました。

サブスクリプションの再入力検出機能を追加しました。

いくつかの競合状態を回避するために、 Genvid_CheckForEvents(), Genvid_Subscribe(), Genvid_Unsubscribe(), Genvid_SubscribeCommand() または Genvid_UnsubscribeCommand() を各コールバックからコールできなくなりました。これらを呼び出すと、 GenvidStatus_InvalidState が返されるようになります。

Unreal Engine Pluginを調整しました。

私たちは GenvidPlugin プラグインを Genvid プラグインにマージし、エディタモジュールの名前を GenvidSDKSelector に改名しました。どちらも、モジュールの依存関数を適切に使用し、 .Build.cs ファイルでパスを手動で管理する必要をなくすことができるようになりました。それに応じて、Unreal Tournament との統合も更新しました。

アップグレードするには

  1. 古い GenvidGenvidPlugin プラグインを削除。

  2. samp:{GENVID_SDK_FOLDER}/engine-integration/ue4/copy-ue4-plugin.py checkout コマンドを実行するか、 GENVID_SDK_FOLDER/engine-integration/ue4/GenvidPlugins フォルダへコピーしてください。

Unreal Tournamentをアップグレードするには、 UnrealTournament/Source/UnrealTournament/UnrealTournament.Build.cs の Genvid の追加セクションを以下のように修正します。from:

PrivateIncludePaths.Add("Genvid/Private");
PublicIncludePaths.Add("Genvid/Public");
PublicDependencyModuleNames.Add("Genvid");

to:

PrivateDependencyModuleNames.Add("Genvid");
if (Target.Type == TargetRules.TargetType.Editor)
{
    PrivateDependencyModuleNames.Add("GenvidSDKSelector");
}

Unreal Game Server モードで初期化されるように SDK を更新しました。

Genvid MILE SDK 用のUnreal Plugin の大きな変更で、サーバモードでもSDKが適切に初期化されるようになりました。ヘッドレスサーバーが壊れないようにストリームは非アクティブのままですが、 通知 を送信し、 コマンドチャンネルスケーラビリティの高いイベントチャンネル を受信することができるようになりました。

これは、サーバーをクライアントと同じクラスタで実行している場合、予期しない結果につながる可能性があります (Unreal Tournament のサンプルで実証済み)。

UGenvidStreamerUGenvidWorldSettings を削除しました。

バージョン 1.12.0 で UGenvidStreamerUGenvidWorldSettings クラスを非推奨とし、新しいクラスで置き換えることにしました。このリリースで、アンリアル・プラグインから両者を削除しました。

必要であれば、以前のリリースでそれらのコードを見つけることができます。

以前のバージョンからのアップグレード

注釈

バージョンについて具体的な指示が記載がない場合、そのバージョンをアップグレードするための特別な手順はありません。