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

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


仕組み

APIがどのように機能するのか、技術的な詳細に興味があるなら、ここに簡単な図がある:

ユーザーが書いたスクリプト ===> APIサーバー ===> キャンペーン・サンドボックス <===> リアルタイム・シンク・サーバー

Roll20 API サーバーは、キャンペーンのアクティビティをリッスンします。 人々があなたのキャンペーンを利用していることを検知すると、キャンペーン用のサンドボックスを立ち上げ、あなたが書いたMOD(API)スクリプトをサンドボックスにロードします。 サンドボックスはリアルタイム同期サーバーに直接データを送受信できるため、イベントに反応してゲームに変更を加えることができる。


通常のJavascriptからの制限

Roll20のスクリプトはJavascriptですが、ウェブサイト用のJavascriptのプログラミングに慣れている方は、いくつかの制限にご注意ください。 Roll20 スクリプトは、Roll20 サイトとは別のサンドボックスで実行されます。 これは、私たちのシステムとプレーヤーのために、さらなる分離と安全性を提供するものです。 このサンドボックスが意味するのは

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