La monitorización de WatchTower se basa en pequeños informes enviados por el terminal in-world. Cada informe es intencionalmente compacto. El sistema favorece actualizaciones frecuentes y seguras frente a enormes cargas que podrían bloquear el script o alcanzar los límites HTTP de Second Life.
Terreno y presencia
El Land Worker recopila información sobre la parcela y región actuales del terminal. Informa nombre de región, nombre de parcela, SLURL, posición del terminal, recuento de avatares de parcela, recuento de avatares de región, capacidad regional, FPS, dilatación temporal, puntuación de lag y datos de mosaicos del mapa.
Estos datos son útiles para los propietarios porque responden a:
- ¿Mi terreno está en línea?
- ¿Sigue el terminal en el lugar correcto?
- ¿Cuántos avatares hay en la parcela o región?
- ¿El simulador funciona con normalidad?
- ¿Puedo ir directamente a la ubicación con una SLURL?
SLURL y posición
Una ubicación debe incluir una SLURL siempre que sea posible. La SLURL permite que un propietario o miembro del personal se teletransporte al área supervisada. La posición del terminal debe mostrarse como coordenadas x/y/z simples. Si el terminal se usa para supervisar un punto de aterrizaje, los propietarios deben colocarlo cerca del lugar que realmente les interesa.
Mapa de la región
Region Map usa datos de posición del simulador/globales para identificar dónde está un terminal en la cuadrícula de Second Life. Los datos del mapa pueden mostrar visualmente varias ubicaciones protegidas y ayudar a distinguir ubicaciones con nombres similares.
La precisión del mapa depende de los datos del simulador devueltos a LSL y de la posición actual del terminal. Si el terminal se mueve, una instantánea posterior del terreno debe actualizar su posición en el mapa.
Personas en línea
El Scanner Worker lee los avatares de la región y la parcela. La versión segura no intenta enviar todos los avatares cada vez. Envía un lote pequeño, sigue un desplazamiento y rota por la lista durante varios ciclos.
El escáner seguro debe usar estas reglas:
| Regla de seguridad | Motivo |
|---|---|
| Máximo 5 avatares por lote de escaneo | Mantiene el JSON pequeño y la memoria estable. |
| Recorrer la lista de regiones | Las regiones concurridas siguen cubriéndose con el tiempo. |
| Incluir presente en la parcela y presente en la región | Ayuda a separar el tráfico regional cercano de los visitantes del terreno. |
| Evita nombres/listas enormes | Protege contra la colisión Stack-Heap. |
| Descartar cargas demasiado grandes | Es mejor perder un lote que bloquear el objeto. |
Qué significan los datos del avatar
WatchTower puede informar que el escáner vio a un avatar en la región o parcela. Debe describirse como **visto**, **visto por última vez** o **presente en el escaneo**. No debe describirse como asistencia perfecta, prueba de identidad más allá del UUID/nombre del avatar ni registro de comportamiento privado.
Campos útiles:
- UUID del avatar
- Nombre visible
- Nombre de usuario / nombre heredado si está disponible
- Posición
- Distancia desde el terminal
- Indicador de presencia en parcela
- Indicador de presencia en región
- Marca de tiempo
Medidor de lag y estado
La vista de lag/estado debe combinar el rendimiento del simulador y el estado del terminal. El rendimiento del simulador proviene de valores como FPS regionales y dilatación temporal. El estado del terminal proviene de memoria libre de scripts, antigüedad del heartbeat, estado de cola y último envío HTTP correcto.
Significado sugerido de la puntuación de lag:
| Puntuación | Significado |
|---|---|
| 80–100 | Saludable o normal. |
| 60–79 | Estrés leve; vigila si hay eventos activos. |
| 40–59 | Lag perceptible; los propietarios quizá deban reducir la carga. |
| 0–39 | Problema grave de rendimiento o estado de datos incorrecto. |
El lag regional no siempre lo causa el terreno del propietario. Puede venir de objetos vecinos, carga regional, pathfinding, scripts, avatares, adjuntos o problemas temporales de la cuadrícula. WatchTower debe presentar el lag como una señal, no como una causa garantizada.
Monitorización de máquinas
Machines are WatchTower-related objects that report to the dashboard. A machine can be a terminal, payment station, relay, gate, or other supported object. Machines should be tied to an owner account and, when possible, a location.
Campos recomendados de máquina:
- UUID de máquina / clave de objeto
- Tipo de máquina
- Nombre del objeto
- UUID del propietario
- Nombre del propietario
- Región
- Parcela
- SLURL
- Versión del script
- Último latido
- Último tipo de evento
- Memoria libre
- Estado del token
- Estado del panel
Gestión de máquinas obsoletas
Una máquina obsoleta no siempre está averiada. La región puede haberse reiniciado, el propietario puede haber recogido el objeto, los scripts pueden estar deshabilitados temporalmente o la suscripción puede haber terminado. El panel debe mostrar la hora de última actividad y sugerir el siguiente paso en vez de declararla fallida de inmediato.
Guía recomendada para máquinas obsoletas:
- Espera un ciclo de actualización.
- Comprueba si la región se reinició.
- Toca el terminal y elige **Status**.
- Usa **Health** o **Heartbeat** en el menú.
- Confirma que el objeto aún tenga su `WTTOKEN`.
- Vuelve a registrar solo si falta el token o no es válido.
Por qué los informes pequeños son mejores
Los scripts de Second Life tienen memoria limitada. Un solo script que construya una enorme carga JSON puede fallar con Stack-Heap Collision. WatchTower lo evita dividiendo el trabajo en scripts pequeños, usando tamaños máximos de cola, enviando una solicitud HTTP a la vez, escalonando temporizadores, comprobando memoria libre antes de trabajos grandes y descartando cargas sobredimensionadas en vez de arriesgar un fallo.
