API: Modèle Boîte à Sable

Les fonctions de l'API Roll20 sont exécutées en exécutant une machine virtuelle spéciale côté serveur pour chaque campagne. Cela fournit unsandboxoù vos scripts personnalisés peuvent s'exécuter sans aucun danger pour les campagnes des autres utilisateurs. De plus, cela offre une couche de sécurité qui empêche un MJ malveillant d'écrire des scripts qui pourraient faire des choses nuisibles comme accéder à l'ordinateur d'un joueur ou bloquer son ordinateur avec une boucle infinie.


Comment ça fonctionne

Si vous êtes curieux des détails techniques sur le fonctionnement de l'API, voici un diagramme succinct :

Scripts écrits par l'utilisateur ===> Serveur de l'API ===> Sandbox de la campagne <===> Serveur de synchronisation en temps réel

Le serveur de l'API Roll20 écoute l'activité de votre campagne. Lorsqu'il détecte que des personnes utilisent votre campagne, il crée un environnement isolé pour votre campagne et charge tous les scripts Mod (API) que vous avez écrits dans l'environnement isolé. La sandbox peut recevoir et envoyer des données directement au serveur de synchronisation en temps réel, ce qui lui permet de répondre aux événements et de modifier le jeu.


Restrictions du Javascript normal

Tandis que les scripts Roll20 sont en Javascript, il y a certaines restrictions dont vous devez être conscient si vous êtes habitué à programmer en Javascript pour les sites web. Les scripts Roll20 sont exécutés dans un environnement séparé du site Roll20. Cela offre une couche supplémentaire de séparation et de sécurité pour notre système et vos joueurs. Cet environnement signifie que :

  • Vous ne pouvez pas effectuer de requêtes HTTP (AJAX).
  • Vous ne pouvez pas charger de scripts ou de bibliothèques externes (par exemple, jQuery).
  • L'environnement est Javascript, mais ce n'est pas un environnement de navigateur, il n'y a donc pas de DOM, d'éléments de page, de CSS, documentwindow, etc.
 
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 36 sur 50