WatchTower-bewaking is opgebouwd uit kleine rapporten die door de in-world-terminal worden verzonden. Elk rapport is bewust compact. Het systeem geeft de voorkeur aan frequente veilige updates boven enorme payloads die het script kunnen laten crashen of Second Life HTTP-limieten kunnen raken.
Land en aanwezigheid
De Land Worker verzamelt informatie over het huidige perceel en de regio van de terminal. Hij rapporteert regionaam, perceelnaam, SLURL, terminalpositie, avataraantal op het perceel, avataraantal in de regio, regiocapaciteit, FPS, time dilation, lagscore en kaarttegelgegevens.
Deze gegevens zijn nuttig voor eigenaars omdat ze antwoord geven op:
- Is mijn land online?
- Staat de terminal nog op de juiste plek?
- Hoeveel avatars bevinden zich op het perceel of in de regio?
- Werkt de simulator normaal?
- Kan ik rechtstreeks naar de locatie gaan met een SLURL?
SLURL en positie
Een locatie moet waar mogelijk een SLURL bevatten. Met de SLURL kan een eigenaar of medewerker naar het bewaakte gebied teleporteren. De terminalpositie moet als eenvoudige x/y/z-coördinaat worden getoond. Als de terminal als landing-point-monitor wordt gebruikt, moeten eigenaars hem dicht bij de locatie plaatsen die echt belangrijk is.
Regiokaart
Region Map gebruikt simulator-/globale positiegegevens om vast te stellen waar een terminal zich op het Second Life-grid bevindt. Kaartgegevens kunnen meerdere beschermde locaties visueel tonen en helpen locaties met vergelijkbare namen te onderscheiden.
Kaartnauwkeurigheid hangt af van simulatorgegevens die aan LSL worden teruggegeven en de huidige terminalpositie. Als de terminal wordt verplaatst, moet een latere landmomentopname de kaartpositie vernieuwen.
Mensen online
De Scanner Worker leest avatars in de regio en op het perceel. De veilige versie probeert niet elke avatar iedere keer te verzenden. Hij stuurt een kleine batch, houdt een offset bij en roteert over meerdere cycli door de lijst.
De veilige scanner moet deze regels gebruiken:
| Veiligheidsregel | Reden |
|---|---|
| Maximaal 5 avatars per scanbatch | Houdt JSON klein en geheugen stabiel. |
| Door de regiolijst roteren | Drukke regio’s worden na verloop van tijd nog steeds volledig meegenomen. |
| Aanwezig op perceel en aanwezig in regio opnemen | Helpt nabij regionaal verkeer te onderscheiden van landbezoekers. |
| Vermijd enorme namen/lijsten | Beschermt tegen Stack-Heap Collision. |
| Te grote payloads laten vallen | Beter één batch missen dan het object laten crashen. |
Wat avatargegevens betekenen
WatchTower kan rapporteren dat een avatar door de scanner in de regio of op het perceel is gezien. Dit moet worden beschreven als **gezien**, **laatst gezien** of **aanwezig in scan**. Het mag niet worden beschreven als perfecte aanwezigheid, identiteitsbewijs buiten avatar-UUID/naam of een registratie van privégedrag.
Nuttige velden:
- Avatar-UUID
- Weergavenaam
- Gebruikersnaam / legacy-naam indien beschikbaar
- Positie
- Afstand vanaf terminal
- Perceelaanwezigheidsmarkering
- Regioaanwezigheidsmarkering
- Tijdstempel
Lagmeter en gezondheid
De lag-/gezondheidsweergave moet simulatorprestaties en terminalgezondheid combineren. Simulatorprestaties komen uit waarden zoals regio-FPS en time dilation. Terminalgezondheid komt uit vrij scriptgeheugen, heartbeat-leeftijd, wachtrijstatus en de laatste geslaagde HTTP-verzending.
Voorgestelde betekenis lagscore:
| Score | Betekenis |
|---|---|
| 80–100 | Gezond of normaal. |
| 60–79 | Lichte belasting; houd dit in de gaten als er evenementen actief zijn. |
| 40–59 | Merkbare lag; eigenaars kunnen de belasting beter verminderen. |
| 0–39 | Ernstig prestatieprobleem of onjuiste gegevensstatus. |
Regiolag wordt niet altijd veroorzaakt door het land van de eigenaar. Het kan komen door naburige objecten, regiobelasting, pathfinding, scripts, avatars, attachments of tijdelijke gridproblemen. WatchTower moet lag als signaal presenteren, niet als gegarandeerde oorzaak.
Machinebewaking
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.
Aanbevolen machinevelden:
- Machine-UUID / objectsleutel
- Machinetype
- Objectnaam
- UUID eigenaar
- Naam eigenaar
- Regio
- Perceel
- SLURL
- Scriptversie
- Laatste heartbeat
- Laatste gebeurtenistype
- Vrij geheugen
- Tokenstatus
- Dashboardstatus
Omgaan met verouderde machines
Een verouderde machine is niet altijd kapot. De regio kan zijn herstart, de eigenaar kan het object hebben opgepakt, scripts kunnen tijdelijk uitgeschakeld zijn of het abonnement kan zijn geëindigd. Het dashboard moet de laatst-gezien-tijd tonen en de volgende stap voorstellen in plaats van het direct mislukt te noemen.
Aanbevolen richtlijn voor verouderde machines:
- Wacht één updatecyclus.
- Controleer of de regio opnieuw is gestart.
- Raak de terminal aan en kies **Status**.
- Gebruik **Health** of **Heartbeat** in het menu.
- Controleer of het object nog steeds zijn `WTTOKEN` heeft.
- Registreer alleen opnieuw als de token ontbreekt of ongeldig is.
Waarom kleine rapporten beter zijn
Second Life-scripts hebben beperkt geheugen. Eén script dat een enorme JSON-payload bouwt kan mislukken met Stack-Heap Collision. WatchTower voorkomt dit door werk over kleine scripts te verdelen, maximale wachtrijgroottes te gebruiken, één HTTP-verzoek tegelijk te verzenden, timers te spreiden, vrij geheugen vóór groot werk te controleren en te grote payloads te laten vallen in plaats van een crash te riskeren.
