API: Modello sandbox

La funzionalità API di Roll20 funziona eseguendo una macchina virtuale speciale lato server per ogni campagna. Ciò fornisce un sandboxin cui i tuoi script personalizzati possono essere eseguiti senza il pericolo che possano influenzare altre campagne degli utenti. Inoltre, questo fornisce uno strato di sicurezza che impedisce a un malintenzionato GM di scrivere script che potrebbero fare cose cattive come accedere al computer di un giocatore o bloccare il loro computer con un ciclo infinito.


Come funziona

Se sei curioso dei dettagli tecnici di come funziona l'API, ecco un breve diagramma:

Script scritti dall'utente ===> API Server ===> Campagna Sandbox <===> Real-Time Sync Server

Il server Roll20 API ascolta l'attività sulla tua campagna. Quando rileva che le persone stanno usando la tua campagna, avvia un sandbox per la tua campagna e carica in esso eventuali script API che hai scritto. Il sandbox può ricevere e inviare dati direttamente al server di sincronizzazione in tempo reale, consentendogli di rispondere agli eventi e apportare modifiche al gioco.


Vincoli da Javascript normale

Mentre gli script Roll20 sono in Javascript, ci sono alcune restrizioni di cui dovresti essere consapevole se sei abituato a programmare Javascript per siti web. Gli script Roll20 vengono eseguiti in un sandbox separato dal sito Roll20. Ciò fornisce un ulteriore livello di separazione e sicurezza per il nostro sistema e i tuoi giocatori. Questo sandbox significa che:

  • Non puoi fare richieste HTTP (AJAX).
  • Non puoi caricare script o librerie esterne (ad esempio, jQuery).
  • L'ambiente è Javascript, ma non è un ambiente di un browser, quindi non ci sono DOM, elementi di pagina, CSS,documento,finestra, ecc.
 
Questo articolo ti è stato utile?
Utenti che ritengono sia utile: 32 su 42