API: サンドボックスモデル

Roll20 APIは、各キャンペーンごとに専用のサーバーサイド仮想マシンを実行することで機能します。 これにより、のサンドボックス環境が提供され、カスタムスクリプトを他のユーザーのキャンペーンに影響を与える危険性なく実行できます。 さらに、これによりセキュリティレイヤーが提供され、悪意のあるGMがプレイヤーのコンピューターにアクセスしたり、無限ループで動作を停止させたりするといった悪質な行為を行う可能性のあるスクリプトを記述するのを防ぎます。


仕組み

APIの機能に関する技術的な詳細が気になる方は、以下の簡単な図をご参照ください:

ユーザー作成スクリプト ===> APIサーバー ===> キャンペーンサンドボックス <===> リアルタイム同期サーバー

Roll20 APIサーバーは、キャンペーン上のアクティビティを監視します。 キャンペーンが利用されていることを検知すると、そのキャンペーン用のサンドボックスを起動し、作成したMod(API)スクリプトをすべてそのサンドボックスに読み込みます。 サンドボックスはリアルタイム同期サーバーと直接データを送受信できるため、イベントに応答しゲームに変更を加えることが可能である。


通常のJavaScriptからの制限

Roll20スクリプトはJavaScriptですが、ウェブサイト向けのJavaScriptプログラミングに慣れている場合、いくつかの制限事項に注意する必要があります。 Roll20スクリプトは、Roll20サイトとは別のサンドボックス環境で実行されます。 これにより、当社のシステムとプレイヤーの皆様に対して、追加の分離レイヤーとセキュリティが提供されます。 このサンドボックスは次のことを意味します:

  • HTTPリクエスト(AJAX)を送信することはできません。
  • 外部スクリプトやライブラリ(例:jQuery)を読み込むことはできません。
  • 環境はJavaScriptですが、ブラウザ内の環境ではないため、DOM、ページ要素、CSS、ドキュメントウィンドウなどは存在しません。
 
この記事は役に立ちましたか?
53人中38人がこの記事が役に立ったと言っています