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.