Script Sandbox

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(New page: 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 ...)
 
Line 3: Line 3:
 
== Stability ==
 
== 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).
  
 
== 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).

Revision as of 15:42, 23 February 2008

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-simulateous execution of large scores (hundreds, thousands) of scripts. Each script runs in a limited, controlled environment.

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).

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).
Personal tools
General
About This Wiki