The CHAOS Enforcer is a central management console for multiple CHAOS Communications Hubs and their associated CHAOS Mesmerizer user communities, and the functionality it provides can be conceptually divided between Hub Management and Event Processing.
A single Enforcer can manage multiple Hubs. All managed Hubs have to be owned by the owner of the Enforcer, and they also have to be in the same region as it. Unlike the Hubs, you aren't required to leave the Enforcer rezzed; however if it's not rezzed it can't respond to user or Hub events.
The Hub management features include displaying the users registered with each hub and showing those currently logged in, and also "bridging" of commands and Mesmerizer chat between Hubs. Bridging allows for two Hubs to be temporarily connected together so that they behave as if they were a single Hub - in other words messages sent to one Hub in a bridged pair will be received by users logged in to either of the Hubs.
Event Processing is the major feature provided by the Enforcer. An event is some action performed by either a connected Hub, or by a user of a connected Hub. For example, when a Hub allocates a new Web address (e.g. after a restart of the sim hosting the Hub), it will generate an event that the Enforcer can respond to, typically by sending an email to users who use the Hub's Web interface. This allows for long-term use of the Hub Web interface without having to log in to SL whenever the hosting sim is restarted to find the Hub's new address.
Mesmerizers also generate events that the Enforcer can respond to. Most of these events are generated automatically, as a normal part of the communication between a Mesmerizer and its Hub. For example, the Mesmerizer contacts the Hub on login, and after each TP or region change, and in addition sends a 'keepalive" message every few minutes to let the Hub know that the Mesmerizer is still operating. If this keepalive message is not received for at least 10 minutes, the Hub assumes that the user has logged out. Each of these situations generates an event that the Enforcer can be programmed to respond to. It's likely that I will add additional events in response to suggestions received during the beta period.
Finally, as of version 0.99, Mesmerizers can generate custom Enforcer events via the new signal command. Since Mesmerizers have their own handlers for local events detected within the Mesmerizer, one use for signal is to allow any of these local events to be passed to the Enforcer for central processing.
The details of programming the Enforcer will be covered in a separate post, but it basically consists of creating a notecard for each event or class of events that you want the Enforcer to respond to, and listing the response actions in the notecard. If desired, responses can be limited to a specific user and/or sim. This makes it easy to do things like:
- Force-TP or force-sit a user upon login
- Apply or remove RLV restrictions when a user enters or leaves a sim
- Impose a curfew on a specific user
- Enforce "ban lists" of sims that a given user may not enter
I expect the Enforcer beta to be up on Marketplace and in vendors this week.
Update (8/4/2016): The Enforcer didn't go out as planned. The day after I posted this note, my test system, which had been running without problems for several months, crashed. It was an out-of-memory situation that was triggered by an abnormally large number of users' Mesmerizers sending updates simultaneously. Some code restructuring has significantly increased the headroom, and before the final release I may do a little more refactoring to make memory issues much less likely to occur. Note that I've decided to release The Enforcer as a copiable system, and since multiple Enforcers can connect to a single Hub, it would be possible for someone who runs into memory issues to simply create another Enforcer, and divide the events to be processed between them.
I am presently boxing up the new (fixed) Enforcer and hope to make it available this week.
Update 2 (8/18/2016): It's been a long road to get here. After the memory hiccup that delayed the original release, I ran into a situation where the PC I use to make vendor images wouldn't boot. I eventually had to restore things from backup to be able to complete the listings, but as of a few minutes ago, The Enforcer is finally up on Marketplace and in the vendors, at an initial (beta) price of L$299.
No comments:
Post a Comment