Do you suffer lag at home or at your sim?
Is your place overloaded with script time?
The MoDesign Standby Controller will help you to win your fight against script lag.
Table of Contents
- What Customers Say
- How it works
- About Script-Lag
- Mono vs. LSL
- Setup
- Usage of the Standby Controller
- Usage of the Terminal & HUD
- Caveats
- Future plans
- Partnership
What Customers say:
- Amazing! I installed the tool to my shibari room at Pirandello Bay and it saved 10% script time of the sim right away! I will use this product in all of my sims!
- The setup is really, really easy!
How it works
MoDesign Standby uses 2 to 4 units:
- MoDesign Standby Client Script
- MoDesign Standby Controller
- MoDesign Standby Terminal
- MoDesign Standby HUD
To have the basic feature working, you but need a controller and the client scripts.
The client scripts will be added to lag producing scripted objects.
The controller will be rezed and checks the area if avatars are close. When no avatars are close, the client scripts will apply standby mode. The scripted items will enter sleep mode and no longer produce significant script lag. When avatars are close, the controller will send a wake up signal. The scripted items will wake up and be fully functional again.
The controller script and client scripts follow an extreme low lag design.
About Script-LAG
The scripts provided with this product are extreme low lag scripted. The different parts produce about the following "CPU-lag":
0.003 ms - per Client Script
0.004 ms - per Controller
0.005 ms - per HUD
0.005 ms - per Terminal
Just that you get an idea about lag, a commonly scripted, standard poseball easily needs about 0.01 ms.
This means, when you use MoDesign Standby by using one Controller and one Client Script to send one poseball to standby, you already cut lag!
This also means, it makes sense to add the controller scripts to any link of your item you want to send to stand by mode, that produces more lag then the Client Script.
Linden designed a sim to use about 23.0 ms for all scripts in one sim. However, sims today easily need twice that amount of CPU time for scripts. The moment you get over 23.0 ms script time, your sim suffers script lag.
Mono vs. LSL
An other effect of scripts is memory lag. Every script needs a portion of server memory. A usual lsl script needs 16k, a usual Mono script has 64k reserved. If many scripts are running, the memory of the server can begin to swap, slowing down the complete sim performance.
On the first view, Mono scripts seem to be bad, as they use 4 times the memory lsl scripts do. However, Mono scripts share program code. If you run the same mono script several times, they share their program code memory, so every new script but needs only a small portion of memory where it stores its variables. Further more, Mono program code is more efficient and Mono code usually runs faster, needing less CPU time.
I provide the client scripts compiled in LSL and in Mono.
In theory, it is best, to use the Mono ones, as Mono scripts share program code memory. As the scripts hardly use variables, the number of these scripts will hardly affect sim performance.
However, it could be that Linden will count different and when they introduce Script Limits, every script might count separately, no matter if they share memory or not.
This might lead into a dilemma:
- Either use LSL scripts to officially need but a quarter of script memory then Mono,
or - use Mono scripts, to have better sim performance, but officially use more memory than you actually do.
Setup
At first you need to add the client scripts to all items that you plan to control.
You need to have modify permissions to add the standby script.
With every scripted item, please proceed as follows:
- Drag the MoDesign Standby Client Script on to the item you want to have the stand by mode to be affected.
- If your item uses scripts in linked parts, you also can add MoDesign Standby Client Scripts to all these links. Only scripts in links where a MoDesign Standby Client Script is installed will enter standby mode.
Next, you need to rez a MoDesign Standby Controller.
Be careful, they are huge!
MoDesign Standby Controller
The Standby controller by default is a sphere with 20 meter or 40 meter diameter. It uses a megaprim, so do not edit the scale of that, or the megaprim will collapse. If that happens, you can easily use an other megaprim to install the MoDesign Standby Controller script in that one.
Place the controller, that it will cover all items you want to control with this controller. When you rez it, it will sink, matching ground level.
When you touch the controller prim, you will get a menu.
Notice: Only the owner will get this menu!
The example of this menu shows the state as in Auto-mode, with all controlled items switched to off.
The menu has the following options:
- On:
to turn on all controlled items - they now will never enter standby mode - Off:
to turn off all controlled items - they will never wake up automatic - Auto:
to enter auto mode: items will wake up or enter standby automatic - List:
touch this button to see a list of all items controlled by this controller and their status - Hide/Show:
to hide/show the controller - hide it when done with set up - Remove:
removes all client scripts by the controlled controller
In auto mode, the moment an avatar enters the area covered by the controller will trigger a wake up. When no avatar is close for some time, the items will enter standby mode.
Important: All controlled items need to be in the same group!
Advanced Users
Advanced users might edit the shape of the controller to adjust the controlled area to their needs. However, the controller state will always control all items in range of 10m or 20m radius. The range is determined by the widest scale of the controller prim.
If unsure, just use the controllers as provided.
Remove MoDesign Standby Client Scripts
If you want to remove all client scripts in an item. you can use the Remove button of the Controller. Be careful, the controller will remove all Client Scripts of all products that are controlled by this controller.
Notice: Please use the LIST button first, to check what items will be affected!
MoDesign Standby Terminal *)
The Terminal can be used to allow group members to control all controllers of the same group the same time.
The status is indicated by a colored sign:
- Red:
off - all items in Standby mode, permanently - Green:
on - all items active, permanently - Blue:
auto mode
List of Options:
- On: set all to permanent on
- Off: set all to permanent off (Standby mode)
- Auto: activate auto mode
- List: get a list of all controllers
- Show: make controllers visible
(only controllers in 20m range) - Hide: make all controllers invisible
(sim-wide)
MoDesign Standby HUD *)
The HUD has the same features as the Terminal. It also gets in sync with a terminal rezed in a sim, when ever you attach the HUD or enter a sim where a Terminal is located. Therefore its recommended to use one terminal per sim.
*) additional terminals and HUDs are available separately
Scenarios
Access control is maintained with group permissions. This allows you, to have your controllers control your own items, as well as items of your partners or staff.
All your partners / staff needs to do, is to install client scripts to the items they contribute. In return their controllers will be able to control your items or items of other group members.
For your own protection, you should make sure, that only people you trust are a member of this group, but this should be that way any way.
If you have special events that might create big lag, you can use the HUD or terminal to turn off all controlled areas, so you save CPU time for the event. E.g. tun off the playgrounds when you celebrate a fashion show.
You don't need to plaster all your land with the controllers. Find a reasonable scale. Its reasonable to equip special places like play rooms or the like that are not used a great deal of the time.
Caveats
Unfortunately, there are some Linden-Bugs that you need to take care about. Don't worry. Most times, this bugs should not affect you. However, if an item turns out not to be compatible with standby mode, just remove the client scripts, to have it no longer enter standby mode.
Known issues:
- While an item is in standby mode and the sim gets restarted, the scripts in stand by loose their state and set permissions. They actually get reset.
This means, you should not use MoDesign Standby with items that save their settings but in memory or use Debit Permissions or other important permissions or settings that need to be set.
[jira SVC-1853] and [jira SVC-26] - While an item is in standby mode, commands that usually trigger functions of it but stack until they reach a limit. In rare cases this could lead to strange effects when the item wakes up.
[jira SVC-5978]
Future plans
I might add a install feature, that might install client Scripts in all links with other scripts automatic.
I might also add more features to remote control the controllers.
Partnership
You are a landlord or land lady and rent land or homes?
You want to offer your tenants less lag?
You want to offer your tenants special deals?
Get in touch with me for a special deal package of MoDesign Standby for your tenants!
That's it!
Save a good time,
Yours, Mo.