Mantener Tu Dominio con Scripts
Puedes "limpiar" tu dominio usando un :doc:`script de asignación de cliente <../../script/assignment-client-scripts>`que realice regularmente tareas de mantenimiento en tu dominio. Por ejemplo, un script puede eliminar entidades que no forman parte de tu conjunto de contenido predeterminado, cargar herramientas para ayudarte a inspeccionar el contenido de tu dominio o identificar avatares ruidosos en tu dominio.
En Esta Página
Escribir un Script
Con los scripts, puedes usar nuestra amplia API de JavaScript para codificar cualquier tarea que tu experiencia en programación y creatividad puedan generar. Aquí, hemos escrito un script de asignación de cliente de ejemplo que devuelve el contenido de nuestro dominio a su estado predeterminado cada 1 hora. Esto significa que cualquier otra entidad invocada en nuestro dominio será eliminada dentro de una hora por el script:
var SEARCH_CENTER = {x: 0, y: 0, z: 0};
var SEARCH_AREA = 60000; // search area (sphere) in meters radius
var CLEANUP_INTERVAL_MIN = 60;
var MINUTES_TO_MILLISECONDS = 60000;
var ENTITIES_TO_KEEP = ["{ENTITY_ID1}", "{ENTITY_ID2}"]
var initialized = false;
var interval;
Agent.isAvatar = true;
Avatar.skeletonModelURL = "AVATAR_FST_URL";
Script.update.connect(initialization);
function cleanup() {
EntityViewer.queryOctree();
var foundEntities = Entities.findEntities(SEARCH_CENTER, SEARCH_AREA);
print("Found: " + foundEntities.length + " entities");
foundEntities.forEach(function(entityID){
if(ENTITIES_TO_KEEP.indexOf(entityID) === -1) {
print("Need to delete: " + entityID);
Entities.deleteEntity(entityID);
}
});
}
function initialization(deltaTime) {
if (!initialized) {
if(Entities.serversExist() && Entities.canRez()) {
Entities.setPacketsPerSecond(60000);
EntityViewer.setPosition(SEARCH_CENTER);
EntityViewer.setCenterRadius(SEARCH_AREA);
Script.setInterval(function() {
EntityViewer.queryOctree();
}, 1000);
initialized = true;
interval = Script.setInterval(cleanup, CLEANUP_INTERVAL_MIN * MINUTES_TO_MILLISECONDS);
Script.update.disconnect(initialization);
}
}
}
Script.scriptEnding.connect(function(){
Script.clearInterval(interval);
});
Añadir un Script de Asignación de Cliente al Dominio
Para ejecutar tu script en tu dominio:
Guarda y carga tu script en un sitio de alojamiento en la nube.
Abre la configuración de tu dominio.
Para dominios alojados en la nube: abre un navegador e ingresa la URL http://<inserta la dirección IP de tu servidor aquí>:40100/settings. Inicia sesión cuando se te solicite.
Para servidores locales en Windows: Haz click en el ícono de Vircadia en la bandeja del sistema, luego haz click en "Settings".
Para servidores locales en Mac: haz click derecho en el ícono de Vircadia en la barra de menú superior, luego haz click en "Settings".
Para cualquier Sistema Operativo: Abre un navegador e ingresa la URL: http://localhost:40100/settings.
En la barra de menú superior, selecciona Content > Scripts.
Debajo de "Persistent Scripts", haz click en el ícono
+
.Pega la URL de tu script en "Script URL".
Guarda y reinicia tu dominio.
Ahora, el script se ejecutará de manera persistente en tu dominio hasta que lo elimines o cierres el dominio por completo.