La surveillance WatchTower repose sur de petits rapports envoyés par le terminal in-world. Chaque rapport est volontairement compact. Le système privilégie des mises à jour fréquentes et sûres plutôt que d’énormes payloads susceptibles de faire planter le script ou d’atteindre les limites HTTP de Second Life.
Terrain et présence
Le Land Worker collecte des informations sur la parcelle et la région actuelles du terminal. Il signale le nom de la région, le nom de la parcelle, la SLURL, la position du terminal, le nombre d’avatars sur la parcelle, le nombre d’avatars dans la région, la capacité régionale, les FPS, la dilatation temporelle, le score de lag et les données de tuiles cartographiques.
Ces données sont utiles aux propriétaires car elles répondent à :
- Mon terrain est-il en ligne ?
- Le terminal est-il toujours au bon endroit ?
- Combien d’avatars se trouvent dans la parcelle ou la région ?
- Le simulateur fonctionne-t-il normalement ?
- Puis-je accéder directement à l’emplacement avec une SLURL ?
SLURL et position
Un emplacement doit inclure une SLURL si possible. La SLURL permet au propriétaire ou au personnel de se téléporter vers la zone surveillée. La position du terminal doit être affichée sous forme de coordonnées x/y/z simples. Si le terminal sert à surveiller un point d’atterrissage, les propriétaires doivent le placer près de la zone qui les intéresse réellement.
Carte de la région
Region Map utilise les données de position du simulateur/globales pour déterminer où se trouve un terminal sur la grille Second Life. Les données cartographiques peuvent afficher visuellement plusieurs emplacements protégés et aider à distinguer des emplacements portant des noms similaires.
La précision de la carte dépend des données du simulateur renvoyées à LSL et de la position actuelle du terminal. Si le terminal est déplacé, un instantané ultérieur du terrain doit actualiser sa position sur la carte.
Personnes en ligne
Le Scanner Worker lit les avatars de la région et de la parcelle. La version sécurisée n’essaie pas d’envoyer chaque avatar à chaque fois. Elle envoie un petit lot, suit un décalage et parcourt la liste sur plusieurs cycles.
Le scanner sécurisé doit utiliser ces règles :
| Règle de sécurité | Motif |
|---|---|
| Maximum 5 avatars par lot d’analyse | Maintient le JSON compact et la mémoire stable. |
| Faire défiler la liste des régions | Les régions très fréquentées restent couvertes au fil du temps. |
| Inclure présent sur la parcelle et présent dans la région | Aide à distinguer le trafic régional proche des visiteurs du terrain. |
| Évitez les noms/listes énormes | Protège contre la collision Stack-Heap. |
| Ignorer les charges utiles surdimensionnées | Mieux vaut manquer un lot que faire planter l’objet. |
Ce que signifient les données d’avatar
WatchTower peut signaler qu’un avatar a été vu par le scanner dans la région ou la parcelle. Il faut le décrire comme **vu**, **vu pour la dernière fois** ou **présent dans le scan**. Il ne faut pas le présenter comme une présence parfaite, une preuve d’identité au-delà de l’UUID/nom d’avatar ou un enregistrement d’un comportement privé.
Champs utiles :
- UUID de l’avatar
- Nom d’affichage
- Nom d’utilisateur / ancien nom si disponible
- Position
- Distance depuis le terminal
- Indicateur de présence sur la parcelle
- Indicateur de présence dans la région
- Horodatage
Indicateur de lag et santé
La vue lag/santé doit combiner les performances du simulateur et la santé du terminal. Les performances du simulateur proviennent de valeurs telles que les FPS régionaux et la dilatation temporelle. La santé du terminal repose sur la mémoire libre des scripts, l’âge du heartbeat, l’état de la file d’attente et le dernier envoi HTTP réussi.
Signification suggérée du score de lag :
| Score | Signification |
|---|---|
| 80–100 | Sain ou normal. |
| 60–79 | Stress léger ; surveillez si des événements sont actifs. |
| 40–59 | Lag perceptible ; les propriétaires peuvent vouloir réduire la charge. |
| 0–39 | Grave problème de performances ou état de données incorrect. |
Le lag régional n’est pas toujours causé par le terrain du propriétaire. Il peut provenir d’objets voisins, de la charge régionale, du pathfinding, des scripts, avatars, pièces jointes ou de problèmes temporaires de grille. WatchTower doit présenter le lag comme un signal, pas comme une cause garantie.
Surveillance des machines
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.
Champs recommandés pour la machine :
- UUID de la machine / clé d’objet
- Type de machine
- Nom de l’objet
- UUID du propriétaire
- Nom du propriétaire
- Région
- Parcelle
- SLURL
- Version du script
- Dernier battement de cœur
- Dernier type d’événement
- Mémoire libre
- État du jeton
- Statut du tableau de bord
Gestion des machines obsolètes
Une machine obsolète n’est pas toujours en panne. La région a peut-être redémarré, le propriétaire peut avoir repris l’objet, les scripts peuvent être temporairement désactivés ou l’abonnement peut avoir expiré. Le tableau de bord doit afficher l’heure de dernière activité et suggérer l’étape suivante au lieu de la déclarer immédiatement en échec.
Conseils recommandés pour les machines obsolètes :
- Attendez un cycle de mise à jour.
- Vérifiez si la région a redémarré.
- Touchez le terminal et choisissez **Status**.
- Utilisez **Health** ou **Heartbeat** dans le menu.
- Confirmez que l’objet possède toujours son `WTTOKEN`.
- Réenregistrez uniquement si le jeton est manquant ou invalide.
Pourquoi les petits rapports sont meilleurs
Les scripts Second Life ont une mémoire limitée. Un seul script construisant un énorme payload JSON peut échouer avec Stack-Heap Collision. WatchTower l’évite en répartissant le travail entre de petits scripts, en limitant la taille des files, en envoyant une requête HTTP à la fois, en décalant les timers, en vérifiant la mémoire libre avant les grosses opérations et en abandonnant les payloads surdimensionnés plutôt que de risquer un plantage.
