Script Sandbox
From OpenSimulator
(Difference between revisions)
m (Removed 'Template:' prefix from template includings and/or changed external-link into internal-link) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | Scripts that are executed in an object within a Sim must meet certain criteria to ensure that stability and security of the Sim are maintained. In a successful implementation, a Sim would allow for the quasi- | + | __NOTOC__ |
+ | {{Quicklinks}} | ||
+ | <br /> | ||
+ | |||
+ | Scripts that are executed in an object within a Sim must meet certain criteria to ensure that stability and security of the Sim are maintained. In a successful implementation, a Sim would allow for the quasi-simultaneous execution of large scores (hundreds, thousands) of scripts. Each script runs in a limited, controlled environment. | ||
== Stability == | == Stability == | ||
Line 9: | Line 13: | ||
== Security == | == Security == | ||
− | * A script runs in Sandbox environment and has not access to outside resources beyond the ones granted by the Sandbox environment (With the translation of LSL and OSL scripts into C# and even more with the option to run native C# as a script, hacking becomes a serious issue). | + | * A script runs in a Sandbox environment and has not access to outside resources beyond the ones granted by the Sandbox environment (With the translation of LSL and OSL scripts into C# and even more with the option to run native C# as a script, hacking becomes a serious issue). |
Latest revision as of 15:39, 10 June 2011
Scripts that are executed in an object within a Sim must meet certain criteria to ensure that stability and security of the Sim are maintained. In a successful implementation, a Sim would allow for the quasi-simultaneous execution of large scores (hundreds, thousands) of scripts. Each script runs in a limited, controlled environment.
[edit] Stability
- A script does not exceed a certain share of resources granted to it. Resources to be regulated are CPU time, memory and communication channels. To allow for a fair sharing of CPU time, pre-emptive multitasking (interrupting a script after a certain amount of time to allocate the CPU to another script) or built-in delays (like in SL) are inevitable.
- A script does not create an excessive amount of child scripts, which would spam the ScriptEngine.
- A script does not create errors that interrupt the Sim (meaning that the ScriptEngine requires extensive error-checks and error-handling routines).
[edit] Security
- A script runs in a Sandbox environment and has not access to outside resources beyond the ones granted by the Sandbox environment (With the translation of LSL and OSL scripts into C# and even more with the option to run native C# as a script, hacking becomes a serious issue).