API: Modelo de Sandbox

A API do Roll20 funciona executando uma máquina virtual especial do lado do servidor para cada campanha. Isso fornece umsandboxonde seus scripts personalizados podem ser executados sem perigo de afetar as campanhas de outros usuários. Além disso, isso oferece uma camada de segurança que impede um Mestre malicioso de escrever scripts que possam fazer coisas ruins, como acessar o computador de um jogador ou travar seu computador com um loop infinito.


Como funciona

Se você está curioso sobre os detalhes técnicos de como a API funciona, aqui está um diagrama breve:

Scripts escritos pelo usuário ===> Servidor da API ===> Sandbox da Campanha <===> Servidor de Sincronização em Tempo Real

O Servidor da API do Roll20 ouve a atividade em sua campanha. Quando ele detecta que as pessoas estão usando sua campanha, ele cria uma sandbox para sua campanha e carrega quaisquer scripts da API que você tenha escrito na sandbox. A sandbox pode receber e enviar dados diretamente para o servidor de sincronização em tempo real, o que permite responder a eventos e fazer alterações no jogo.


Restrições do Javascript Normal

Enquanto scripts Roll20 são Javascript, há algumas restrições que você deve estar ciente se você está acostumado a programar Javascript para sites. Scripts Roll20 são executados em um sandbox separado do site Roll20. Isso fornece uma camada adicional de separação e segurança para nosso sistema e seus jogadores. Este sandbox significa que:

  • Você não pode fazer solicitações HTTP (AJAX).
  • Você não pode carregar scripts ou bibliotecas externas (por exemplo, jQuery).
  • O ambiente é Javascript, mas não é um ambiente em um navegador, então não há DOM, elementos de página, CSS,documento,janela, etc.
 
Este artigo foi útil?
Utilizadores que acharam útil: 32 de 42