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