API: Modelo Sandbox

A API Roll20 funciona executando uma máquina virtual especial no lado do servidor para cada campanha. Isso fornece umaárea restrita onde os seus scripts personalizados podem ser executados sem qualquer risco de afetar as campanhas de outros utilizadores. Além disso, isso fornece uma camada de segurança que impede que um GM mal-intencionado escreva scripts que possam causar danos, como aceder ao computador de um jogador ou travá-lo com um loop infinito.


Como funciona

Caso tenha interesse nos detalhes técnicos de como a API funciona, segue um breve diagrama:

Scripts escritos pelo utilizador ===> Servidor API ===> Sandbox da campanha <===> Servidor de sincronização em tempo real

O servidor API Roll20 monitoriza a atividade na sua campanha. Quando detecta que as pessoas estão a utilizar a sua campanha, ele cria uma área restrita para a sua campanha e carrega quaisquer scripts Mod (API) que tenha escrito nessa área restrita. A área restrita pode receber e enviar dados diretamente para o servidor de sincronização em tempo real, o que permite que ela responda a eventos e faça alterações no jogo.


Restrições do Javascript normal

Embora os scripts do Roll20 sejam em Javascript, existem algumas restrições que deve ter em consideração se estiver habituado a programar Javascript para websites. Os scripts do Roll20 são executados numa área restrita separada do site Roll20. Isso proporciona uma camada adicional de separação e segurança para o nosso sistema e para os seus jogadores. Esta área restrita significa que:

  • Não é possível realizar solicitações HTTP (AJAX).
  • Não é possível carregar scripts ou bibliotecas externos (por exemplo, jQuery).
  • O ambiente é Javascript, mas não é um ambiente num navegador, portanto, não há DOM, elementos de página, CSS,documento,janela, etc.
 
Este artigo foi útil?
37 de 52 acharam isto útil