仕組み
APIの機能に関する技術的な詳細が気になる方は、以下の簡単な図をご参照ください:
ユーザー作成スクリプト ===> APIサーバー ===> キャンペーンサンドボックス <===> リアルタイム同期サーバー
Roll20 APIサーバーは、キャンペーン上のアクティビティを監視します。 キャンペーンが利用されていることを検知すると、そのキャンペーン用のサンドボックスを起動し、作成したMod(API)スクリプトをすべてそのサンドボックスに読み込みます。 サンドボックスはリアルタイム同期サーバーと直接データを送受信できるため、イベントに応答しゲームに変更を加えることが可能である。
通常のJavaScriptからの制限
Roll20スクリプトはJavaScriptですが、ウェブサイト向けのJavaScriptプログラミングに慣れている場合、いくつかの制限事項に注意する必要があります。 Roll20スクリプトは、Roll20サイトとは別のサンドボックス環境で実行されます。 これにより、当社のシステムとプレイヤーの皆様に対して、追加の分離レイヤーとセキュリティが提供されます。 このサンドボックスは次のことを意味します:
- HTTPリクエスト(AJAX)を送信することはできません。
- 外部スクリプトやライブラリ(例:jQuery)を読み込むことはできません。
- 環境はJavaScriptですが、ブラウザ内の環境ではないため、DOM、ページ要素、CSS、
ドキュメント、ウィンドウなどは存在しません。