<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michelle+Argus</id>
		<title>OpenSimulator - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michelle+Argus"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Michelle_Argus"/>
		<updated>2026-05-11T07:28:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2013-12-03T17:44:24Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* common Parameters are */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
= Naming =&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
=== common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
* ''user_firstname'', ''user_lastname'' - name of user's account&lt;br /&gt;
* ''user_password'' - password of user's account&lt;br /&gt;
* ''object_id'' - uuid of an object&lt;br /&gt;
* ''object_name'' - name of an object&lt;br /&gt;
&lt;br /&gt;
=== commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_teleport_agent</id>
		<title>RemoteAdmin:admin teleport agent</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_teleport_agent"/>
				<updated>2013-11-17T01:32:31Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* PHP */  removed unwanted tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_teleport_agent''' remotely teleport an agent to a given region and/or position &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_teleport_agent ===&lt;br /&gt;
If not all functions are enabled, use admin_create_teleport_agent to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_teleport_agent,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_id''&lt;br /&gt;
| agent uuid, optionaly agent_first_name and agent_last_name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_first_name''&lt;br /&gt;
| first name of agent&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_last_name''&lt;br /&gt;
| last name of agent&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_x''&lt;br /&gt;
| teleport to region position x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_y''&lt;br /&gt;
| teleport to region position y&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_z''&lt;br /&gt;
| teleport to region position z&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_x''&lt;br /&gt;
| look in direction x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_y''&lt;br /&gt;
| look in direction y&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_z''&lt;br /&gt;
| look in direction z&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| &lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* From commit 415b7b7 on Wed 7 Dec 2011 (OpenSimulator 0.7.3-dev)&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here]. &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_teleport_agent (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'user_firstname' =&amp;gt; 'John', 'user_lastname' =&amp;gt; 'Doe', 'pos_x' =&amp;gt; '15', 'pos_y' =&amp;gt; '10');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_teleport_agent', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python &lt;br /&gt;
import xmlrpclib &lt;br /&gt;
 &lt;br /&gt;
# XML-RPC URL (http_listener_port) &lt;br /&gt;
simulatorURL = &amp;quot;http://127.0.0.1:5000&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# instantiate server object &lt;br /&gt;
simulator = xmlrpclib.Server(simulatorURL) &lt;br /&gt;
 &lt;br /&gt;
# invoke admin_alert: requires password and message &lt;br /&gt;
simulator.admin_teleport_agent({'password':'secret', 'agent_first_name':'John','agent_last_name':'Doe','region_name':'My Plaza', 'pos_x':'15', 'pos_y':'10'})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Remoteadmin:admin_get_agents</id>
		<title>Remoteadmin:admin get agents</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Remoteadmin:admin_get_agents"/>
				<updated>2013-11-17T01:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* PHP 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_get_agents''' get information about agents in a given region&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_get_agents ===&lt;br /&gt;
If not all functions are enabled, use admin_get_agents to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_get_agents,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region to look for agents (or region_id below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| UUID of the region to look for agents (or region_name above)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''include_children''&lt;br /&gt;
| If true, then return information about [[Glossary#C|child agents]] as well as [[Glossary#R|root agents]].&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
===Root===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| &lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| ''regions'' || Regions for which information is returned. || See regions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Regions===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of region ||&lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of region ||&lt;br /&gt;
|-&lt;br /&gt;
| agents || Agents found in the region requested. || See agents&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Agents===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| type || Type of agent || Npc or User &lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| current_parcel_id || UUID of parcel the agent is currently over ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_x || X position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_y || Y position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_z || Z position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_x || X velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_y || Y velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_z || Z velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_x || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_y || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_z || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_ground || true if the agent is sat on the ground ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_object || true if the agent is sat on an object ||&lt;br /&gt;
|-&lt;br /&gt;
| is_flying || true if the agent is flying ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* This was introduced in git master commit 3072f25 (OpenSimulator 0.7.6 development).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Output ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
    [regions] =&amp;gt; Array&lt;br /&gt;
        (&lt;br /&gt;
            [0] =&amp;gt; Array&lt;br /&gt;
                (&lt;br /&gt;
                    [agents] =&amp;gt; Array&lt;br /&gt;
                        (&lt;br /&gt;
                            [0] =&amp;gt; Array&lt;br /&gt;
                                (&lt;br /&gt;
                                    [lookat_y] =&amp;gt; 0.04238708&lt;br /&gt;
                                    [lookat_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_sat_on_ground] =&amp;gt; False&lt;br /&gt;
                                    [type] =&amp;gt; User&lt;br /&gt;
                                    [current_parcel_uuid] =&amp;gt; fc2f2820-7181-4a9f-8cba-f73d3e14f72e&lt;br /&gt;
                                    [name] =&amp;gt; John Joe&lt;br /&gt;
                                    [uuid] =&amp;gt; bb293b8c-4986-4ab4-844a-5d22639f2d75&lt;br /&gt;
                                    [vel_y] =&amp;gt; 0&lt;br /&gt;
                                    [vel_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_flying] =&amp;gt; False&lt;br /&gt;
                                    [is_sat_on_object] =&amp;gt; False&lt;br /&gt;
                                    [pos_x] =&amp;gt; 134.6547&lt;br /&gt;
                                    [pos_y] =&amp;gt; 122.7092&lt;br /&gt;
                                    [pos_z] =&amp;gt; 25.27129&lt;br /&gt;
                                    [vel_x] =&amp;gt; 0&lt;br /&gt;
                                    [lookat_x] =&amp;gt; 0.9991013&lt;br /&gt;
                                )&lt;br /&gt;
&lt;br /&gt;
                        )&lt;br /&gt;
&lt;br /&gt;
                    [uuid] =&amp;gt; 11111111-bf88-45ac-aace-35bd76426c81&lt;br /&gt;
                    [name] =&amp;gt; test one&lt;br /&gt;
                )&lt;br /&gt;
&lt;br /&gt;
        )&lt;br /&gt;
&lt;br /&gt;
    [success] =&amp;gt; 1&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP 1 ===&lt;br /&gt;
&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_oar (multiple parameters)&lt;br /&gt;
$parameters = array('password' =&amp;gt; 'plop', 'region_name' =&amp;gt; 'test one', 'include_children' =&amp;gt; 'false');&lt;br /&gt;
$response = $myRemoteAdmin-&amp;gt;SendCommand('admin_get_agents', $parameters);&lt;br /&gt;
&lt;br /&gt;
print_r($response);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP 2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$request = xmlrpc_encode_request(&amp;quot;admin_get_agents&amp;quot;, array(&amp;quot;password&amp;quot; =&amp;gt; &amp;quot;plop&amp;quot;, &amp;quot;region_name&amp;quot; =&amp;gt; &amp;quot;test one&amp;quot;, &amp;quot;include_children&amp;quot; =&amp;gt; &amp;quot;false&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
$context = stream_context_create(array('http' =&amp;gt; array(&lt;br /&gt;
    'method' =&amp;gt; &amp;quot;POST&amp;quot;,&lt;br /&gt;
    'header' =&amp;gt; &amp;quot;Content-Type: text/xml\r\nConnection: close\r\n&amp;quot;,&lt;br /&gt;
    'content' =&amp;gt; $request&lt;br /&gt;
)));&lt;br /&gt;
&lt;br /&gt;
$fp = fopen(&amp;quot;http://localhost:5000&amp;quot;, 'rb', false, $context);&lt;br /&gt;
$file = stream_get_contents($fp);&lt;br /&gt;
fclose($fp);&lt;br /&gt;
&lt;br /&gt;
$response = xmlrpc_decode($file);&lt;br /&gt;
if ($response &amp;amp;&amp;amp; xmlrpc_is_fault($response)) {&lt;br /&gt;
    trigger_error(&amp;quot;xmlrpc: $response[faultString] ($response[faultCode])&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    print_r($response);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands]]&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Remoteadmin:admin_get_agents</id>
		<title>Remoteadmin:admin get agents</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Remoteadmin:admin_get_agents"/>
				<updated>2013-11-17T01:25:52Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: added missing example using RemoteAdmin PHP Class file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_get_agents''' get information about agents in a given region&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_get_agents ===&lt;br /&gt;
If not all functions are enabled, use admin_get_agents to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_get_agents,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region to look for agents (or region_id below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| UUID of the region to look for agents (or region_name above)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''include_children''&lt;br /&gt;
| If true, then return information about [[Glossary#C|child agents]] as well as [[Glossary#R|root agents]].&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
===Root===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| &lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| ''regions'' || Regions for which information is returned. || See regions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Regions===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of region ||&lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of region ||&lt;br /&gt;
|-&lt;br /&gt;
| agents || Agents found in the region requested. || See agents&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Agents===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| type || Type of agent || Npc or User &lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| current_parcel_id || UUID of parcel the agent is currently over ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_x || X position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_y || Y position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_z || Z position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_x || X velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_y || Y velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_z || Z velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_x || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_y || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_z || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_ground || true if the agent is sat on the ground ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_object || true if the agent is sat on an object ||&lt;br /&gt;
|-&lt;br /&gt;
| is_flying || true if the agent is flying ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* This was introduced in git master commit 3072f25 (OpenSimulator 0.7.6 development).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Output ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
    [regions] =&amp;gt; Array&lt;br /&gt;
        (&lt;br /&gt;
            [0] =&amp;gt; Array&lt;br /&gt;
                (&lt;br /&gt;
                    [agents] =&amp;gt; Array&lt;br /&gt;
                        (&lt;br /&gt;
                            [0] =&amp;gt; Array&lt;br /&gt;
                                (&lt;br /&gt;
                                    [lookat_y] =&amp;gt; 0.04238708&lt;br /&gt;
                                    [lookat_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_sat_on_ground] =&amp;gt; False&lt;br /&gt;
                                    [type] =&amp;gt; User&lt;br /&gt;
                                    [current_parcel_uuid] =&amp;gt; fc2f2820-7181-4a9f-8cba-f73d3e14f72e&lt;br /&gt;
                                    [name] =&amp;gt; John Joe&lt;br /&gt;
                                    [uuid] =&amp;gt; bb293b8c-4986-4ab4-844a-5d22639f2d75&lt;br /&gt;
                                    [vel_y] =&amp;gt; 0&lt;br /&gt;
                                    [vel_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_flying] =&amp;gt; False&lt;br /&gt;
                                    [is_sat_on_object] =&amp;gt; False&lt;br /&gt;
                                    [pos_x] =&amp;gt; 134.6547&lt;br /&gt;
                                    [pos_y] =&amp;gt; 122.7092&lt;br /&gt;
                                    [pos_z] =&amp;gt; 25.27129&lt;br /&gt;
                                    [vel_x] =&amp;gt; 0&lt;br /&gt;
                                    [lookat_x] =&amp;gt; 0.9991013&lt;br /&gt;
                                )&lt;br /&gt;
&lt;br /&gt;
                        )&lt;br /&gt;
&lt;br /&gt;
                    [uuid] =&amp;gt; 11111111-bf88-45ac-aace-35bd76426c81&lt;br /&gt;
                    [name] =&amp;gt; test one&lt;br /&gt;
                )&lt;br /&gt;
&lt;br /&gt;
        )&lt;br /&gt;
&lt;br /&gt;
    [success] =&amp;gt; 1&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP 1 ===&lt;br /&gt;
&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_oar (multiple parameters)&lt;br /&gt;
$parameters = array('password' =&amp;gt; 'plop', 'region_name' =&amp;gt; 'test one', 'include_children' =&amp;gt; 'false');&lt;br /&gt;
$response = $myRemoteAdmin-&amp;gt;SendCommand('admin_get_agents', $parameters);&lt;br /&gt;
&lt;br /&gt;
print_r($response);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP 2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$request = xmlrpc_encode_request(&amp;quot;admin_get_agents&amp;quot;, array(&amp;quot;password&amp;quot; =&amp;gt; &amp;quot;plop&amp;quot;, &amp;quot;region_name&amp;quot; =&amp;gt; &amp;quot;test one&amp;quot;, &amp;quot;include_children&amp;quot; =&amp;gt; &amp;quot;false&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
$context = stream_context_create(array('http' =&amp;gt; array(&lt;br /&gt;
    'method' =&amp;gt; &amp;quot;POST&amp;quot;,&lt;br /&gt;
    'header' =&amp;gt; &amp;quot;Content-Type: text/xml\r\nConnection: close\r\n&amp;quot;,&lt;br /&gt;
    'content' =&amp;gt; $request&lt;br /&gt;
)));&lt;br /&gt;
&lt;br /&gt;
$fp = fopen(&amp;quot;http://localhost:5000&amp;quot;, 'rb', false, $context);&lt;br /&gt;
$file = stream_get_contents($fp);&lt;br /&gt;
fclose($fp);&lt;br /&gt;
&lt;br /&gt;
$response = xmlrpc_decode($file);&lt;br /&gt;
if ($response &amp;amp;&amp;amp; xmlrpc_is_fault($response)) {&lt;br /&gt;
    trigger_error(&amp;quot;xmlrpc: $response[faultString] ($response[faultCode])&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    print_r($response);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands]]&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Remoteadmin:admin_get_agents</id>
		<title>Remoteadmin:admin get agents</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Remoteadmin:admin_get_agents"/>
				<updated>2013-11-17T01:17:57Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: Adjusted formating to match with other commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_get_agents''' get information about agents in a given region&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_get_agents ===&lt;br /&gt;
If not all functions are enabled, use admin_get_agents to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_get_agents,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region to look for agents (or region_id below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| UUID of the region to look for agents (or region_name above)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''include_children''&lt;br /&gt;
| If true, then return information about [[Glossary#C|child agents]] as well as [[Glossary#R|root agents]].&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
===Root===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| &lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| ''regions'' || Regions for which information is returned. || See regions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Regions===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of region ||&lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of region ||&lt;br /&gt;
|-&lt;br /&gt;
| agents || Agents found in the region requested. || See agents&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Agents===&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| name || Name of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| type || Type of agent || Npc or User &lt;br /&gt;
|-&lt;br /&gt;
| id || UUID of agent ||&lt;br /&gt;
|-&lt;br /&gt;
| current_parcel_id || UUID of parcel the agent is currently over ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_x || X position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_y || Y position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| pos_z || Z position of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_x || X velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_y || Y velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| vel_z || Z velocity of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_x || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_y || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| lookat_z || X gaze direction of the agent ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_ground || true if the agent is sat on the ground ||&lt;br /&gt;
|-&lt;br /&gt;
| is_sat_on_object || true if the agent is sat on an object ||&lt;br /&gt;
|-&lt;br /&gt;
| is_flying || true if the agent is flying ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* This was introduced in git master commit 3072f25 (OpenSimulator 0.7.6 development).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Output ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
    [regions] =&amp;gt; Array&lt;br /&gt;
        (&lt;br /&gt;
            [0] =&amp;gt; Array&lt;br /&gt;
                (&lt;br /&gt;
                    [agents] =&amp;gt; Array&lt;br /&gt;
                        (&lt;br /&gt;
                            [0] =&amp;gt; Array&lt;br /&gt;
                                (&lt;br /&gt;
                                    [lookat_y] =&amp;gt; 0.04238708&lt;br /&gt;
                                    [lookat_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_sat_on_ground] =&amp;gt; False&lt;br /&gt;
                                    [type] =&amp;gt; User&lt;br /&gt;
                                    [current_parcel_uuid] =&amp;gt; fc2f2820-7181-4a9f-8cba-f73d3e14f72e&lt;br /&gt;
                                    [name] =&amp;gt; John Joe&lt;br /&gt;
                                    [uuid] =&amp;gt; bb293b8c-4986-4ab4-844a-5d22639f2d75&lt;br /&gt;
                                    [vel_y] =&amp;gt; 0&lt;br /&gt;
                                    [vel_z] =&amp;gt; 0&lt;br /&gt;
                                    [is_flying] =&amp;gt; False&lt;br /&gt;
                                    [is_sat_on_object] =&amp;gt; False&lt;br /&gt;
                                    [pos_x] =&amp;gt; 134.6547&lt;br /&gt;
                                    [pos_y] =&amp;gt; 122.7092&lt;br /&gt;
                                    [pos_z] =&amp;gt; 25.27129&lt;br /&gt;
                                    [vel_x] =&amp;gt; 0&lt;br /&gt;
                                    [lookat_x] =&amp;gt; 0.9991013&lt;br /&gt;
                                )&lt;br /&gt;
&lt;br /&gt;
                        )&lt;br /&gt;
&lt;br /&gt;
                    [uuid] =&amp;gt; 11111111-bf88-45ac-aace-35bd76426c81&lt;br /&gt;
                    [name] =&amp;gt; test one&lt;br /&gt;
                )&lt;br /&gt;
&lt;br /&gt;
        )&lt;br /&gt;
&lt;br /&gt;
    [success] =&amp;gt; 1&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here]. &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$request = xmlrpc_encode_request(&amp;quot;admin_get_agents&amp;quot;, array(&amp;quot;password&amp;quot; =&amp;gt; &amp;quot;plop&amp;quot;, &amp;quot;region_name&amp;quot; =&amp;gt; &amp;quot;test one&amp;quot;, &amp;quot;include_children&amp;quot; =&amp;gt; &amp;quot;false&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
$context = stream_context_create(array('http' =&amp;gt; array(&lt;br /&gt;
    'method' =&amp;gt; &amp;quot;POST&amp;quot;,&lt;br /&gt;
    'header' =&amp;gt; &amp;quot;Content-Type: text/xml\r\nConnection: close\r\n&amp;quot;,&lt;br /&gt;
    'content' =&amp;gt; $request&lt;br /&gt;
)));&lt;br /&gt;
&lt;br /&gt;
$fp = fopen(&amp;quot;http://localhost:5000&amp;quot;, 'rb', false, $context);&lt;br /&gt;
$file = stream_get_contents($fp);&lt;br /&gt;
fclose($fp);&lt;br /&gt;
&lt;br /&gt;
$response = xmlrpc_decode($file);&lt;br /&gt;
if ($response &amp;amp;&amp;amp; xmlrpc_is_fault($response)) {&lt;br /&gt;
    trigger_error(&amp;quot;xmlrpc: $response[faultString] ($response[faultCode])&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    print_r($response);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands]]&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap</id>
		<title>RemoteAdmin:admin save heightmap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap"/>
				<updated>2013-08-16T09:01:56Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_save_heightmap''' remotely allows to save a hight map of the regions to file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_save_heightmap ===&lt;br /&gt;
If not all functions are enabled, use admin_save_heightmap to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_save_heightmap,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region, optionaly use ''region_id''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| save height map as file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid of the region.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* ''accepted'' is an returned parameter, probably used prior to ''success''&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_heightmap (multiple parameters)&lt;br /&gt;
$parameters = array('regionid' =&amp;gt; '000000-0000-0000-0000-00000000', 'filename' =&amp;gt; 'my_terrain.raw');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_save_heightmap', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_load_heightmap</id>
		<title>RemoteAdmin:admin load heightmap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_load_heightmap"/>
				<updated>2013-08-16T09:00:54Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_load_heightmap''' remotely allows to load a hight map files to a region.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin load_heightmap ===&lt;br /&gt;
If not all functions are enabled, use admin_load_heightmap to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_load_heightmap,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region, optionaly use ''region_id''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name of terrain file&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid of the region.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
* terrain module not available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* Terrain files can also be loaded via web, were the filename is the full webadress.&lt;br /&gt;
* ''accepted'' is an returned parameter, probably used prior to ''success''&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_load_heightmap (multiple parameters)&lt;br /&gt;
$parameters = array('regionid' =&amp;gt; '000000-0000-0000-0000-00000000', 'filename' =&amp;gt; 'my_terrain.raw');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_load_heightmap', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Logging</id>
		<title>Logging</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Logging"/>
				<updated>2013-08-15T00:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Changing logging levels before startup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing logging levels before startup ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator uses the [http://logging.apache.org/log4net/ log4net] package for logging. This means that every executable you run for OpenSimulator has an accompanying .config file which contains the logging configuration&lt;br /&gt;
&lt;br /&gt;
For instance, the OpenSim.exe.config file looks like this.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;configuration&amp;gt;&lt;br /&gt;
  &amp;lt;configSections&amp;gt;&lt;br /&gt;
    &amp;lt;section name=&amp;quot;log4net&amp;quot; type=&amp;quot;log4net.Config.Log4NetConfigurationSectionHandler,log4net&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/configSections&amp;gt;&lt;br /&gt;
  &amp;lt;appSettings&amp;gt;&lt;br /&gt;
  &amp;lt;/appSettings&amp;gt;&lt;br /&gt;
  &amp;lt;log4net&amp;gt;&lt;br /&gt;
    &amp;lt;appender name=&amp;quot;Console&amp;quot; type=&amp;quot;OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%date{HH:mm:ss} - %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/appender&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;appender name=&amp;quot;LogFileAppender&amp;quot; type=&amp;quot;log4net.Appender.FileAppender&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;file value=&amp;quot;OpenSim.log&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appendToFile value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%date %-5level - %logger %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/appender&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- if you'd like to know what NHibernate is doing more set value=&amp;quot;DEBUG&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;logger name=&amp;quot;NHibernate&amp;quot; additivity=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;level value=&amp;quot;INFO&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;appender-ref ref=&amp;quot;NHibernateFileLog&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/logger&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;root&amp;gt;&lt;br /&gt;
      &amp;lt;level value=&amp;quot;DEBUG&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appender-ref ref=&amp;quot;Console&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appender-ref ref=&amp;quot;LogFileAppender&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;/log4net&amp;gt;&lt;br /&gt;
 &amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This looks rather complicated, but if you want to change the level of messages logged, then you could change the value in the &amp;lt;root&amp;gt; section (right at the end) which is &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;level value=&amp;quot;DEBUG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in the example above to something different, e.g.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;level value=&amp;quot;WARN&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which will only display warning and error level log messages. Permissible values are ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF&lt;br /&gt;
&lt;br /&gt;
You can also see from the OpenSim.exe.config file that log files are written to OpenSim.log (as well as the console).&lt;br /&gt;
&lt;br /&gt;
=== Rolling file appender and maximum log-file size ===&lt;br /&gt;
&lt;br /&gt;
Log4net provides several log-file appenders. One of them is the ''RollingFileAppender'', which limits log-file size and rotates log-files automatically. To use this appender, add the following section to the log4net-configuration:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;appender name=&amp;quot;RollingFileAppender&amp;quot; type=&amp;quot;log4net.Appender.RollingFileAppender&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;file value=&amp;quot;OpenSim.log&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;appendToFile value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;maximumFileSize value=&amp;quot;1000KB&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;maxSizeRollBackups value=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;conversionPattern value=&amp;quot;%date %-5level - %logger %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/appender&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The maximum size can be set in the ''maximumFileSize'' element, the ''maxSizeRollBackups'' element determines the maximum number of rolling log-files. So, the setting above will create a log-file named ''OpenSim.log'' with a maximum size of 1000KB. When the limit is reached, ''OpenSim.log'' will be renamed to ''OpenSim.log.1'', and a fresh ''OpenSim.log'' is started (possibly after renaming ''OpenSim.log.1'' to ''OpenSim.log.2'', should that file exist already). &lt;br /&gt;
&lt;br /&gt;
To use the appender defined above, replace the line&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LogFileAppender&amp;quot; /&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;RollingFileAppender&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further information about configuration of log4net can be found on the [http://logging.apache.org/log4net/release/manual/configuration.html Log4Net configuration page].&lt;br /&gt;
&lt;br /&gt;
=== More specialized requirements ===&lt;br /&gt;
As an example, similar to [http://opensimulator.org/mantis/view.php?id=2603 Mantis#2603], if you want logging the [[XEngine]]'s DEBUG output into a separate file ''xengine.log'', and let only the message with level INFO and higher appear on the console, you can do that by adding the following lines to your ''OpenSim.exe.config'':&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;appender name=&amp;quot;XengineLogFileAppender&amp;quot; type=&amp;quot;log4net.Appender.FileAppender&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;file value=&amp;quot;xengine.log&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appendToFile value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%date %-5level - %logger %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/appender&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;appender name=&amp;quot;XengineConsole&amp;quot; type=&amp;quot;OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%date{HH:mm:ss} - %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
      &amp;lt;filter type=&amp;quot;log4net.Filter.LevelRangeFilter&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;levelMin value=&amp;quot;INFO&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;levelMax value=&amp;quot;FATAL&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/filter&amp;gt;&lt;br /&gt;
    &amp;lt;/appender&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;logger name=&amp;quot;OpenSim.Region.ScriptEngine.XEngine.XEngine&amp;quot; additivity=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;appender-ref ref=&amp;quot;XengineLogFileAppender&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appender-ref ref=&amp;quot;XengineConsole&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/logger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(if there is a shorter way to do it, please replace those lines above) ;-)&lt;br /&gt;
&lt;br /&gt;
Or, as an easier example, if you want to have the normal logging, except for the HttpServers which you want only INFO messages for, you can add the following lines after the ''&amp;lt;/root&amp;gt;''-tag:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;logger name=&amp;quot;OpenSim.Framework.Servers.HttpServerLogWriter&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;level value=&amp;quot;INFO&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/logger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MySQL Logging ===&lt;br /&gt;
This example can be used to log the data to a MySQL table.&lt;br /&gt;
&lt;br /&gt;
Step 1: Create a MySQL Database &amp;quot;OSLog&amp;quot; and add the following table to which the data will be stored to&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `opensim_log` (&lt;br /&gt;
   `ID` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
   `DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,&lt;br /&gt;
   `Level` varchar(100) DEFAULT '',&lt;br /&gt;
   `Logger` varchar(512) DEFAULT '',&lt;br /&gt;
   `Message` varchar(1000) DEFAULT '',&lt;br /&gt;
   PRIMARY KEY (`ID`) &lt;br /&gt;
  );  &lt;br /&gt;
&lt;br /&gt;
Step 2: Replace the &amp;quot;LogFileAppender&amp;quot; appender Section with&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;MySql_ADONetAppender&amp;quot; type=&amp;quot;log4net.Appender.ADONetAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;bufferSize value=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;lossy value=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;connectionType value=&amp;quot;MySql.Data.MySqlClient.MySqlConnection, MySql.Data&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;connectionString value=&amp;quot;Server=localhost;Database=OSLog;Uid=DBUsername;Pwd=DBUserPassword&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;commandText value=&amp;quot;INSERT INTO opensim_log(Date,Level,Logger,Message) VALUES (@log_date, @log_level, @logger, @message)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;parameter&amp;gt;&lt;br /&gt;
      &amp;lt;parameterName value=&amp;quot;@log_date&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dbType value=&amp;quot;DateTime&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.RawTimeStampLayout&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/parameter&amp;gt;&lt;br /&gt;
    &amp;lt;parameter&amp;gt;&lt;br /&gt;
      &amp;lt;parameterName value=&amp;quot;@log_level&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dbType value=&amp;quot;String&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;size value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%level&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/parameter&amp;gt;&lt;br /&gt;
    &amp;lt;parameter&amp;gt;&lt;br /&gt;
      &amp;lt;parameterName value=&amp;quot;@logger&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dbType value=&amp;quot;String&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;size value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%logger&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/parameter&amp;gt;&lt;br /&gt;
    &amp;lt;parameter&amp;gt;&lt;br /&gt;
      &amp;lt;parameterName value=&amp;quot;@message&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;dbType value=&amp;quot;String&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;size value=&amp;quot;1000&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%message&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/parameter&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use the appender defined above, replace the line&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LogFileAppender&amp;quot; /&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;MySql_ADONetAppender&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: One also can continue logging to File, in which case we do not need to replace the LogFileAppender section.&lt;br /&gt;
&lt;br /&gt;
== Setting log levels during runtime ==&lt;br /&gt;
&lt;br /&gt;
It isn't currently possible to change the level of logging to the log file during runtime. However, it is possible to change the level sent to the console. You can do this by executing the&lt;br /&gt;
&lt;br /&gt;
 set log level [&amp;lt;level&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
command. For example&lt;br /&gt;
&lt;br /&gt;
 set log level error&lt;br /&gt;
&lt;br /&gt;
will mean only errors are sent to the console. The log still receives messages that meet the level set in the OpenSim.exe.config file at startup.&lt;br /&gt;
&lt;br /&gt;
Not specifying any level will tell you what the current console logging level is.&lt;br /&gt;
&lt;br /&gt;
Changes to the log level sent to the console will not persist over restarts. If you want the change to be permanent, you can set a threshold value in the ConsoleAppender in a config file such as OpenSim.exe.config as described above.&lt;br /&gt;
&lt;br /&gt;
== Specifying log file location per instance ==&lt;br /&gt;
&lt;br /&gt;
Logging for multiple instances run from a single OpenSim.exe isn't something that the default log4net configuration handles. Fortunately, log4net accepts environment variables. This allows a script wrapping OpenSim.exe to specify a log location by setting an environment variable. An example snippet for ''Opensim.exe.config'' might be:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;appender name=&amp;quot;LogFileAppender&amp;quot; type=&amp;quot;log4net.Appender.FileAppender&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;file value=&amp;quot;${OSIM_LOGPATH}\OpenSim.log&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;appendToFile value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;layout type=&amp;quot;log4net.Layout.PatternLayout&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;conversionPattern value=&amp;quot;%date %-5level - %logger %message%newline&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/layout&amp;gt;&lt;br /&gt;
    &amp;lt;/appender&amp;gt;&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals</id>
		<title>RemoteAdmin:RemoteAdmin Proposals</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals"/>
				<updated>2013-06-30T07:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* RemoteAdmin Proposal Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This is a page dedicated to OpenSim's remote administration module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Please post your Function along with a brief description of what it would be for, or do and an example of it. &lt;br /&gt;
* Make sure it begins with admin_.&lt;br /&gt;
* And remember, almost anything within reason can be posted here as an idea, who knows, maybe a variation of your request can be possible.&lt;br /&gt;
* Consider posting your proposal to [http://opensimulator.org/mantis/ Mantis] so that we can smoothly discuss about it. After that, add the link to mantis issue in the description.&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Proposal Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width:100%;border:1px solid #000000;border-collapse: collapse; white-space:normal;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF;font-size:6pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Function &lt;br /&gt;
| Description &lt;br /&gt;
| Example Usage &lt;br /&gt;
| Signed&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_teleport_all_agents&lt;br /&gt;
| Teleports all agents in a simulator or specifyed region to a region/position&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_save_iar&lt;br /&gt;
| executes the Save IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_quit_region&lt;br /&gt;
| close region without removing region from the map.&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_load_iar&lt;br /&gt;
| executes the Load IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_fcache_clear&lt;br /&gt;
| executes the fcache clear command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_get_windlight_scene&lt;br /&gt;
| get windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene&lt;br /&gt;
| set windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene_targeted &lt;br /&gt;
| set windlight settings for target agent&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_region_stats &lt;br /&gt;
| quary the region stats, similar to osGetRegionStats&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_log_level&lt;br /&gt;
| change the log level of the console, eg when problems occure&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_backup&lt;br /&gt;
| executes the backup command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_config_get&lt;br /&gt;
| executes the config get command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_export_map&lt;br /&gt;
| executes the export map command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_kill_uuid&lt;br /&gt;
| executes the kill uuid command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload</id>
		<title>RemoteAdmin:admin estate reload</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload"/>
				<updated>2013-05-09T09:54:52Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_estate_reload''' remotely allows to reload estate settings of all regions in the simulator. This can be used to update the estate settings if they have changed on another simulator or database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_estate_reload ===&lt;br /&gt;
If not all functions are enabled, use admin_estate_reload to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_estate_reload,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameter&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* From commit 90f03c on Mon 6 May 2013 (OpenSimulator 0.7.5-dev)&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_estate_reload&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_estate_reload', array());&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload</id>
		<title>RemoteAdmin:admin estate reload</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload"/>
				<updated>2013-05-09T09:54:25Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Error messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_estate_reload''' remotely allows to reload estate settings of all regions in the simulator. This can be used to update the estate settings if they have changed on another simulator or database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_estate_reload ===&lt;br /&gt;
If not all functions are enabled, use admin_estate_reload to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_estate_reload,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameter&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* From commit 90f03c on Mon 6 May 2013 (OpenSimulator 0.7.5-dev)&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_estate_reload&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_estate_reload', array());&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload</id>
		<title>RemoteAdmin:admin estate reload</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload"/>
				<updated>2013-05-09T09:53:10Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_estate_reload''' remotely allows to reload estate settings of all regions in the simulator. This can be used to update the estate settings if they have changed on another simulator or database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_estate_reload ===&lt;br /&gt;
If not all functions are enabled, use admin_estate_reload to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_estate_reload,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameter&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* From commit 90f03c on Mon 6 May 2013 (OpenSimulator 0.7.5-dev)&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_estate_reload&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_estate_reload', array());&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload</id>
		<title>RemoteAdmin:admin estate reload</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_estate_reload"/>
				<updated>2013-05-09T09:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: Created page with &amp;quot;'''admin_estate_reload''' remotely allows to reload estate settings of all regions in the simulator. This can be used to update the estate settings if they have changed on anothe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_estate_reload''' remotely allows to reload estate settings of all regions in the simulator. This can be used to update the estate settings if they have changed on another simulator or database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_estate_reload ===&lt;br /&gt;
If not all functions are enabled, use admin_estate_reload to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_estate_reload,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameter&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_estate_reload&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_estate_reload', array());&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin</id>
		<title>RemoteAdmin</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin"/>
				<updated>2013-05-09T09:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Estate management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
RemoteAdmin is an interface for simulators that allows various operations to be executed from outside the simulator.  '''Operations that relate to the simulator itself (e.g teleport user) are always available.  Those that relate to grid services (user creation and updating) are only available in standalone mode.  In grid mode, one has to use ROBUST level [[UserManipulation]] capabilities instead.'''&lt;br /&gt;
&lt;br /&gt;
== How to Setup the Remote Admin interface ==&lt;br /&gt;
&lt;br /&gt;
First you should enable the remote admin interface to do so just add the following lines to your OpenSim.ini file Port should be set to a nonzero value to have the remote admin on a different port &lt;br /&gt;
&lt;br /&gt;
As of r/16843 you can limit access to remote admin to specific IP addresses by using the optional access_ip_addresses. You can list all IP's allowed to access remote admin by seperating each IP by a comma. If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. &lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 access_password = secret&lt;br /&gt;
 enabled_methods = all&lt;br /&gt;
&lt;br /&gt;
See OpenSim.ini.example in the OpenSimulator distribution for more details.&lt;br /&gt;
&lt;br /&gt;
=== Further options ===&lt;br /&gt;
&lt;br /&gt;
You can also specify a different port for the XMLRPCAdmin command listener from the default simulator HTTP port&lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 port = &amp;lt;port-number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Commands ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ffa0a0; padding:15px&amp;quot;&amp;gt;&lt;br /&gt;
'''Caution ! All commands using parameters for the uuid of a region use &amp;quot;region_id&amp;quot; as parameter. All other parameters eg. region_uuid or regionID will be removed after June 2012'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agent management ===&lt;br /&gt;
*[[Remoteadmin:admin teleport agent|admin_teleport_agent]]&lt;br /&gt;
*[[Remoteadmin:admin get agents|admin_get_agents]] (post OpenSimulator 0.7.5)&lt;br /&gt;
&lt;br /&gt;
=== User management ===&lt;br /&gt;
*[[RemoteAdmin:admin create user|admin_create_user]] &lt;br /&gt;
*[[RemoteAdmin:admin create user email|admin_create_user_email]] &lt;br /&gt;
*[[RemoteAdmin:admin exists user|admin_exists_user]] &lt;br /&gt;
*[[RemoteAdmin:admin update user|admin_update_user]]&lt;br /&gt;
&lt;br /&gt;
=== Object management ===&lt;br /&gt;
&lt;br /&gt;
=== Parcel management ===&lt;br /&gt;
&lt;br /&gt;
=== Region management ===&lt;br /&gt;
*[[RemoteAdmin:admin broadcast|admin_broadcast]] &lt;br /&gt;
*[[RemoteAdmin:admin close region|admin_close_region]] &lt;br /&gt;
*[[RemoteAdmin:admin create region|admin_create_region]] &lt;br /&gt;
*[[RemoteAdmin:admin delete region|admin_delete_region]] &lt;br /&gt;
*[[RemoteAdmin:admin modify region|admin_modify_region]] &lt;br /&gt;
*[[RemoteAdmin:admin region query|admin_region_query]] &lt;br /&gt;
*[[RemoteAdmin:admin restart|admin_restart]] &lt;br /&gt;
*[[RemoteAdmin:admin shutdown|admin_shutdown]] &lt;br /&gt;
&lt;br /&gt;
=== Region file management ===&lt;br /&gt;
{{multicol}}&lt;br /&gt;
* [[RemoteAdmin:admin load heightmap|admin_load_heightmap]]&lt;br /&gt;
* [[RemoteAdmin:admin load oar|admin_load_oar]] &lt;br /&gt;
* [[RemoteAdmin:admin load xml|admin_load_xml]] &lt;br /&gt;
* [[RemoteAdmin:admin save heightmap|admin_save_heightmap]] &lt;br /&gt;
* [[RemoteAdmin:admin save oar|admin_save_oar]] &lt;br /&gt;
* [[RemoteAdmin:admin save xml|admin_save_xml]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Region access management ===&lt;br /&gt;
* [[RemoteAdmin:admin acl list|admin_acl_list]] &lt;br /&gt;
* [[RemoteAdmin:admin acl clear|admin_acl_clear]] &lt;br /&gt;
* [[RemoteAdmin:admin acl add|admin_acl_add]] &lt;br /&gt;
* [[RemoteAdmin:admin acl remove|admin_acl_remove]]&lt;br /&gt;
&lt;br /&gt;
=== Estate management ===&lt;br /&gt;
* [[RemoteAdmin:admin estate reload|admin_estate_reload]]&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
* [[RemoteAdmin:admin console command|admin_console_command]]&lt;br /&gt;
&lt;br /&gt;
== Subcategories ==&lt;br /&gt;
&lt;br /&gt;
* [[RemoteAdmin:RemoteAdmin Examples|RemoteAdmin Examples]] &lt;br /&gt;
* [[RemoteAdmin:RemoteAdmin Proposals|RemoteAdmin Proposals]] &lt;br /&gt;
* [[RemoteAdmin:RemoteAdmin Standards|RemoteAdmin Standards]]&lt;br /&gt;
* [[RemoteAdmin:RemoteAdmin Implement new command|RemoteAdmin How to implement new commands]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service</id>
		<title>Feature Proposals/Improve Groups Service</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service"/>
				<updated>2012-11-15T18:03:44Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* D) Groups service distributes IM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Date=&lt;br /&gt;
&lt;br /&gt;
October 2012&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
In progress&lt;br /&gt;
&lt;br /&gt;
= Proposers =&lt;br /&gt;
&lt;br /&gt;
* Michelle Argus&lt;br /&gt;
* Justin Clark-Casey (justincc)&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This may encompass many improvements to groups, but the first is to cache login information in groups to improve group IM, such that an IM isn't sent to every single user, even those offline.&lt;br /&gt;
&lt;br /&gt;
= A) Proposal - Simulator tells group service about user login/logout =&lt;br /&gt;
&lt;br /&gt;
Please see mailing-list e-mails [1], [2] and [5].  The changes for OpenSimulator and XmlRpcGroups are in [3] and [4].&lt;br /&gt;
&lt;br /&gt;
These changes send login status information and time to the groups service from the simulator.  This allows an extra 'offline' parameter to be passed to GetGroupMembers to control whether all or only online members of a group are returned.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Only a single network call (which may be cached for a period) required on each group IM.  &lt;br /&gt;
* Reasonably simple.  &lt;br /&gt;
* May allow messaging across multiple OpenSimulator installations.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Extra calls to groups service on each login/logout.  &lt;br /&gt;
* Groups service has to cache extra information.  &lt;br /&gt;
* Cached information not reuseable by other services.&lt;br /&gt;
* Accuracy of login status is dependant on groupsettings of each simulator within a grid (multiple groups possible in open grids like OSGrid).&lt;br /&gt;
&lt;br /&gt;
= Alternatives =&lt;br /&gt;
&lt;br /&gt;
== B) Simulator queries presence service on IM ==&lt;br /&gt;
&lt;br /&gt;
One alternative is for the simulator to fetch group information and then query which group members are online when an IM is sent to a group.&lt;br /&gt;
&lt;br /&gt;
'''This is current implemented as an experimental option (see status section below).'''&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Groups service doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Other services can also use the same simulator-side group users online caching, though this may not be a big factor.&lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the simulator, though this would be mitigated by short-term caching.  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* If code external to OpenSimulator wanted to know online users for a group, it would have to call Presence service (and possibly cache information) itself rather than just being able to query the groups service.&lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
&lt;br /&gt;
== C) Groups services queries presence service on members online request ==&lt;br /&gt;
&lt;br /&gt;
Similar to Alternative B, the group service requests the login status of the members from the gridservices instead of the simulator.  Like the original proposal, this requires modifications to the groups service interface to add a &amp;quot;request users online only&amp;quot; bool.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Simulator doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
* Fast data connection between grid and group server&lt;br /&gt;
* All group related services can use the login data&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the group service, though the results could be cached for a short period of time (e.g. 20 seconds).  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
&lt;br /&gt;
== D) Groups service distributes IM ==&lt;br /&gt;
&lt;br /&gt;
Instead of distributing the message itself, the simulator passes the group IM data on to the groups service.  The groups service handles message distribution to group members.&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the simulator, grid services or group service (see A, B and C).&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Central service, which makes for easier management.&lt;br /&gt;
* Only one request is sent to the group service - ''How is this a pro?  We are already sending only one request to the groups service on each IM with the other options [[User:Justincc|Justincc]] 03:14, 8 November 2012 (UTC)'' ''The Simulator request currently requests the members, then it requests online status and then it sends the IMs. We currently have atleast 3 request. If the IM is passed on, then the simulator makes only 1 request, while the IM service handles the other requests [[User:Michelle Argus|Michelle Argus]] 15 November 2012''&lt;br /&gt;
* Message sending load is removed from the simulator. &lt;br /&gt;
* The group server can be ajusted better as its sole purpose is to manage the grouprelated work ''Could you elaborate? [[User:Justincc|Justincc]] 03:15, 8 November 2012 (UTC)'' ''A Simulator has to deal with many things eg. physics, scriptengine etc and thus the server has a more general setup sothat everything works. The less funktions a simulator has to run, the better one can fine tune the server setup for each of those funktion. Same also aplies for a IM service[[User:Michelle Argus|Michelle Argus]]''&lt;br /&gt;
* Spam and illegal activity can be filtered gridwide.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Load on the group service is significantly increased as the load of group IM sending is now concentrated at the service rather than distributed among simulators.&lt;br /&gt;
* Laws governing data protection and data security could be abused by grid management.  ''Not sure this is a strong reason, as this could already be captured at simulator level.  However, privacy concerns are worth mentioning. [[User:Justincc|Justincc]] 03:17, 8 November 2012 (UTC)'' ''In open grids the grid management has no control over what module is used/modded by the simulator hoster. [[User:Justincc|Michelle Argus]] 15 November 2012''&lt;br /&gt;
* The group service requires client data to send the message to each groupmember. ''Well, this is only true if you try to start sending directly to viewers.  At the moment, messages are sent on to the simulator they occupy for forwarding.  The data would be fetched by the same mechanisms that the simulator's currently use to distribute group IMs. [[User:Justincc|Justincc]] 03:19, 8 November 2012 (UTC)'' ''In the case of D the IM service the IMs are not sent by a simulator and communication between simulator and IM service should be kept at its absolute minimum to prevent any possible lag that could be caused simulatorside, eg. slow requests [[User:Michelle Argus|Michelle Argus]] 15 November 2012''&lt;br /&gt;
&lt;br /&gt;
== E) Separate group IM relay service ==&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the grid services or group service (see B and C). The group messages can optionaly be sent by the simulator or via a &amp;quot;relay&amp;quot; service which send the message to the members. The relay service receives the group member list from the central group service. The relay service can additionaly cache data&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Multiple relay service could be in use worldwide and minimize slow requests&lt;br /&gt;
* Requests to the group service is minimized due to cache of each relay service.&lt;br /&gt;
* Hosters of multiple regions can optimize their own relay service to their needs within their datacenter&lt;br /&gt;
* The simulator does not need to send messages and saves resources on the simulator side(optional).  &lt;br /&gt;
* Each relay can offer filters for spam and illigal activity which meet local laws.&lt;br /&gt;
* POC for other services such as assets, presence, inventory, friendslist and many more.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* The relay service requires client data to send the message to each groupmember&lt;br /&gt;
* Requires trustworthy relay hoster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB: The simulator could automaticaly receive the settings of the nearest trusted relay station from the grid service on simulator startup to minimize request to the central group service.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
The alternative approach B) is present in OpenSimulator git master as of git master 1937e5f on 2012-10-20.  It can be enabled by setting &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Groups]&lt;br /&gt;
MessageOnlineUsersOnly = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in OpenSim.ini (all the other groups config params need to be set and configured correctly).  More details on the parameter are in the [Groups] section of OpenSimDefaults.ini.  This is currently considered experimental and defaults to false.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
[1] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011421.html&lt;br /&gt;
&lt;br /&gt;
[2] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011431.html&lt;br /&gt;
&lt;br /&gt;
[3] https://github.com/MAReantals/opensim&lt;br /&gt;
&lt;br /&gt;
[4] https://github.com/MAReantals/flotsam&lt;br /&gt;
&lt;br /&gt;
[5] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011434.html&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service</id>
		<title>Feature Proposals/Improve Groups Service</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service"/>
				<updated>2012-11-15T17:58:58Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* D) Groups service distributes IM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Date=&lt;br /&gt;
&lt;br /&gt;
October 2012&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
In progress&lt;br /&gt;
&lt;br /&gt;
= Proposers =&lt;br /&gt;
&lt;br /&gt;
* Michelle Argus&lt;br /&gt;
* Justin Clark-Casey (justincc)&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This may encompass many improvements to groups, but the first is to cache login information in groups to improve group IM, such that an IM isn't sent to every single user, even those offline.&lt;br /&gt;
&lt;br /&gt;
= A) Proposal - Simulator tells group service about user login/logout =&lt;br /&gt;
&lt;br /&gt;
Please see mailing-list e-mails [1], [2] and [5].  The changes for OpenSimulator and XmlRpcGroups are in [3] and [4].&lt;br /&gt;
&lt;br /&gt;
These changes send login status information and time to the groups service from the simulator.  This allows an extra 'offline' parameter to be passed to GetGroupMembers to control whether all or only online members of a group are returned.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Only a single network call (which may be cached for a period) required on each group IM.  &lt;br /&gt;
* Reasonably simple.  &lt;br /&gt;
* May allow messaging across multiple OpenSimulator installations.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Extra calls to groups service on each login/logout.  &lt;br /&gt;
* Groups service has to cache extra information.  &lt;br /&gt;
* Cached information not reuseable by other services.&lt;br /&gt;
* Accuracy of login status is dependant on groupsettings of each simulator within a grid (multiple groups possible in open grids like OSGrid).&lt;br /&gt;
&lt;br /&gt;
= Alternatives =&lt;br /&gt;
&lt;br /&gt;
== B) Simulator queries presence service on IM ==&lt;br /&gt;
&lt;br /&gt;
One alternative is for the simulator to fetch group information and then query which group members are online when an IM is sent to a group.&lt;br /&gt;
&lt;br /&gt;
'''This is current implemented as an experimental option (see status section below).'''&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Groups service doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Other services can also use the same simulator-side group users online caching, though this may not be a big factor.&lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the simulator, though this would be mitigated by short-term caching.  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* If code external to OpenSimulator wanted to know online users for a group, it would have to call Presence service (and possibly cache information) itself rather than just being able to query the groups service.&lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
&lt;br /&gt;
== C) Groups services queries presence service on members online request ==&lt;br /&gt;
&lt;br /&gt;
Similar to Alternative B, the group service requests the login status of the members from the gridservices instead of the simulator.  Like the original proposal, this requires modifications to the groups service interface to add a &amp;quot;request users online only&amp;quot; bool.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Simulator doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
* Fast data connection between grid and group server&lt;br /&gt;
* All group related services can use the login data&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the group service, though the results could be cached for a short period of time (e.g. 20 seconds).  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
&lt;br /&gt;
== D) Groups service distributes IM ==&lt;br /&gt;
&lt;br /&gt;
Instead of distributing the message itself, the simulator passes the group IM data on to the groups service.  The groups service handles message distribution to group members.&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the simulator, grid services or group service (see A, B and C).&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Central service, which makes for easier management.&lt;br /&gt;
* Only one request is sent to the group service - ''How is this a pro?  We are already sending only one request to the groups service on each IM with the other options [[User:Justincc|Justincc]] 03:14, 8 November 2012 (UTC)'' ''The Simulator request currently requests the members, then it requests online status and then it sends the IMs. We currently have atleast 3 request. If the IM is passed on, then the simulator makes only 1 request, while the IM service handles the other requests [[User:Justincc|Michelle Argus]] 15 November 2012''&lt;br /&gt;
* Message sending load is removed from the simulator. &lt;br /&gt;
* The group server can be ajusted better as its sole purpose is to manage the grouprelated work ''Could you elaborate? [[User:Justincc|Justincc]] 03:15, 8 November 2012 (UTC)'' ''A Simulator has to deal with many things eg. physics, scriptengine etc and thus the server has a more general setup sothat everything works. The less funktions a simulator has to run, the better one can fine tune the server setup for each of those funktion. Same also aplies for a IM service[[User:Justincc|Michelle Argus]]''&lt;br /&gt;
* Spam and illegal activity can be filtered gridwide.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Load on the group service is significantly increased as the load of group IM sending is now concentrated at the service rather than distributed among simulators.&lt;br /&gt;
* Laws governing data protection and data security could be abused by grid management.  ''Not sure this is a strong reason, as this could already be captured at simulator level.  However, privacy concerns are worth mentioning. [[User:Justincc|Justincc]] 03:17, 8 November 2012 (UTC)'' ''In open grids the grid management has no control over what module is used/modded by the simulator hoster. [[User:Justincc|Michelle Argus]] 15 November 2012''&lt;br /&gt;
* The group service requires client data to send the message to each groupmember. ''Well, this is only true if you try to start sending directly to viewers.  At the moment, messages are sent on to the simulator they occupy for forwarding.  The data would be fetched by the same mechanisms that the simulator's currently use to distribute group IMs. [[User:Justincc|Justincc]] 03:19, 8 November 2012 (UTC)''&lt;br /&gt;
&lt;br /&gt;
== E) Separate group IM relay service ==&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the grid services or group service (see B and C). The group messages can optionaly be sent by the simulator or via a &amp;quot;relay&amp;quot; service which send the message to the members. The relay service receives the group member list from the central group service. The relay service can additionaly cache data&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Multiple relay service could be in use worldwide and minimize slow requests&lt;br /&gt;
* Requests to the group service is minimized due to cache of each relay service.&lt;br /&gt;
* Hosters of multiple regions can optimize their own relay service to their needs within their datacenter&lt;br /&gt;
* The simulator does not need to send messages and saves resources on the simulator side(optional).  &lt;br /&gt;
* Each relay can offer filters for spam and illigal activity which meet local laws.&lt;br /&gt;
* POC for other services such as assets, presence, inventory, friendslist and many more.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* The relay service requires client data to send the message to each groupmember&lt;br /&gt;
* Requires trustworthy relay hoster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB: The simulator could automaticaly receive the settings of the nearest trusted relay station from the grid service on simulator startup to minimize request to the central group service.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
The alternative approach B) is present in OpenSimulator git master as of git master 1937e5f on 2012-10-20.  It can be enabled by setting &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Groups]&lt;br /&gt;
MessageOnlineUsersOnly = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in OpenSim.ini (all the other groups config params need to be set and configured correctly).  More details on the parameter are in the [Groups] section of OpenSimDefaults.ini.  This is currently considered experimental and defaults to false.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
[1] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011421.html&lt;br /&gt;
&lt;br /&gt;
[2] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011431.html&lt;br /&gt;
&lt;br /&gt;
[3] https://github.com/MAReantals/opensim&lt;br /&gt;
&lt;br /&gt;
[4] https://github.com/MAReantals/flotsam&lt;br /&gt;
&lt;br /&gt;
[5] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011434.html&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service</id>
		<title>Feature Proposals/Improve Groups Service</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Feature_Proposals/Improve_Groups_Service"/>
				<updated>2012-10-28T21:30:48Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Proposal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Date=&lt;br /&gt;
&lt;br /&gt;
October 2012&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
In progress&lt;br /&gt;
&lt;br /&gt;
= Proposers =&lt;br /&gt;
&lt;br /&gt;
* Michelle Argus&lt;br /&gt;
* Justin Clark-Casey (justincc)&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This may encompass many improvements to groups, but the first is to cache login information in groups to improve group IM, such that an IM isn't sent to every single user, even those offline.&lt;br /&gt;
&lt;br /&gt;
= A) Proposal =&lt;br /&gt;
&lt;br /&gt;
Please see mailing-list e-mails [1], [2] and [5].  The changes for OpenSimulator and XmlRpcGroups are in [3] and [4].&lt;br /&gt;
&lt;br /&gt;
These changes send login status information and time to the groups service from the simulator.  This allows an extra 'offline' parameter to be passed to GetGroupMembers to control whether all or only online members of a group are returned.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Only a single network call (which may be cached for a period) required on each group IM.  &lt;br /&gt;
* Reasonably simple.  &lt;br /&gt;
* May allow messaging across multiple OpenSimulator installations.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Extra calls to groups service on each login/logout.  &lt;br /&gt;
* Groups service has to cache extra information.  &lt;br /&gt;
* Cached information not reuseable by other services.&lt;br /&gt;
* Accuracy of login status is dependant on groupsettings of each simulator within a grid (multiple groups possible in open grids like OSGrid).&lt;br /&gt;
&lt;br /&gt;
== B) Alternatives ==&lt;br /&gt;
&lt;br /&gt;
One alternative is for the simulator itself to call GridUserService.LoggedIn for each member of the group on each IM.  However this has a very high overhead with large groups.  &lt;br /&gt;
&lt;br /&gt;
It may be possible to improve this by adding a new GridUserService call that accepts a list of UUIDs and only returns information for those which are logged in.  However, this would need to be called for each group IM, unless this was cached for short periods of time.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Groups service doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Other services can also use the same simulator-side group users online caching, though this may not be a big factor.&lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the simulator, though the results could be cached for a short period of time (e.g. 20 seconds).  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* If code external to OpenSimulator wanted to know online users for a group, it would have to call Presence service (and possibly cache information) itself rather than just being able to query the groups service.&lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
&lt;br /&gt;
== C) Alternatives ==&lt;br /&gt;
&lt;br /&gt;
Similar to Alternative B, the group service requests the login status of the members from the gridservices instead of the simulator. The group service could cache members login status for a short time to reduce requests made.&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Simulator doesn't need to handle online status. &lt;br /&gt;
* One source of online status truth that cannot become inconsistent with information cached in the groups service.  &lt;br /&gt;
* Groups service data can be backed up without any possible worries about inconsistent online status if it needs to be restored.&lt;br /&gt;
* Fast data connection between grid and group server&lt;br /&gt;
* All grouprelated services can use the login data&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* Every group IM still requires an extra network call to GridUser services via the group service, though the results could be cached for a short period of time (e.g. 20 seconds).  &lt;br /&gt;
* Comparatively complex.  &lt;br /&gt;
* Inconsistency between presence service and groups service online information may not be important - possibly the worst that could happen is some users do not receive group members until they relog.&lt;br /&gt;
* Other services could reuse&lt;br /&gt;
&lt;br /&gt;
== D) Alternatives ==&lt;br /&gt;
&lt;br /&gt;
4. alternative is, that the simulator only passes on the group message itself to the group server. The group server then sends the IM to all online group members.&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the simulator, grid services or group service (see A, B and C).&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Central service&lt;br /&gt;
* Only one request is sent to the group service. &lt;br /&gt;
* The simulator does not need to send messages and saves resources on the simulator side.  &lt;br /&gt;
* The group server can be ajusted better as its sole purpose is to manage the grouprelated work.&lt;br /&gt;
* Spam and illigal activity can be filtered gridwide.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* The grid management has to maintain the group server.  &lt;br /&gt;
* Laws governing data protection and data security could be abused by gridmanagement.  &lt;br /&gt;
* The group service requires client data to send the message to each groupmember&lt;br /&gt;
&lt;br /&gt;
== E) Alternatives ==&lt;br /&gt;
&lt;br /&gt;
The login status could be handled by the grid services or group service (see B and C). The group messages can optionaly be sent by the simulator or via a &amp;quot;relay&amp;quot; service which send the message to the members. The relay service receives the group member list from the central group service. The relay service can additionaly cache data&lt;br /&gt;
&lt;br /&gt;
'''PROS''': &lt;br /&gt;
&lt;br /&gt;
* Multiple relay service could be in use worldwide and minimize slow requests&lt;br /&gt;
* Requests to the group service is minimized due to cache of each relay service.&lt;br /&gt;
* Hosters of multiple regions can optimize their own relay service to their needs within their datacenter&lt;br /&gt;
* The simulator does not need to send messages and saves resources on the simulator side(optional).  &lt;br /&gt;
* Each relay can offer filters for spam and illigal activity which meet local laws.&lt;br /&gt;
* POC for other services such as assets, presence, inventory, friendslist and many more.&lt;br /&gt;
&lt;br /&gt;
'''CONS''': &lt;br /&gt;
&lt;br /&gt;
* The relay service requires client data to send the message to each groupmember&lt;br /&gt;
* Requires trustworthy relay hoster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB: The simulator could automaticaly receive the settings of the nearest trusted relay station from the grid service on simulator startup to minimize request to the central group service.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
The alternative approach is present in OpenSimulator git master as of git master 1937e5f on 2012-10-20.  It can be enabled by setting &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Groups]&lt;br /&gt;
MessageOnlineUsersOnly = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in OpenSim.ini (all the other groups config params need to be set and configured correctly).  More details on the parameter are in the [Groups] section of OpenSimDefaults.ini.  This is currently considered experimental and defaults to false.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
[1] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011421.html&lt;br /&gt;
&lt;br /&gt;
[2] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011431.html&lt;br /&gt;
&lt;br /&gt;
[3] https://github.com/MAReantals/opensim&lt;br /&gt;
&lt;br /&gt;
[4] https://github.com/MAReantals/flotsam&lt;br /&gt;
&lt;br /&gt;
[5] http://lists.berlios.de/pipermail/opensim-dev/2012-October/011434.html&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin</id>
		<title>RemoteAdmin</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin"/>
				<updated>2012-02-17T16:37:02Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* RemoteAdmin Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ {{Quicklinks}} &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Setup the Remote Admin interface ==&lt;br /&gt;
&lt;br /&gt;
First you should enable the remote admin interface to do so just add the following lines to your OpenSim.ini file Port should be set to a nonzero value to have the remote admin on a different port &lt;br /&gt;
&lt;br /&gt;
As of r/16843 you can limit access to remote admin to specific IP addresses by using the optional access_ip_addresses. You can list all IP's allowed to access remote admin by seperating each IP by a comma. If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. &lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 access_password = secret&lt;br /&gt;
 enabled_methods = all&lt;br /&gt;
&lt;br /&gt;
See OpenSim.ini.example in the OpenSim distribution for more details.&lt;br /&gt;
&lt;br /&gt;
=== Further options ===&lt;br /&gt;
&lt;br /&gt;
You can also specify a different port for the XMLRPCAdmin command listener from the default simulator HTTP port&lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 port = &amp;lt;port-number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Commands  ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ffa0a0; padding:15px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Caution ! All commands using parameters for the uuid of a region use &amp;quot;region_id&amp;quot; as parameter. All other parameters eg. region_uuid or regionID will be removed after June 2012&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agent management ===&lt;br /&gt;
*[[Remoteadmin:admin teleport agent|admin_teleport_agent]] &lt;br /&gt;
&lt;br /&gt;
=== User management ===&lt;br /&gt;
*[[RemoteAdmin:admin create user|admin_create_user]] &lt;br /&gt;
*[[RemoteAdmin:admin create user email|admin_create_user_email]] &lt;br /&gt;
*[[RemoteAdmin:admin exists user|admin_exists_user]] &lt;br /&gt;
*[[RemoteAdmin:admin update user|admin_update_user]]&lt;br /&gt;
&lt;br /&gt;
=== Object management ===&lt;br /&gt;
&lt;br /&gt;
=== Parcel management ===&lt;br /&gt;
&lt;br /&gt;
=== Region management ===&lt;br /&gt;
*[[RemoteAdmin:admin broadcast|admin_broadcast]] &lt;br /&gt;
*[[RemoteAdmin:admin close region|admin_close_region]] &lt;br /&gt;
*[[RemoteAdmin:admin create region|admin_create_region]] &lt;br /&gt;
*[[RemoteAdmin:admin delete region|admin_delete_region]] &lt;br /&gt;
*[[RemoteAdmin:admin modify region|admin_modify_region]] &lt;br /&gt;
*[[RemoteAdmin:admin region query|admin_region_query]] &lt;br /&gt;
*[[RemoteAdmin:admin restart|admin_restart]] &lt;br /&gt;
*[[RemoteAdmin:admin shutdown|admin_shutdown]] &lt;br /&gt;
&lt;br /&gt;
=== Region file management ===&lt;br /&gt;
{{multicol}}&lt;br /&gt;
*[[RemoteAdmin:admin load heightmap|admin_load_heightmap]]&lt;br /&gt;
*[[RemoteAdmin:admin load oar|admin_load_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin load xml|admin_load_xml]] &lt;br /&gt;
*[[RemoteAdmin:admin save heightmap|admin_save_heightmap]] &lt;br /&gt;
*[[RemoteAdmin:admin save oar|admin_save_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin save xml|admin_save_xml]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Region access management ===&lt;br /&gt;
*[[RemoteAdmin:admin acl list|admin_acl_list]] &lt;br /&gt;
*[[RemoteAdmin:admin acl clear|admin_acl_clear]] &lt;br /&gt;
*[[RemoteAdmin:admin acl add|admin_acl_add]] &lt;br /&gt;
*[[RemoteAdmin:admin acl remove|admin_acl_remove]]&lt;br /&gt;
&lt;br /&gt;
=== Estate management ===&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
*[[RemoteAdmin:admin console command|admin_console_command]]&lt;br /&gt;
&lt;br /&gt;
== Subcategories  ==&lt;br /&gt;
&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Examples|RemoteAdmin Examples]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Proposals|RemoteAdmin Proposals]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Standards|RemoteAdmin Standards]]&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Implement new command|RemoteAdmin How to implement new commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]][[Category:RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_acl_remove</id>
		<title>RemoteAdmin:admin acl remove</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_acl_remove"/>
				<updated>2012-02-17T16:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_acl_remove''' remotely allows to remove a list of users from the access control list &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_acl_remove ===&lt;br /&gt;
If not all functions are enabled, use admin_acl_remove to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_acl_remove,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Region name to add user, optionaly use region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''users''&lt;br /&gt;
| list of users names to be removed&lt;br /&gt;
| eg. &amp;quot;Jon Doe&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
| ''removed''&lt;br /&gt;
| number count of removed users&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_acl_remove (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'users' =&amp;gt; 'John Doe');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_acl_remove', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_acl_remove</id>
		<title>RemoteAdmin:admin acl remove</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_acl_remove"/>
				<updated>2012-02-17T16:32:30Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_acl_remove''' remotely allows to remove a list of users from the access control list &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_acl_remove ===&lt;br /&gt;
If not all functions are enabled, use admin_acl_remove to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_acl_remove,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Region name to add user, optionaly use region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''users''&lt;br /&gt;
| list of users names to be removed&lt;br /&gt;
| eg. &amp;quot;Jon Doe&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_uuid''&lt;br /&gt;
| region id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
| ''removed''&lt;br /&gt;
| number count of removed users&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_acl_remove (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'users' =&amp;gt; 'John Doe');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_acl_remove', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_acl_clear</id>
		<title>RemoteAdmin:admin acl clear</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_acl_clear"/>
				<updated>2012-02-17T16:32:15Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_acl_clear''' remotely allows to clear the access list for the region  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_acl_clear ===&lt;br /&gt;
If not all functions are enabled, use admin_acl_clear to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_acl_clear,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_acl_clear (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_acl_clear', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_acl_list</id>
		<title>RemoteAdmin:admin acl list</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_acl_list"/>
				<updated>2012-02-17T16:32:04Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_acl_list''' remotely allows to retrieve a list of users who can access the region &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_acl_list ===&lt;br /&gt;
If not all functions are enabled, use admin_acl_list to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_acl_list,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
| ''users''&lt;br /&gt;
| list of users allowed access&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_acl_list (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_acl_list', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_save_xml</id>
		<title>RemoteAdmin:admin save xml</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_save_xml"/>
				<updated>2012-02-17T16:31:42Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_save_xml''' remotely allows to execute the Save XML command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_save_xml ===&lt;br /&gt;
If not all functions are enabled, use admin_create_region to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_save_xml,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid, optional region_name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''xml_version''&lt;br /&gt;
| xml_version, default 1&lt;br /&gt;
| 1, 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
|''switched''&lt;br /&gt;
| true when region was found&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''saved''&lt;br /&gt;
| true when successfully saved xml&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_xml (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'filename' =&amp;gt; 'my_backup.xml');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_save_xml', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_save_oar</id>
		<title>RemoteAdmin:admin save oar</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_save_oar"/>
				<updated>2012-02-17T16:31:27Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_save_oar''' remotely allows to save a oar files of regions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_save_oar ===&lt;br /&gt;
If not all functions are enabled, use admin_save_oar to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_save_oar,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid, optional region_name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''noassets''&lt;br /&gt;
| save oar without objects&lt;br /&gt;
| &amp;quot;true&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''profile''&lt;br /&gt;
| add all names of creators from this world with link to profile&lt;br /&gt;
| &amp;lt;url&amp;gt; of profile service&lt;br /&gt;
|-&lt;br /&gt;
| ''perm''&lt;br /&gt;
| objects with insufficient permissions will not be saved&lt;br /&gt;
| C, T, CT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
|''saved''&lt;br /&gt;
| true when successfully saved xml&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_oar (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'filename' =&amp;gt; 'my_backup.xml');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_save_oar', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands|Server Commands]]&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap</id>
		<title>RemoteAdmin:admin save heightmap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap"/>
				<updated>2012-02-17T16:31:07Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_save_heightmap''' remotely allows to save a hight map of the regions to file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_save_heightmap ===&lt;br /&gt;
If not all functions are enabled, use admin_save_heightmap to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_save_heightmap,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| save height map as file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid (or region_name)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*''accepted'' is an returned parameter, probably used prior to ''success''&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_heightmap (multiple parameters)&lt;br /&gt;
$parameters = array('regionid' =&amp;gt; '000000-0000-0000-0000-00000000', 'filename' =&amp;gt; 'my_terrain.raw');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_save_heightmap', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap</id>
		<title>RemoteAdmin:admin save heightmap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_save_heightmap"/>
				<updated>2012-02-17T16:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Required Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_save_heightmap''' remotely allows to save a hight map of the regions to file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_save_heightmap ===&lt;br /&gt;
If not all functions are enabled, use admin_save_heightmap to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_save_heightmap,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| save height map as file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*''accepted'' is an returned parameter, probably used prior to ''success''&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_save_heightmap (multiple parameters)&lt;br /&gt;
$parameters = array('regionid' =&amp;gt; '000000-0000-0000-0000-00000000', 'filename' =&amp;gt; 'my_terrain.raw');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_save_heightmap', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_load_xml</id>
		<title>RemoteAdmin:admin load xml</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_load_xml"/>
				<updated>2012-02-17T16:29:49Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_load_xml''' remotely allows to execute the Load XML command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_load_xml ===&lt;br /&gt;
If not all functions are enabled, use admin_load_xml to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_load_xml,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''xml_version''&lt;br /&gt;
| xml_version, default 1&lt;br /&gt;
| 1, 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''loaded''&lt;br /&gt;
| true when successfully loaded file&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''switched''&lt;br /&gt;
| true when region was found&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_load_xml (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'filename' =&amp;gt; 'my_xml_backup.xml');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_load_xml', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_load_oar</id>
		<title>RemoteAdmin:admin load oar</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_load_oar"/>
				<updated>2012-02-17T16:29:33Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_load_oar''' remotely allows to load a saved OAR file into a region &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_load_oar ===&lt;br /&gt;
If not all functions are enabled, use admin_load_oar to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_load_oar,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region, optionaly region_uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid, optional region_name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''merge''&lt;br /&gt;
| merge oar with the existing region objects&lt;br /&gt;
| &amp;quot;true&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''skip-assets''&lt;br /&gt;
| skip loading assets to region objects&lt;br /&gt;
| &amp;quot;true&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''loaded''&lt;br /&gt;
| true when successfully loaded file&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_load_oar (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'filename' =&amp;gt; 'my_xml_backup.oar');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_load_oar', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSim_Archives|How to use OpenSim Archives (OAR)]]&lt;br /&gt;
* [[OAR Format 0.1 | OAR Format 0.1]]&lt;br /&gt;
* [[OAR Format 0.2 | OAR Format 0.2]]&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_load_heightmap</id>
		<title>RemoteAdmin:admin load heightmap</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_load_heightmap"/>
				<updated>2012-02-17T16:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Required Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_load_heightmap''' remotely allows to load a hight map files to a region.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin load_heightmap ===&lt;br /&gt;
If not all functions are enabled, use admin_load_heightmap to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_load_heightmap,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''filename''&lt;br /&gt;
| file name of terrain file&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*terrain module not available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*Terrain files can also be loaded via web, were the filename is the full webadress.&lt;br /&gt;
*''accepted'' is an returned parameter, probably used prior to ''success''&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_load_heightmap (multiple parameters)&lt;br /&gt;
$parameters = array('regionid' =&amp;gt; '000000-0000-0000-0000-00000000', 'filename' =&amp;gt; 'my_terrain.raw');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_load_heightmap', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_restart</id>
		<title>RemoteAdmin:admin restart</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_restart"/>
				<updated>2012-02-17T16:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Required Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_restart''' remotely allows to triggers a region to restart. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_restart ===&lt;br /&gt;
If not all functions are enabled, use admin_restart to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_restart,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid of the region&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''rebooting''&lt;br /&gt;
| true when region is restarting&lt;br /&gt;
|true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*region not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*''accepted'' is an optional returned parameter, probably used prior to ''success'' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_restart (multiple parameters)&lt;br /&gt;
$parameters = array('regionID' =&amp;gt; '000000-0000-0000-0000-00000000');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_restart', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_modify_region</id>
		<title>RemoteAdmin:admin modify region</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_modify_region"/>
				<updated>2012-02-17T16:28:08Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Returned Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_modify_region''' remotely allows to enable/disable voice and/or enable/disable public access to a region. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_modify_region ===&lt;br /&gt;
If not all functions are enabled, use admin_modify_region to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_modify_region,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''enable_voice''&lt;br /&gt;
| enable/disable voice.&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
| ''public&amp;quot;,''&lt;br /&gt;
| enable/disable public region access.&lt;br /&gt;
| true, false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| uuid of region&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*region \&amp;quot;{REGION NAME}\&amp;quot; does not exist&lt;br /&gt;
*other...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*region_id not implemented... patch in work by Michelle Argus...&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'public' =&amp;gt; true);&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_modify_region', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_delete_region</id>
		<title>RemoteAdmin:admin delete region</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_delete_region"/>
				<updated>2012-02-17T16:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Returned Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_delete_region''' remotely allows to delete regions. All region data in the database will be removed. The region will be shutdown and removed from the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_delete_region ===&lt;br /&gt;
If not all functions are enabled, use admin_delete_region to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_delete_region,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
There are no optional parameters for this function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| uuid of the region&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*region \&amp;quot;{REGION NAME}\&amp;quot; does not exist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*If you just want to shutdown a region without removing the region from the database, use admin_close_region&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_delete_region', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_region_query</id>
		<title>RemoteAdmin:admin region query</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_region_query"/>
				<updated>2012-01-15T11:11:25Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Optional Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_region_query''' remotely allows to query the &amp;quot;health&amp;quot; of a region. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_region_query ===&lt;br /&gt;
If not all functions are enabled, use admin_region_query to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_region_query,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the region, optionaly use region_uuid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_id''&lt;br /&gt;
| region uuid of the region.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''error''&lt;br /&gt;
| error message when not successfull &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''health''&lt;br /&gt;
| health data of the region&lt;br /&gt;
|integer value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
When an error occures the following error value are returned&lt;br /&gt;
&lt;br /&gt;
*failed to switch to region {REGION NAME}&lt;br /&gt;
*failed to switch to region {REGION UUID}&lt;br /&gt;
*neither region_name nor region_uuid given&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_region_query', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin</id>
		<title>RemoteAdmin</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin"/>
				<updated>2011-12-14T01:31:58Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* RemoteAdmin Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ {{Quicklinks}} &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Setup the Remote Admin interface ==&lt;br /&gt;
&lt;br /&gt;
First you should enable the remote admin interface to do so just add the following lines to your OpenSim.ini file Port should be set to a nonzero value to have the remote admin on a different port &lt;br /&gt;
&lt;br /&gt;
As of r/16843 you can limit access to remote admin to specific IP addresses by using the optional access_ip_addresses. You can list all IP's allowed to access remote admin by seperating each IP by a comma. If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. &lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 access_password = secret&lt;br /&gt;
 enabled_methods = all&lt;br /&gt;
&lt;br /&gt;
See OpenSim.ini.example in the OpenSim distribution for more details.&lt;br /&gt;
&lt;br /&gt;
=== Further options ===&lt;br /&gt;
&lt;br /&gt;
You can also specify a different port for the XMLRPCAdmin command listener from the default simulator HTTP port&lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 port = &amp;lt;port-number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Commands  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Agent management ===&lt;br /&gt;
*[[Remoteadmin:admin teleport agent|admin_teleport_agent]] &lt;br /&gt;
&lt;br /&gt;
=== User management ===&lt;br /&gt;
*[[RemoteAdmin:admin create user|admin_create_user]] &lt;br /&gt;
*[[RemoteAdmin:admin create user email|admin_create_user_email]] &lt;br /&gt;
*[[RemoteAdmin:admin exists user|admin_exists_user]] &lt;br /&gt;
*[[RemoteAdmin:admin update user|admin_update_user]]&lt;br /&gt;
&lt;br /&gt;
=== Object management ===&lt;br /&gt;
&lt;br /&gt;
=== Parcel management ===&lt;br /&gt;
&lt;br /&gt;
=== Region management ===&lt;br /&gt;
*[[RemoteAdmin:admin broadcast|admin_broadcast]] &lt;br /&gt;
*[[RemoteAdmin:admin close region|admin_close_region]] &lt;br /&gt;
*[[RemoteAdmin:admin create region|admin_create_region]] &lt;br /&gt;
*[[RemoteAdmin:admin delete region|admin_delete_region]] &lt;br /&gt;
*[[RemoteAdmin:admin modify region|admin_modify_region]] &lt;br /&gt;
*[[RemoteAdmin:admin region query|admin_region_query]] &lt;br /&gt;
*[[RemoteAdmin:admin restart|admin_restart]] &lt;br /&gt;
*[[RemoteAdmin:admin shutdown|admin_shutdown]] &lt;br /&gt;
&lt;br /&gt;
=== Region file management ===&lt;br /&gt;
{{multicol}}&lt;br /&gt;
*[[RemoteAdmin:admin load heightmap|admin_load_heightmap]]&lt;br /&gt;
*[[RemoteAdmin:admin load oar|admin_load_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin load xml|admin_load_xml]] &lt;br /&gt;
*[[RemoteAdmin:admin save heightmap|admin_save_heightmap]] &lt;br /&gt;
*[[RemoteAdmin:admin save oar|admin_save_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin save xml|admin_save_xml]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Region access management ===&lt;br /&gt;
*[[RemoteAdmin:admin acl list|admin_acl_list]] &lt;br /&gt;
*[[RemoteAdmin:admin acl clear|admin_acl_clear]] &lt;br /&gt;
*[[RemoteAdmin:admin acl add|admin_acl_add]] &lt;br /&gt;
*[[RemoteAdmin:admin acl remove|admin_acl_remove]]&lt;br /&gt;
&lt;br /&gt;
=== Estate management ===&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
*[[RemoteAdmin:admin console command|admin_console_command]]&lt;br /&gt;
&lt;br /&gt;
== Subcategories  ==&lt;br /&gt;
&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Examples|RemoteAdmin Examples]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Proposals|RemoteAdmin Proposals]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Standards|RemoteAdmin Standards]]&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Implement new command|RemoteAdmin How to implement new commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]][[Category:RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2011-12-14T01:28:04Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* common Parameters are */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
===common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
* ''object_id'' - uuid of an object&lt;br /&gt;
* ''object_name'' - name of an object&lt;br /&gt;
&lt;br /&gt;
===commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command</id>
		<title>RemoteAdmin:RemoteAdmin Implement new command</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command"/>
				<updated>2011-12-14T01:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Step 2 - Coding our new command */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
== How to implement new commands to Remote Admin ==&lt;br /&gt;
&lt;br /&gt;
When implementing a new RemoteAdmin command you need to edit /OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs &lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin_Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets assume we want to create a command that outputs a line in the console containing a message and the region uuid of a region we choose.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Adding a new Command ===&lt;br /&gt;
First we need to define our new command and make it available. In the function ''public void Initialise(OpenSimBase openSim)'' you will find a list of all implemented commands. The available commands start with ''availableMethods...''. There we add our new command, lets call it admin_output_message.&lt;br /&gt;
&lt;br /&gt;
We will now add a new availableMethods to those already listed, were admin_output_message is our command and XmlRpcOutputMessage will be the function in which our command does the work wehn called (step 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        public void Initialise(OpenSimBase openSim)&lt;br /&gt;
        {&lt;br /&gt;
        ...&lt;br /&gt;
                    //Our new command&lt;br /&gt;
                    availableMethods[&amp;quot;admin_output_message&amp;quot;] = (req, ep) =&amp;gt; InvokeXmlRpcMethod(req, ep, XmlRpcOutputMessage);&lt;br /&gt;
        ...&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Coding our new command ===&lt;br /&gt;
In Step 1 we added a new command which calls the function ''XmlRpcOutputMessage''. So our next step is to create our new function and include all the goddies our command will execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        private void XmlRpcOutputMessage(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)&lt;br /&gt;
        {&lt;br /&gt;
            //List with all parameters that will be returned&lt;br /&gt;
            Hashtable responseData = (Hashtable)response.Value;&lt;br /&gt;
            //List with all parameters received&lt;br /&gt;
            Hashtable requestData = (Hashtable)request.Params[0];&lt;br /&gt;
&lt;br /&gt;
            //Check if the parameter message was received&lt;br /&gt;
            CheckStringParameters(requestData, responseData, new string[] { &amp;quot;message&amp;quot; });&lt;br /&gt;
&lt;br /&gt;
            Scene scene = null;&lt;br /&gt;
            string error_message = String.Empty;&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = false;&lt;br /&gt;
&lt;br /&gt;
            //Check if a region with parameter region_id or region_name exist&lt;br /&gt;
            CheckRegionParamsInScene(requestData, out scene, out error_message);&lt;br /&gt;
&lt;br /&gt;
            if (scene == null)&lt;br /&gt;
            {&lt;br /&gt;
                //The region is not known, so we send a error message&lt;br /&gt;
                responseData[&amp;quot;error&amp;quot;] = error_message;&lt;br /&gt;
                throw new Exception(error_message);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // here we do all work when a region is found&lt;br /&gt;
            string message = (string) requestData[&amp;quot;message&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
            m_log.InfoFormat(&amp;quot;[RADMIN]: {0}: {1} {2}&amp;quot;, message, scene.RegionInfo.RegionName, scene.RegionInfo.RegionID);&lt;br /&gt;
&lt;br /&gt;
            // We have finished our work, lets send back some information&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = true;&lt;br /&gt;
            responseData[&amp;quot;region_name&amp;quot;] = scene.RegionInfo.RegionName;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Our new function always starts of with creating the Hashtable ''responseData'' and ''requestData''. In the ''requestData'' list we have all parameters we are recieving from our external application while ''responseData'' is the list of data we are sending back...&lt;br /&gt;
* If we have parameters that are needed and may not be empty, then one check these parameters using ''CheckStringParameters'' and ''CheckIntegerParams''. If any of the specified paramaters, in our case the string &amp;quot;message&amp;quot; is not given, then a error with exeption will be given and the rest of our code will not be executed.&lt;br /&gt;
* As we want to send region data of a given region_id or region_name we use ''CheckRegionParamsInScene''. This will output us the ''scene'' of the region if it exists. Both region_id and region_name are checked. If no region is found then scene = null and a ''error_mesage'' is returned. The error message can be used to send back as ''responseData[&amp;quot;error&amp;quot;]''&lt;br /&gt;
* As a responce we always send ''responseData[&amp;quot;success&amp;quot;]'' as true or false were true only is returned if no errors occured.&lt;br /&gt;
* If errors occure, we send the error message to our application as ''responseData[&amp;quot;error&amp;quot;]''&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command</id>
		<title>RemoteAdmin:RemoteAdmin Implement new command</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command"/>
				<updated>2011-12-11T17:37:16Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
== How to implement new commands to Remote Admin ==&lt;br /&gt;
&lt;br /&gt;
When implementing a new RemoteAdmin command you need to edit /OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs &lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin_Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets assume we want to create a command that outputs a line in the console containing a message and the region uuid of a region we choose.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Adding a new Command ===&lt;br /&gt;
First we need to define our new command and make it available. In the function ''public void Initialise(OpenSimBase openSim)'' you will find a list of all implemented commands. The available commands start with ''availableMethods...''. There we add our new command, lets call it admin_output_message.&lt;br /&gt;
&lt;br /&gt;
We will now add a new availableMethods to those already listed, were admin_output_message is our command and XmlRpcOutputMessage will be the function in which our command does the work wehn called (step 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        public void Initialise(OpenSimBase openSim)&lt;br /&gt;
        {&lt;br /&gt;
        ...&lt;br /&gt;
                    //Our new command&lt;br /&gt;
                    availableMethods[&amp;quot;admin_output_message&amp;quot;] = (req, ep) =&amp;gt; InvokeXmlRpcMethod(req, ep, XmlRpcOutputMessage);&lt;br /&gt;
        ...&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Coding our new command ===&lt;br /&gt;
In Step 1 we added a new command which calls the function ''XmlRpcOutputMessage''. So our next step is to create our new function and include all the goddies our command will execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        private void XmlRpcOutputMessage(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)&lt;br /&gt;
        {&lt;br /&gt;
            //List with all parameters that will be returned&lt;br /&gt;
            Hashtable responseData = (Hashtable)response.Value;&lt;br /&gt;
            //List with all parameters received&lt;br /&gt;
            Hashtable requestData = (Hashtable)request.Params[0];&lt;br /&gt;
&lt;br /&gt;
            //Check if the parameter message was received&lt;br /&gt;
            CheckStringParameters(requestData, responseData, new string[] { &amp;quot;message&amp;quot; });&lt;br /&gt;
&lt;br /&gt;
            Scene scene = null;&lt;br /&gt;
            string error_message = String.Empty;&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = false;&lt;br /&gt;
&lt;br /&gt;
            //Check if a region with parameter region_id or region_name exist&lt;br /&gt;
            SceneContainsRegion(requestData, out scene, out error_message);&lt;br /&gt;
&lt;br /&gt;
            if (scene == null)&lt;br /&gt;
            {&lt;br /&gt;
                //The region is not known, so we send a error message&lt;br /&gt;
                responseData[&amp;quot;error&amp;quot;] = error_message;&lt;br /&gt;
                throw new Exception(error_message);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // here we do all work when a region is found&lt;br /&gt;
            string message = (string) requestData[&amp;quot;message&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
            m_log.InfoFormat(&amp;quot;[RADMIN]: {0}: {1} {2}&amp;quot;, message, scene.RegionInfo.RegionName, scene.RegionInfo.RegionID);&lt;br /&gt;
&lt;br /&gt;
            // We have finished our work, lets send back some information&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = true;&lt;br /&gt;
            responseData[&amp;quot;region_name&amp;quot;] = scene.RegionInfo.RegionName;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Our new function always starts of with creating the Hashtable ''responseData'' and ''requestData''. In the ''requestData'' list we have all parameters we are recieving from our external application while ''responseData'' is the list of data we are sending back...&lt;br /&gt;
* If we have parameters that are needed and may not be empty, then one check these parameters using ''CheckStringParameters'' and ''CheckIntegerParameters''. If any of the specified paramaters, in our case the string &amp;quot;message&amp;quot; is not given, then a error with exeption will be given and the rest of our code will not be executed.&lt;br /&gt;
* As we want to send region data of a given region_id or region_name we use ''SceneContainsRegion''. This will output us the ''scene'' of the region if it exists. Both region_id and region_name are checked. If no region is found then scene = null and a ''error_mesage'' is returned. The error message can be used to send back as ''responseData[&amp;quot;error&amp;quot;]''&lt;br /&gt;
* As a responce we always send ''responseData[&amp;quot;success&amp;quot;]'' as true or false were true only is returned if no errors occured.&lt;br /&gt;
* If errors occure, we send the error message to our application as ''responseData[&amp;quot;error&amp;quot;]''&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command</id>
		<title>RemoteAdmin:RemoteAdmin Implement new command</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Implement_new_command"/>
				<updated>2011-12-11T17:36:14Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: Created page with &amp;quot;{{Quicklinks}} {{proposal}} {{content}}  == How to implement new commands to Remote Admin ==  When implementing a new RemoteAdmin command you need to edit /OpenSim/ApplicationPlu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
== How to implement new commands to Remote Admin ==&lt;br /&gt;
&lt;br /&gt;
When implementing a new RemoteAdmin command you need to edit /OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs &lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin_Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets assume we want to create a command that outputs a line in the console containing a message and the region uuid of a region we choose.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Adding a new Command ===&lt;br /&gt;
First we need to define our new command and make it available. In the function ''public void Initialise(OpenSimBase openSim)'' you will find a list of all implemented commands. The available commands start with ''availableMethods...''. There we add our new command, lets call it admin_output_message.&lt;br /&gt;
&lt;br /&gt;
We will now add a new availableMethods to those already listed, were admin_output_message is our command and XmlRpcOutputMessage will be the function in which our command does the work wehn called (step 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        public void Initialise(OpenSimBase openSim)&lt;br /&gt;
        {&lt;br /&gt;
        ...&lt;br /&gt;
                    //Our new command&lt;br /&gt;
                    availableMethods[&amp;quot;admin_output_message&amp;quot;] = (req, ep) =&amp;gt; InvokeXmlRpcMethod(req, ep, XmlRpcOutputMessage);&lt;br /&gt;
        ...&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Coding our new command ===&lt;br /&gt;
In Step 1 we added a new command which calls the function ''XmlRpcOutputMessage''. So our next step is to create our new function and include all the goddies our command will execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        private void XmlRpcOutputMessage(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)&lt;br /&gt;
        {&lt;br /&gt;
            //List with all parameters that will be returned&lt;br /&gt;
            Hashtable responseData = (Hashtable)response.Value;&lt;br /&gt;
            //List with all parameters received&lt;br /&gt;
            Hashtable requestData = (Hashtable)request.Params[0];&lt;br /&gt;
&lt;br /&gt;
            //Check if the parameter message was received&lt;br /&gt;
            CheckStringParameters(requestData, responseData, new string[] { &amp;quot;message&amp;quot; });&lt;br /&gt;
&lt;br /&gt;
            Scene scene = null;&lt;br /&gt;
            string error_message = String.Empty;&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = false;&lt;br /&gt;
&lt;br /&gt;
            //Check if a region with parameter region_id or region_name exist&lt;br /&gt;
            SceneContainsRegion(requestData, out scene, out error_message);&lt;br /&gt;
&lt;br /&gt;
            if (scene == null)&lt;br /&gt;
            {&lt;br /&gt;
                //The region is not known, so we send a error message&lt;br /&gt;
                responseData[&amp;quot;error&amp;quot;] = error_message;&lt;br /&gt;
                throw new Exception(error_message);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // here we do all work when a region is found&lt;br /&gt;
            string message = (string) requestData[&amp;quot;message&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
            m_log.InfoFormat(&amp;quot;[RADMIN]: {0}: {1} {2}&amp;quot;, message, scene.RegionInfo.RegionName, scene.RegionInfo.RegionID);&lt;br /&gt;
&lt;br /&gt;
            // We have finished our work, lets send back some information&lt;br /&gt;
            responseData[&amp;quot;success&amp;quot;] = true;&lt;br /&gt;
            responseData[&amp;quot;region_name&amp;quot;] = scene.RegionInfo.RegionName;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Our new function always starts of with creating the Hashtable ''responseData'' and ''requestData''. In the ''requestData'' list we have all parameters we are recieving from our external application while ''responseData'' is the list of data we are sending back...&lt;br /&gt;
* If we have parameters that are needed and may not be empty, then one check these parameters using ''CheckStringParameters'' and ''CheckIntegerParameters''. If any of the specified paramaters, in our case the string &amp;quot;message&amp;quot; is not given, then a error with exeption will be given and the rest of our code will not be executed.&lt;br /&gt;
* As we want to send region data of a given region_id or region_name we use ''SceneContainsRegion''. This will output us the ''scene'' of the region if it exists. Both region_id and region_name are checked. If no region is found then scene = null and a ''error_mesage'' is returned. The error message can be used to send back as ''responseData[&amp;quot;error&amp;quot;]''&lt;br /&gt;
* As a responce we always send ''responseData[&amp;quot;success&amp;quot;]'' as true or false were true only is returned if no errors occured.&lt;br /&gt;
* If errors occure, we send the error message to our application as ''responseData[&amp;quot;error&amp;quot;]''&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin</id>
		<title>RemoteAdmin</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin"/>
				<updated>2011-12-11T15:45:25Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ {{Quicklinks}} &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Setup the Remote Admin interface ==&lt;br /&gt;
&lt;br /&gt;
First you should enable the remote admin interface to do so just add the following lines to your OpenSim.ini file Port should be set to a nonzero value to have the remote admin on a different port &lt;br /&gt;
&lt;br /&gt;
As of r/16843 you can limit access to remote admin to specific IP addresses by using the optional access_ip_addresses. You can list all IP's allowed to access remote admin by seperating each IP by a comma. If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. &lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 access_password = secret&lt;br /&gt;
 enabled_methods = all&lt;br /&gt;
&lt;br /&gt;
See OpenSim.ini.example in the OpenSim distribution for more details.&lt;br /&gt;
&lt;br /&gt;
=== Further options ===&lt;br /&gt;
&lt;br /&gt;
You can also specify a different port for the XMLRPCAdmin command listener from the default simulator HTTP port&lt;br /&gt;
&lt;br /&gt;
 [RemoteAdmin]&lt;br /&gt;
 port = &amp;lt;port-number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Commands  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Agent management ===&lt;br /&gt;
*[[Remoteadmin:admin teleport agent|admin_teleport_agent]] &lt;br /&gt;
&lt;br /&gt;
=== User management ===&lt;br /&gt;
*[[RemoteAdmin:admin create user|admin_create_user]] &lt;br /&gt;
*[[RemoteAdmin:admin create user email|admin_create_user_email]] &lt;br /&gt;
*[[RemoteAdmin:admin exists user|admin_exists_user]] &lt;br /&gt;
*[[RemoteAdmin:admin update user|admin_update_user]]&lt;br /&gt;
&lt;br /&gt;
=== Region management ===&lt;br /&gt;
*[[RemoteAdmin:admin broadcast|admin_broadcast]] &lt;br /&gt;
*[[RemoteAdmin:admin close region|admin_close_region]] &lt;br /&gt;
*[[RemoteAdmin:admin create region|admin_create_region]] &lt;br /&gt;
*[[RemoteAdmin:admin delete region|admin_delete_region]] &lt;br /&gt;
*[[RemoteAdmin:admin modify region|admin_modify_region]] &lt;br /&gt;
*[[RemoteAdmin:admin region query|admin_region_query]] &lt;br /&gt;
*[[RemoteAdmin:admin restart|admin_restart]] &lt;br /&gt;
*[[RemoteAdmin:admin shutdown|admin_shutdown]] &lt;br /&gt;
&lt;br /&gt;
=== Region file management ===&lt;br /&gt;
{{multicol}}&lt;br /&gt;
*[[RemoteAdmin:admin load heightmap|admin_load_heightmap]]&lt;br /&gt;
*[[RemoteAdmin:admin load oar|admin_load_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin load xml|admin_load_xml]] &lt;br /&gt;
*[[RemoteAdmin:admin save heightmap|admin_save_heightmap]] &lt;br /&gt;
*[[RemoteAdmin:admin save oar|admin_save_oar]] &lt;br /&gt;
*[[RemoteAdmin:admin save xml|admin_save_xml]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Region access management ===&lt;br /&gt;
*[[RemoteAdmin:admin acl list|admin_acl_list]] &lt;br /&gt;
*[[RemoteAdmin:admin acl clear|admin_acl_clear]] &lt;br /&gt;
*[[RemoteAdmin:admin acl add|admin_acl_add]] &lt;br /&gt;
*[[RemoteAdmin:admin acl remove|admin_acl_remove]]&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
*[[RemoteAdmin:admin console command|admin_console_command]]&lt;br /&gt;
&lt;br /&gt;
== Subcategories  ==&lt;br /&gt;
&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Examples|RemoteAdmin Examples]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Proposals|RemoteAdmin Proposals]] &lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Standards|RemoteAdmin Standards]]&lt;br /&gt;
*[[RemoteAdmin:RemoteAdmin Implement new command|RemoteAdmin How to implement new commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]][[Category:RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals</id>
		<title>RemoteAdmin:RemoteAdmin Proposals</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals"/>
				<updated>2011-12-11T13:37:43Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* RemoteAdmin Proposal Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This is a page dedicated to OpenSim's remote administration module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin_Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Please post your Function along with a brief description of what it would be for, or do and an example of it. &lt;br /&gt;
* Make sure it begins with admin_.&lt;br /&gt;
* And remember, almost anything within reason can be posted here as an idea, who knows, maybe a variation of your request can be possible.&lt;br /&gt;
* Consider posting your proposal to [http://opensimulator.org/mantis/ Mantis] so that we can smoothly discuss about it. After that, add the link to mantis issue in the description.&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Proposal Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width:100%;border:1px solid #000000;border-collapse: collapse; white-space:normal;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF;font-size:6pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Function &lt;br /&gt;
| Description &lt;br /&gt;
| Example Usage &lt;br /&gt;
| Signed&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_teleport_all_agents&lt;br /&gt;
| Teleports all agents in a simulator or specifyed region to a region/position&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_save_iar&lt;br /&gt;
| executes the Save IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_quit_region&lt;br /&gt;
| close region without removing region from the map.&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_load_iar&lt;br /&gt;
| executes the Load IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_fcache_clear&lt;br /&gt;
| executes the fcache clear command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_get_windlight_scene&lt;br /&gt;
| get windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene&lt;br /&gt;
| set windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene_targeted &lt;br /&gt;
| set windlight settings for target agent&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_region_stats &lt;br /&gt;
| quary the region stats, similar to osGetRegionStats&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_log_level&lt;br /&gt;
| change the log level of the console, eg when problems occure&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_backup&lt;br /&gt;
| executes the backup command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_config_get&lt;br /&gt;
| executes the config get command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_export_map&lt;br /&gt;
| executes the export map command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_kill_uuid&lt;br /&gt;
| executes the kill uuid command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_reload_estate&lt;br /&gt;
| executes the reload estate command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals</id>
		<title>RemoteAdmin:RemoteAdmin Proposals</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Proposals"/>
				<updated>2011-12-11T13:36:37Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* RemoteAdmin Proposal Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
{{proposal}}&lt;br /&gt;
{{content}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This is a page dedicated to OpenSim's remote administration module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Please see [[RemoteAdmin:RemoteAdmin_Standards|RemoteAdmin Standards]] for proposed naming schema'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Please post your Function along with a brief description of what it would be for, or do and an example of it. &lt;br /&gt;
* Make sure it begins with admin_.&lt;br /&gt;
* And remember, almost anything within reason can be posted here as an idea, who knows, maybe a variation of your request can be possible.&lt;br /&gt;
* Consider posting your proposal to [http://opensimulator.org/mantis/ Mantis] so that we can smoothly discuss about it. After that, add the link to mantis issue in the description.&lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin Proposal Table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width:100%;border:1px solid #000000;border-collapse: collapse; white-space:normal;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#99CCFF;font-size:6pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Function &lt;br /&gt;
| Description &lt;br /&gt;
| Example Usage &lt;br /&gt;
| Signed&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_teleport_all_agents&lt;br /&gt;
| Teleports all agents in a simulator or specifyed region to a region/position&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_save_iar&lt;br /&gt;
| executes the Save IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_quit_region&lt;br /&gt;
| close region without removing region from the map.&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_load_iar&lt;br /&gt;
| executes the Load IAR command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_fcache_clear&lt;br /&gt;
| executes the fcache clear command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_get_windlight_scene&lt;br /&gt;
| get windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene&lt;br /&gt;
| set windlight settings&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_windlight_scene_targeted &lt;br /&gt;
| set windlight settings for target agent&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_region_stats &lt;br /&gt;
| quary the region stats, similar to osGetRegionStats&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_set_log_level&lt;br /&gt;
| change the log level of the console, eg when problems occure&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_backup&lt;br /&gt;
| executes the backup command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_config_get&lt;br /&gt;
| executes the config get command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_export_map&lt;br /&gt;
| executes the export map command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_kill_uuid&lt;br /&gt;
| executes the kill uuid command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|- style=&amp;quot;font-size:8pt;border-bottom:1px solid;&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| admin_reload_estate&lt;br /&gt;
| executes the reload estate command&lt;br /&gt;
| &lt;br /&gt;
| Michelle Argus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| Michelle Argus&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_teleport_agent</id>
		<title>RemoteAdmin:admin teleport agent</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_teleport_agent"/>
				<updated>2011-12-11T13:28:36Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Example in Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_teleport_agent''' remotely teleport an agent to a given region and/or position &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_teleport_agent ===&lt;br /&gt;
If not all functions are enabled, use admin_create_teleport_agent to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_teleport_agent,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''region_name''&lt;br /&gt;
| Name of the new region&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_id''&lt;br /&gt;
| agent uuid, optionaly agent_first_name and agent_last_name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_first_name''&lt;br /&gt;
| first name of agent&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''agent_last_name''&lt;br /&gt;
| last name of agent&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_x''&lt;br /&gt;
| teleport to region position x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_y''&lt;br /&gt;
| teleport to region position y&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''pos_z''&lt;br /&gt;
| teleport to region position z&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_x''&lt;br /&gt;
| look in direction x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_y''&lt;br /&gt;
| look in direction y&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''lookat_z''&lt;br /&gt;
| look in direction z&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| &lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* From commit 415b7b7 on Wed 7 Dec 2011 (OpenSim 0.7.3-dev)&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_teleport_agent (multiple parameters)&lt;br /&gt;
$parameters = array('region_name' =&amp;gt; 'My Plaza', 'user_firstname' =&amp;gt; 'John', 'user_lastname' =&amp;gt; 'Doe', 'pos_x' =&amp;gt; '15', 'pos_y' =&amp;gt; '10');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_teleport_agent', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Python  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python &lt;br /&gt;
import xmlrpclib &lt;br /&gt;
 &lt;br /&gt;
# XML-RPC URL (http_listener_port) &lt;br /&gt;
simulatorURL = &amp;quot;http://127.0.0.1:5000&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# instantiate server object &lt;br /&gt;
simulator = xmlrpclib.Server(simulatorURL) &lt;br /&gt;
 &lt;br /&gt;
# invoke admin_alert: requires password and message &lt;br /&gt;
simulator.admin_teleport_agent({'password':'secret', 'agent_first_name':'John','agent_last_name':'Doe','region_name':'My Plaza', 'pos_x':'15', 'pos_y':'10'})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Examples</id>
		<title>RemoteAdmin:RemoteAdmin Examples</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Examples"/>
				<updated>2011-12-10T18:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: /* Credits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below are a view Examples on how to send commands from a remote enviroment.&lt;br /&gt;
== C# .NET  ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1 - &amp;quot;admin_create_user&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This example needs the Nwc.XmlRpc library, located in your OpenSim bin folder. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
public void CreateUser(Uri url, string adminPassword, string firstName, string lastName, string password, string email, int regionX, int regionY)&lt;br /&gt;
{&lt;br /&gt;
 var address = Dns.GetHostEntry(url.DnsSafeHost).AddressList[0];&lt;br /&gt;
 var ht = new Hashtable();&lt;br /&gt;
 ht[&amp;quot;password&amp;quot;] = adminPassword;&lt;br /&gt;
 ht[&amp;quot;user_firstname&amp;quot;] = firstName;&lt;br /&gt;
 ht[&amp;quot;user_lastname&amp;quot;] = lastName;&lt;br /&gt;
 ht[&amp;quot;user_password&amp;quot;] = password;&lt;br /&gt;
 ht[&amp;quot;user_email&amp;quot;] = email;&lt;br /&gt;
 ht[&amp;quot;start_region_x&amp;quot;] = regionX;&lt;br /&gt;
 ht[&amp;quot;start_region_y&amp;quot;] = regionY;&lt;br /&gt;
 var parameters = new List&amp;lt;Hashtable&amp;gt; { ht };&lt;br /&gt;
 var rpc = new XmlRpcRequest(&amp;quot;admin_create_user&amp;quot;, parameters);&lt;br /&gt;
 rpc.Invoke(url.ToString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void NativeUserRegistrationTest()&lt;br /&gt;
{&lt;br /&gt;
 CreateUser(new Uri(&amp;quot;http://yourgrid.com:9000/&amp;quot;), &amp;quot;secret&amp;quot;, &amp;quot;Test2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;apassword&amp;quot;, &amp;quot;email@address.com&amp;quot;, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Example 2 - &amp;quot;admin_create_user&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
//Author Ottalese complements of yoursimspot.com &lt;br /&gt;
//This example needs the CookComputing.XmlRpc library, this can be downloaded from http://www.xml-rpc.net/. &lt;br /&gt;
//Recently updated code I originally posted, this can be secured using SSL. &lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Security;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.WebControls.WebParts;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
using CookComputing.XmlRpc;&lt;br /&gt;
&lt;br /&gt;
[XmlRpcUrl(&amp;quot;http://ServerIpAddress:9000/&amp;quot;)]&lt;br /&gt;
 public interface RemoteOpensim&amp;amp;nbsp;: IXmlRpcProxy&lt;br /&gt;
 {&lt;br /&gt;
 //Create new user&lt;br /&gt;
 [XmlRpcMethod(&amp;quot;admin_create_user&amp;quot;)]&lt;br /&gt;
 XmlRpcStruct admin_create_user(XmlRpcStruct Parameters);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 public partial class _Default&amp;amp;nbsp;: System.Web.UI.Page&lt;br /&gt;
 {&lt;br /&gt;
 protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 protected void SubmitButton_Click(object sender, EventArgs e)&lt;br /&gt;
 {&lt;br /&gt;
 XmlRpcStruct NewUser = new XmlRpcStruct(); //Will contain return results.&lt;br /&gt;
 XmlRpcStruct Parameters = new XmlRpcStruct();//Parameters passed.&lt;br /&gt;
 try&lt;br /&gt;
 {&lt;br /&gt;
 RemoteOpensim Admin = XmlRpcProxyGen.Create&amp;amp;lt;RemoteOpensim&amp;amp;gt;();&lt;br /&gt;
&lt;br /&gt;
 Parameters.Add(&amp;quot;password&amp;quot;, &amp;quot;RemotePassword&amp;quot;); //Password you set in the .ini file for the RemoteAdmin&lt;br /&gt;
 Parameters.Add(&amp;quot;user_firstname&amp;quot;, SomeStringWithFirstName);&lt;br /&gt;
 Parameters.Add(&amp;quot;user_lastname&amp;quot;, SomeStringWithLastName);&lt;br /&gt;
 Parameters.Add(&amp;quot;user_password&amp;quot;, SomePassword);&lt;br /&gt;
 Parameters.Add(&amp;quot;start_region_x&amp;quot;, 0);&lt;br /&gt;
 Parameters.Add(&amp;quot;start_region_y&amp;quot;, 0);&lt;br /&gt;
 NewUser = Admin.admin_create_user(Parameters); &lt;br /&gt;
&lt;br /&gt;
 foreach (DictionaryEntry ReturnResults in NewUser)&lt;br /&gt;
 {&lt;br /&gt;
 Response.Write(ReturnResults.Key.ToString() + &amp;quot;&amp;amp;nbsp;: &amp;quot; + d.Value.ToString());//Returns if the user was added or not&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 catch (Exception ex)&lt;br /&gt;
 {&lt;br /&gt;
 Response.Write(ex.Message); &lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Python  ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1 - admin_broadcast ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Author : DrScofield &lt;br /&gt;
# Source : http://xyzzyxyzzy.net/2008/01/23/using-pythons-xmlrpclib-with-opensim/&lt;br /&gt;
# License : BSD License&lt;br /&gt;
 &lt;br /&gt;
#!/usr/bin/python &lt;br /&gt;
import xmlrpclib &lt;br /&gt;
 &lt;br /&gt;
# XML-RPC URL (http_listener_port) &lt;br /&gt;
simulatorUrl = &amp;quot;http://127.0.0.1:9000&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# instantiate server object &lt;br /&gt;
simulator = xmlrpclib.Server(simulatorUrl) &lt;br /&gt;
 &lt;br /&gt;
# invoke admin_alert: requires password and message &lt;br /&gt;
simulator.admin_broadcast({'password': 'secret', 'message': 'the answer is 42'})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XML-RPC string ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1 - &amp;quot;create user&amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
(used with&amp;amp;nbsp;first C#.NET method above) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
POST admin_create_user HTTP/1.0&amp;lt;br&amp;gt;Host: http://10.0.0.12:16384/&amp;lt;br&amp;gt;Content-type: text/xml&amp;lt;br&amp;gt;Content-Length: 993 &lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;lt;methodCall&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;methodName&amp;amp;gt;admin_create_user&amp;amp;lt;/methodName&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;params&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;param&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;struct&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;name&amp;amp;gt;password&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;password&amp;amp;lt;/string&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;name&amp;amp;gt;user_firstname&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;male&amp;amp;lt;/string&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt; &amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;name&amp;amp;gt;user_lastname&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;9999&amp;amp;lt;/string&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;name&amp;amp;gt;user_password&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;password&amp;amp;lt;/string&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;name&amp;amp;gt;user_email&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;none@email.com&amp;amp;lt;/string&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;name&amp;amp;gt;start_region_x&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;int&amp;amp;gt;128&amp;amp;lt;/int&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;name&amp;amp;gt;start_region_y&amp;amp;lt;/name&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;value&amp;amp;gt;&amp;amp;lt;int&amp;amp;gt;128&amp;amp;lt;/int&amp;amp;gt;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;lt;/member&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;/struct&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;/value&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;/param&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;/params&amp;amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;lt;/methodCall&amp;amp;gt; &lt;br /&gt;
&lt;br /&gt;
== RemoteAdmin executable for Windows  ==&lt;br /&gt;
&lt;br /&gt;
The RemoteAdmin executable for Windows is a command line tool based on the RemoteAdmin PHP Class. &lt;br /&gt;
&lt;br /&gt;
Downloads and documentation on the [http://lab.newworldgrid.com/index.php/RemoteAdmin_Executable RemoteAdmin Executable webpage] &lt;br /&gt;
&lt;br /&gt;
== PHP  ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass here]. &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Author : Olish Newman&lt;br /&gt;
// Source : http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass&lt;br /&gt;
// Licence : BSD License&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class. It can be downloaded from the link above.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_broadcast&lt;br /&gt;
$parameters = array('message' =&amp;gt; 'the answer is 42');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_broadcast', $parameters);&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_shutdown (example for use without parameters)&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_shutdown');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('user_firstname' =&amp;gt; 'Ruth', 'user_lastname' =&amp;gt; 'OpenSim', 'user_password' =&amp;gt; 'MyPassword', 'start_region_x' =&amp;gt; '1000', 'start_region_y' =&amp;gt; '1000');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_create_user', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Note: This script does not appear to work for create user because it tries to pass the start region x and y as a string when the RemoteAdmin needs a string. The class needs to be edited to pass it as a number or edit the remoteadmin source to convert the string to a unsigned int. &lt;br /&gt;
&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
&lt;br /&gt;
Another example in PHP5, using CURL. &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//This is the slightly modified RPC-class of the BSD-licensed WiXTD webportal&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class RemotePC {&lt;br /&gt;
&lt;br /&gt;
 function __construct() {&lt;br /&gt;
 $this-&amp;gt;serveruri = &amp;quot;http://myhost&amp;quot;;&lt;br /&gt;
 $this-&amp;gt;serverport =&amp;quot;9000&amp;quot;;&lt;br /&gt;
 $this-&amp;gt;password =&amp;quot;foobar&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function call($command,$parameters) {&lt;br /&gt;
 $parameters['password'] = $this-&amp;gt;password;&lt;br /&gt;
 $request = xmlrpc_encode_request($command, $parameters);&lt;br /&gt;
 $ch = curl_init();&lt;br /&gt;
 curl_setopt( $ch, CURLOPT_URL, $this-&amp;gt;serveruri);&lt;br /&gt;
 curl_setopt( $ch, CURLOPT_PORT, $this-&amp;gt;serverport]); &lt;br /&gt;
 curl_setopt($ch, CURLOPT_POST, 1);&lt;br /&gt;
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1);&lt;br /&gt;
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $request);&lt;br /&gt;
 curl_setopt ( $ch, CURLOPT_TIMEOUT, 5); &lt;br /&gt;
 $result = curl_exec($ch);&lt;br /&gt;
 curl_close($ch); &lt;br /&gt;
 return xmlrpc_decode($result);&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Perl  ==&lt;br /&gt;
&lt;br /&gt;
Because the OpenSim internal web server just accepts HTTP/1.0 requests, it's worth to give a perl example. It's not a daily thing to do HTTP/1.0 within the LWP environment. You can get the '''[[Users:Thomax:perl-xmlrpc|Perl example here]]'''. &lt;br /&gt;
&lt;br /&gt;
=== Credits  ===&lt;br /&gt;
&lt;br /&gt;
Thanks to DrScofield for the Python Script Sources&amp;amp;nbsp;: http://xyzzyxyzzy.net/2008/01/23/using-pythons-xmlrpclib-with-opensim/ &lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2011-12-10T18:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
===common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
&lt;br /&gt;
===commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2011-12-10T17:59:50Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
===common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
&lt;br /&gt;
===commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[[RemoteAdmin]]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2011-12-10T17:58:21Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
===common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
&lt;br /&gt;
===commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[[[RemoteAdmin]]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards</id>
		<title>RemoteAdmin:RemoteAdmin Standards</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:RemoteAdmin_Standards"/>
				<updated>2011-12-10T17:56:13Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
POLICY PROPOSAL:&lt;br /&gt;
This document is a proposal for naming standards and is not yet active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Base Syntax: admin_Category_Function&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
Function and parameter names should use US English spelling. &amp;lt;!-- Why? What's the rationale behind this? Please explain. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function should be clearly named &amp;amp; indicative of purpose&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Parameters should be clearly named &amp;amp; use a common syntax&lt;br /&gt;
&lt;br /&gt;
Eg.&lt;br /&gt;
use ''region_id'' and NOT region_uuid, region_ID or any other variation&lt;br /&gt;
&lt;br /&gt;
===common Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''region_id'' - uuid of a region&lt;br /&gt;
* ''region_name'' - name of a region&lt;br /&gt;
* ''filename'' - name and location of a file eg. &amp;quot;c:/bin/my_backup.oar&amp;quot;, &amp;quot;my_backup.oar&amp;quot;, &amp;quot;http://www.foo.bar/my_backup.oar&amp;quot;&lt;br /&gt;
* ''agent_first_name'', ''agent_last_name'' - name of avatar&lt;br /&gt;
* ''agent_id'' - uuid of an avatar&lt;br /&gt;
&lt;br /&gt;
===commonly returned Parameters are ===&lt;br /&gt;
Note: The following paramenters are NOT standard in older commands!&lt;br /&gt;
&lt;br /&gt;
* ''success'' - returns true/false when a function is executed&lt;br /&gt;
* ''error'' - returns the error message when an error occures&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_create_user</id>
		<title>RemoteAdmin:admin create user</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_create_user"/>
				<updated>2011-12-10T17:47:30Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_create_user''' remotely allows to create a new user&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_create_user ===&lt;br /&gt;
If not all functions are enabled, use admin_create_user to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_create_user,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''user_firstname''&lt;br /&gt;
| first name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''user_lastname''&lt;br /&gt;
| last name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''user_password''&lt;br /&gt;
| password of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''start_region_x''&lt;br /&gt;
| start region x position in grid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''start_region_y''&lt;br /&gt;
| start region y position in grid&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''user_email''&lt;br /&gt;
| email adress of user&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''avatar_uuid''&lt;br /&gt;
| new avatar uuid, zero uuid when error occured&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
''avatar_uuid'' returnes zero uuid when an error occures&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*This function is only available to Robust&lt;br /&gt;
*This function is the same Identical to admin_create_user_email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== C# .NET  ===&lt;br /&gt;
&lt;br /&gt;
This example needs the Nwc.XmlRpc library, located in your OpenSim bin folder. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
public void CreateUser(Uri url, string adminPassword, string firstName, string lastName, string password, string email, int regionX, int regionY)&lt;br /&gt;
{&lt;br /&gt;
 var address = Dns.GetHostEntry(url.DnsSafeHost).AddressList[0];&lt;br /&gt;
 var ht = new Hashtable();&lt;br /&gt;
 ht[&amp;quot;password&amp;quot;] = adminPassword;&lt;br /&gt;
 ht[&amp;quot;user_firstname&amp;quot;] = firstName;&lt;br /&gt;
 ht[&amp;quot;user_lastname&amp;quot;] = lastName;&lt;br /&gt;
 ht[&amp;quot;user_password&amp;quot;] = password;&lt;br /&gt;
 ht[&amp;quot;user_email&amp;quot;] = email;&lt;br /&gt;
 ht[&amp;quot;start_region_x&amp;quot;] = regionX;&lt;br /&gt;
 ht[&amp;quot;start_region_y&amp;quot;] = regionY;&lt;br /&gt;
 var parameters = new List&amp;lt;Hashtable&amp;gt; { ht };&lt;br /&gt;
 var rpc = new XmlRpcRequest(&amp;quot;admin_create_user&amp;quot;, parameters);&lt;br /&gt;
 rpc.Invoke(url.ToString());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[Test]&lt;br /&gt;
public void NativeUserRegistrationTest()&lt;br /&gt;
{&lt;br /&gt;
 CreateUser(new Uri(&amp;quot;http://yourgrid.com:9000/&amp;quot;), &amp;quot;secret&amp;quot;, &amp;quot;Test2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;apassword&amp;quot;, &amp;quot;email@address.com&amp;quot;, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('user_firstname' =&amp;gt; 'John', 'user_lastname' =&amp;gt; 'Doe', 'user_password' =&amp;gt; 'secret', 'start_region_x' =&amp;gt; 10000, 'start_region_y' =&amp;gt; 10000);&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_create_user', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_create_user_email</id>
		<title>RemoteAdmin:admin create user email</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_create_user_email"/>
				<updated>2011-12-10T17:46:55Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_create_user_email''' remotely allows to create a new user (alias for [[Remoteadmin:admin create user|admin_create_user]])&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_exists_user</id>
		<title>RemoteAdmin:admin exists user</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_exists_user"/>
				<updated>2011-12-10T17:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_exists_user''' remotely allows to check if a certain user account exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_exists_user ===&lt;br /&gt;
If not all functions are enabled, use admin_exists_user to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_exists_user,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''user_firstname''&lt;br /&gt;
| first name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''user_lastname''&lt;br /&gt;
| last name of user&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
No optional parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
| ''user_firstname''&lt;br /&gt;
| first name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''user_lastname''&lt;br /&gt;
| last name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|''lastlogin''&lt;br /&gt;
| timestamp of last user login &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
No error messages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_exists_user (multiple parameters)&lt;br /&gt;
$parameters = array('user_firstname' =&amp;gt; 'John', 'user_lastname' =&amp;gt; 'Doe');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_exists_user', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_update_user</id>
		<title>RemoteAdmin:admin update user</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_update_user"/>
				<updated>2011-12-10T17:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Michelle Argus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_update_user''' remotely allows to update the password and start region of users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_update_user ===&lt;br /&gt;
If not all functions are enabled, use admin_update_user to enable the function in the [RemoteAdmin] section&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
enabled_methods = admin_update_user,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
These parameters are required&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''user_firstname''&lt;br /&gt;
| first name of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''user_lastname''&lt;br /&gt;
| last name of user&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional Parameters ===&lt;br /&gt;
These parameters are optional and do not need to be set&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''user_password''&lt;br /&gt;
| password of user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''start_region_x''&lt;br /&gt;
| start region x position in grid, ''start_region_y'' required&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''start_region_y''&lt;br /&gt;
| start region y position in grid, ''start_region_x'' required&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Returned Parameters ==&lt;br /&gt;
=== Returned Parameters ===&lt;br /&gt;
These parameters are returned by Remote Admin&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! parameter&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true, false&lt;br /&gt;
|-&lt;br /&gt;
|''avatar_uuid''&lt;br /&gt;
| new avatar uuid, zero uuid when error occured&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
''avatar_uuid'' returnes zero uuid when an error occures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*This function is only available to Robust &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Including the RemoteAdmin PHP class.&lt;br /&gt;
include('RemoteAdmin.php');&lt;br /&gt;
&lt;br /&gt;
// Instantiate the class with parameters identical to the Python example above&lt;br /&gt;
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');&lt;br /&gt;
&lt;br /&gt;
// Invoke admin_update_user (multiple parameters)&lt;br /&gt;
$parameters = array('user_firstname' =&amp;gt; 'John', 'user_lastname' =&amp;gt; 'Doe', 'user_password' =&amp;gt; 'secret');&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_update_user', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[RemoteAdmin]]&lt;br /&gt;
[[RemoteAdmin:Commands]]&lt;/div&gt;</summary>
		<author><name>Michelle Argus</name></author>	</entry>

	</feed>