API : Modèle Bac à sable

L'API Roll20 fonctionne en exécutant une machine virtuelle côté serveur spécifique pour chaque campagne. Cela fournit unbac à sable où vos scripts personnalisés peuvent être exécutés sans risque d'affecter les campagnes des autres utilisateurs. De plus, cela offre une couche de sécurité qui empêche un MJ malveillant d'écrire des scripts susceptibles de causer des dommages, tels qu'accéder à l'ordinateur d'un joueur ou le bloquer avec une boucle infinie.


Fonctionnement

Si vous souhaitez en savoir plus sur les détails techniques du fonctionnement de l'API, voici un schéma succinct :

Scripts rédigés par les utilisateurs ===> Serveur API ===> Bac à sable de campagne <===> Serveur de synchronisation en temps réel

Le serveur API Roll20 surveille l'activité de votre campagne. Lorsqu'il détecte que des personnes utilisent votre campagne, il crée un bac à sable pour votre campagne et charge tous les scripts Mod (API) que vous avez écrits dans le bac à sable. Le bac à sable 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 d'apporter des modifications au jeu.


Restrictions par rapport au JavaScript standard

Bien que les scripts Roll20 soient en Javascript, il existe certaines restrictions dont vous devez être conscient si vous avez l'habitude de programmer en Javascript pour des sites web. Les scripts Roll20 sont exécutés dans un bac à sable distinct du site Roll20. Cela offre un calque supplémentaire de séparation et de sécurité pour notre système et vos joueurs. Ce bac à sable signifie que :

  • Il n'est pas possible d'effectuer des requêtes HTTP (AJAX).
  • Il n'est pas possible de charger des scripts ou des bibliothèques externes (par exemple jQuery).
  • L'environnement est Javascript, mais il ne s'agit pas d'un environnement dans un navigateur, il n'y a donc pas de DOM, d'éléments de page, de CSS,de document,de fenêtre, etc.
 
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 37 sur 52