작동 방식
API가 어떻게 작동하는지에 대한 기술적 세부 사항이 궁금하다면, 다음은 간단한 다이어그램입니다:
사용자 작성 스크립트 ===> API 서버 ===> 캠페인 샌드박스 <===> 실시간 동기화 서버
Roll20 API 서버는 캠페인 내 활동을 수신 대기합니다. 사용자가 캠페인을 이용 중인 것을 감지하면, 해당 캠페인용 샌드박스를 생성하고 작성한 모든 모드(API) 스크립트를 샌드박스에 로드합니다. 샌드박스는 실시간 동기화 서버와 직접 데이터를 주고받을 수 있어 이벤트에 반응하고 게임에 변경 사항을 적용할 수 있습니다.
일반 자바스크립트의 제한 사항
Roll20 스크립트는 자바스크립트이지만, 웹사이트용 자바스크립트 프로그래밍에 익숙한 경우 주의해야 할 몇 가지 제한 사항이 있습니다. Roll20 스크립트는 Roll20 사이트와 분리된 샌드박스에서 실행됩니다. 이는 당사 시스템과 귀사의 플레이어에게 추가적인 분리 및 보안 레이어를 제공합니다. 이 샌드박스는 다음을 의미합니다:
- HTTP 요청(AJAX)을 수행할 수 없습니다.
- 외부 스크립트나 라이브러리(예: jQuery)를 로드할 수 없습니다.
- 환경은 자바스크립트이지만, 브라우저 환경이 아니므로 DOM, 페이지 요소, CSS,
문서,창등이 존재하지 않습니다.