RemoteAdmin

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (RemoteAdmin Commands)
m (RemoteAdmin Commands)
Line 176: Line 176:
 
<td>[[remoteadmin:admin_save_xml| admin_save_xml]]</td>
 
<td>[[remoteadmin:admin_save_xml| admin_save_xml]]</td>
 
<td></td>
 
<td></td>
<td>Load a saved XML file into a region</td>
+
<td>Execute the Save XML command</td>
 
         <td>filename region_uuid (or region_name)</td>
 
         <td>filename region_uuid (or region_name)</td>
 
</tr>
 
</tr>

Revision as of 12:22, 19 October 2008

Caution ! The RemoteAdmin feature is unsecured at this time. For testing uses only.

Contents

 [hide

How to Setup the Remote Admin

Setup OpenSim

First you should enable the remote admin interface to do so just add the following lines to your OpenSim.ini file:

[RemoteAdmin]
enabled = true
access_password = secret

Example in Python

# Author  : DrScofield 
# Source  : http://xyzzyxyzzy.net/2008/01/23/using-pythons-xmlrpclib-with-opensim/
# License : BSD License

#!/usr/bin/python  
import xmlrpclib  
  
# XML-RPC URL (http_listener_port)  
gridServerURL = ‘http://127.0.0.1:9000′  
   
# instantiate server object  
gridServer = xmlrpclib.Server(gridServerURL)  
  
# invoke admin_alert: requires password and message  
gridServer.admin_broadcast({’password’: ’secret’,   ‘message’: ‘the answer is 42′})

RemoteAdmin executable for Windows

The RemoteAdmin executable for Windows is a command line tool based on the RemoteAdmin PHP Class.

Downloads and documentation on the RemoteAdmin Executable webpage

Example in PHP

This example needs the RemoteAdmin PHP Class file available here.

<?php
 
// Author  : Olish Newman
// Source  : http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass
// Licence : BSD License
 
// Including the RemoteAdmin PHP class. It can be downloaded from the link above.
include('RemoteAdmin.php');
 
// Instantiate the class with parameters identical to the Python example above
$myRemoteAdmin = new RemoteAdmin('127.0.0.1', 9000, 'secret');
 
// Invoke admin_broadcast
$parameters = array('message' => 'the answer is 42');
$myRemoteAdmin->SendCommand('admin_broadcast', $parameters);
 
// Invoke admin_shutdown (example for use without parameters)
$myRemoteAdmin->SendCommand('admin_shutdown');
 
// Invoke admin_create_user (multiple parameters)
$parameters = array('user_firstname' => 'Ruth', 'user_lastname' => 'OpenSim', 'user_password' => 'MyPassword', 'start_region_x' => '1000', 'start_region_y' => '1000');
$myRemoteAdmin->SendCommand('admin_create_user', $parameters);
?>

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.

Another example in PHP5, using CURL.

//This is the slightly modified RPC-class of the BSD-licensed WiXTD webportal
<?php
class RemotePC {
 
	function __construct() {
        $this->serveruri = "http://myhost";
        $this->serverport ="9000";
        $this->password ="foobar";
	}
 
	function call($command,$parameters) {
        $parameters['password'] = $this->password;
	$request = xmlrpc_encode_request($command, $parameters);
	$ch = curl_init();
	curl_setopt( $ch, CURLOPT_URL, $this->serveruri);
	curl_setopt( $ch, CURLOPT_PORT, $this->serverport]);	
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt ( $ch, CURLOPT_POSTFIELDS, $request);
	curl_setopt ( $ch, CURLOPT_TIMEOUT, 5);	
	$result = curl_exec($ch);
	curl_close($ch); 
	return xmlrpc_decode($result);
	}
}
?>

RemoteAdmin Commands

Name Status Description Parameters
admin_create_region Create a new region region_name, region_master_first, region_master_last, region_master_password, listen_ip, external_address
admin_delete_region Delete a region region_name
admin_region_query Query the 'health' of a region region_uuid or region_name
admin_shutdown Shut down the simulator No parameter needed
admin_broadcast Send a general alert message
admin_restart Restart Region regionid
admin_load_heightmap Load Height Map filename, regionid
admin_create_user Create a new user user_firstname, user_lastname, user_password, start_region_x, start_region_y
admin_exists_user Check whether a certain user account exists user_firstname, user_lastname
admin_update_user Update the password/home of a user account user_firstname user_lastname user_password start_region_x start_region_y
admin_load_xml Execute the Load XML command filename region_uuid (or region_name)
admin_save_xml Execute the Save XML command filename region_uuid (or region_name)
admin_load_oar Load a saved OAR file into a region filename region_uuid (or region_name)
admin_region_query Query the 'health' of a region region_uuid or region_name

Credits

Thanks to DrScofield for the Python Script Sources : http://xyzzyxyzzy.net/2008/01/23/using-pythons-xmlrpclib-with-opensim/

Personal tools
General
About This Wiki