OsConsoleCommand

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (some syntax modification (may be major or minor))
(Replace script)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{osslfunc
 
{{osslfunc
 
|threat_level=Severe
 
|threat_level=Severe
 +
|permissions=false
 +
|delay=0
 
|function_syntax=integer osConsoleCommand(string command)
 
|function_syntax=integer osConsoleCommand(string command)
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
 +
//
 +
// osConsoleCommand Script Exemple
 +
// Author: djphil
 +
//
 +
 +
integer switch;
 +
 
default
 
default
 
{
 
{
  touch_start(integer num_detected)
+
    state_entry()
  {
+
    {
    osConsoleCommand("login disable");
+
        llSay(PUBLIC_CHANNEL, "Touch to see osConsoleCommand usage.");
    llSay(0, "Logins are disabled");
+
    }
  }
+
   
 +
    touch_start(integer number)
 +
    {
 +
        string command = "login disable";
 +
 
 +
        if (switch = !switch)
 +
        {
 +
            command = "login enable";
 +
        }
 +
 
 +
        integer result = osConsoleCommand(command);
 +
 
 +
        if (result == TRUE)
 +
        {
 +
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed with success ...");
 +
        }
 +
 
 +
        else
 +
        {
 +
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed without success ...");
 +
        }
 +
    }
 
}
 
}
 
</source>
 
</source>
 
This would issue a Login Disable command on the console to prevent logins.
 
This would issue a Login Disable command on the console to prevent logins.
|description=This function allows an LSL script to directly execute a command to opensim's console.  
+
|description=This function allows an LSL script to directly execute a command to opensim's console.  Even if the function is available, only administrators/gods can successfully execute it.
  
There are no security checks, so it can do anything a user with access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, and just about everything else.  
+
In addition, one can further restrict this function to only certain administrators/gods. See [[Threat level]] for more information on how to do this.
 +
 
 +
If the script owner does have the necessary permissions to call this function, then they can do anything someone with direct access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, etc.
  
 
This command represents the highest security threat of any OSSL function, giving it a threat level of ''Severe''.  
 
This command represents the highest security threat of any OSSL function, giving it a threat level of ''Severe''.  
  
 
Do not use or allow this function unless you are absolutely sure of what you're doing!  
 
Do not use or allow this function unless you are absolutely sure of what you're doing!  
 
It is advisable to allow the use of this function for particular users only. See [[Threat level]] for more information on how to do this.
 
 
|
 
|
 
}}
 
}}

Latest revision as of 18:00, 5 December 2020

integer osConsoleCommand(string command)
This function allows an LSL script to directly execute a command to opensim's console. Even if the function is available, only administrators/gods can successfully execute it.

In addition, one can further restrict this function to only certain administrators/gods. See Threat level for more information on how to do this.

If the script owner does have the necessary permissions to call this function, then they can do anything someone with direct access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, etc.

This command represents the highest security threat of any OSSL function, giving it a threat level of Severe.

Do not use or allow this function unless you are absolutely sure of what you're doing!

Threat Level Severe
Permissions Use of this function is always disabled by default
Extra Delay 0 seconds
Example(s)
//
// osConsoleCommand Script Exemple
// Author: djphil
//
 
integer switch;
 
default
{
    state_entry()
    {
        llSay(PUBLIC_CHANNEL, "Touch to see osConsoleCommand usage.");
    }
 
    touch_start(integer number)
    {
        string command = "login disable";
 
        if (switch = !switch)
        {
            command = "login enable";
        }
 
        integer result = osConsoleCommand(command);
 
        if (result == TRUE)
        {
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed with success ...");
        }
 
        else
        {
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed without success ...");
        }
    }
}

This would issue a Login Disable command on the console to prevent logins.

Personal tools
General
About This Wiki