<?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=Ferd+Frederix</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=Ferd+Frederix"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Ferd_Frederix"/>
		<updated>2026-05-26T17:54:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/RestConsole</id>
		<title>RestConsole</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RestConsole"/>
				<updated>2026-03-16T07:34:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* C# = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks|RestConsole}}{{ReleaseInfo}}&lt;br /&gt;
== About ==&lt;br /&gt;
The REST console makes remote administration of the various OpenSimulator services possible.&lt;br /&gt;
&lt;br /&gt;
The interface allows sending commands to the server and retrieving command output. Sending and receiving data is done through RESTful HTTP calls.&lt;br /&gt;
&lt;br /&gt;
While sending is very straightforward, receiving is not. Receiving uses reverse HTTP, performing a long poll to a CAPS URI.&lt;br /&gt;
&lt;br /&gt;
In order to make the protocol more efficient, the help functionality has been pushed to the client side. Rather than sending each keystroke to the server, only validated command lines are sent. To make this possible, the server sends a burst-on-connect of data, which is the tree of allowed commands and their help information. This can be used by the client to create the &amp;quot;help&amp;quot; command output locally as well as provide command line help interactively.&lt;br /&gt;
&lt;br /&gt;
The sample console client, OpenSim.ConsoleClient.exe, shows how this is done.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In order to use the remote console, start up OpenSimulator services with parameter &amp;lt;tt&amp;gt;-console rest&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example for Robust server in grid mode:&lt;br /&gt;
 mono Robust.exe -console rest&lt;br /&gt;
&lt;br /&gt;
Example for simulators (both in grid and standalone mode):&lt;br /&gt;
 mono OpenSim.exe -console rest&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
We take the OpenSimulator services address &amp;lt;nowiki&amp;gt;http://foo.bar:8002&amp;lt;/nowiki&amp;gt; as example here.&lt;br /&gt;
&lt;br /&gt;
First start a new session by sending a HTTP POST request. User name and password should match the settings for &amp;lt;tt&amp;gt;ConsoleUser&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ConsolePass&amp;lt;/tt&amp;gt; in section &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; of OpenSim.ini.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: USER, PASS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/StartSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we got the SessionID, which can be used to send a command and to receive output. First, retrieve the console scrollback buffer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: none&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/ReadResponses/&amp;lt;SessionID&amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Line Number=x Level=l Prompt=p Command=c Input=i&amp;gt;&amp;lt;/Line&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The reply contains all lines currently in the buffer. Subsequent fetches will only retrieve new lines. The fetch will hold for up to 30 seconds if there is no data, then return an error. The client is expected to try again (polling).&lt;br /&gt;
The attributes are as follows:&lt;br /&gt;
 Number = The line number (1 based)&lt;br /&gt;
 Level = The level this is to be logged as&lt;br /&gt;
 Prompt = bool, true if the output on this line is a prompt&lt;br /&gt;
 Command = bool, true if the prompt is for a command&lt;br /&gt;
 Input = bool, true if the output is eachoed input&lt;br /&gt;
&lt;br /&gt;
Use the SessionID as ID parameter, and send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID, COMMAND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/SessionCommand/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything went well, the command should have been executed. Try another command.&lt;br /&gt;
&lt;br /&gt;
When you want to close down the connection, send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/CloseSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The session is closed, and you have to log in again, when you want to send a command again.&lt;br /&gt;
&lt;br /&gt;
= Clients =&lt;br /&gt;
&lt;br /&gt;
== C# ==&lt;br /&gt;
&lt;br /&gt;
A C# client is included with the Opensimulator distribution. It is rudimentary and not updated to the latest protocol versions.&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
&lt;br /&gt;
The Qt 5 based client is at https://github.com/MelanieT/OpenSimConsoleClient&lt;br /&gt;
&lt;br /&gt;
= Binaries =&lt;br /&gt;
 Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
 Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
 Linux: TBD&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== NOTE ==&lt;br /&gt;
&lt;br /&gt;
Some of the examples below are for an older version of the interface. They may work to a degree but need to be revised.&lt;br /&gt;
&lt;br /&gt;
=== node.js ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 | This piece of code is published by thomax (tx0h) (c) 2018 under the&lt;br /&gt;
 | Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
 |&lt;br /&gt;
 | I removed my previous python approach because blueman made a better&lt;br /&gt;
 | version and it was outdated. Here is a node.js variant.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
const readline = require('readline');&lt;br /&gt;
var Client = require('node-rest-client').Client;&lt;br /&gt;
var client = new Client();&lt;br /&gt;
var session_id;&lt;br /&gt;
var base_url = &amp;quot;http://127.0.0.1:9000&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// set http header&lt;br /&gt;
var headers = {&lt;br /&gt;
    &amp;quot;Content-Type&amp;quot;: &amp;quot;application/x-www-form-urlencoded&amp;quot;,&lt;br /&gt;
    &amp;quot;User-Agent&amp;quot;: &amp;quot;nodejs-console/0.01&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// open session&lt;br /&gt;
function open_session() {&lt;br /&gt;
    var args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;USER&amp;quot;: &amp;quot;Test&amp;quot;,&lt;br /&gt;
            &amp;quot;PASS&amp;quot;: 'secret'&lt;br /&gt;
        },&lt;br /&gt;
        headers,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/StartSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        session_id = data.ConsoleSession.SessionID;&lt;br /&gt;
        read_session_buffer();&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// close session&lt;br /&gt;
function close_session() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/CloseSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        console.log(&amp;quot;close_session: &amp;quot;+response);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    console.log('Have a great day!');&lt;br /&gt;
    process.exit(0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// read all the lines from the console buffer and print them&lt;br /&gt;
function read_session_buffer() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/ReadResponses/&amp;quot;+session_id+&amp;quot;/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        if(data.ConsoleSession.Line) {&lt;br /&gt;
            var i;&lt;br /&gt;
            for(i=0; i &amp;lt; data.ConsoleSession.Line.length; i++) {&lt;br /&gt;
                if(data.ConsoleSession.Line[i]._) {&lt;br /&gt;
                    console.log(data.ConsoleSession.Line[i]._);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            rl.prompt();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// execute the command from the prompt&lt;br /&gt;
function execute_cmd(cmd) {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;ID&amp;quot;: session_id,&lt;br /&gt;
            &amp;quot;COMMAND&amp;quot;: cmd&lt;br /&gt;
        },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/SessionCommand/&amp;quot;, args, function (data, response) {&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// here we go.&lt;br /&gt;
open_session();&lt;br /&gt;
&lt;br /&gt;
// prepare readline&lt;br /&gt;
const rl = readline.createInterface({&lt;br /&gt;
    input: process.stdin,&lt;br /&gt;
    output: process.stdout,&lt;br /&gt;
    prompt: 'REST CONSOLE&amp;gt; '&lt;br /&gt;
});&lt;br /&gt;
rl.prompt();&lt;br /&gt;
&lt;br /&gt;
// hunt for events&lt;br /&gt;
rl.on('line', (line) =&amp;gt; {&lt;br /&gt;
    switch (line.trim()) {&lt;br /&gt;
        case 'quit':&lt;br /&gt;
            close_session();&lt;br /&gt;
            break;&lt;br /&gt;
        default:&lt;br /&gt;
            if(line.length &amp;gt; 0) {&lt;br /&gt;
                execute_cmd(line.trim());&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    read_session_buffer();&lt;br /&gt;
    rl.prompt();&lt;br /&gt;
}).on('close', () =&amp;gt; {&lt;br /&gt;
    close_session();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C# ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;Csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// XmlDocument and XmlNode require using System.Xml; at the top of your file if not already present.&lt;br /&gt;
&lt;br /&gt;
private bool RestConsoleCommand(string command, string ip, string port)&lt;br /&gt;
{&lt;br /&gt;
    string consoleLogin = $&amp;quot;http://{ip}:{port}/StartSession/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    var diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        { &amp;quot;USER&amp;quot;, $&amp;quot;{AdminFirst} {AdminLast}&amp;quot; },&lt;br /&gt;
        { &amp;quot;PASS&amp;quot;, Settings.ConsolePassword }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    string xmlResponse = HttpHelper.PostForm(consoleLogin, diction, 2000);&lt;br /&gt;
    var parser = new XmlDocument();&lt;br /&gt;
&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
        parser.LoadXml(xmlResponse);&lt;br /&gt;
        XmlNode sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/SessionID&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        if (sessionNode == null)&lt;br /&gt;
            return false;&lt;br /&gt;
&lt;br /&gt;
        string sessionID = sessionNode.InnerText;&lt;br /&gt;
&lt;br /&gt;
        string consoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/SessionCommand/&amp;quot;;&lt;br /&gt;
        diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            { &amp;quot;ID&amp;quot;, sessionID },&lt;br /&gt;
            { &amp;quot;COMMAND&amp;quot;, command }&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        string result = PostForm(consoleCommandUrl, diction, 2000);&lt;br /&gt;
        parser.LoadXml(result);&lt;br /&gt;
        sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/Result&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        if (sessionNode == null)&lt;br /&gt;
            return false;&lt;br /&gt;
&lt;br /&gt;
        string r = sessionNode.InnerText;&lt;br /&gt;
        CloseSession(sessionID);&lt;br /&gt;
        return r == &amp;quot;OK&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception ex)&lt;br /&gt;
    {&lt;br /&gt;
        ErrorLog(ex.Message);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private void CloseSession(string sessionId)&lt;br /&gt;
{&lt;br /&gt;
    string consoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/CloseSession/&amp;quot;;&lt;br /&gt;
    var diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        { &amp;quot;ID&amp;quot;, sessionId }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    PostForm(consoleCommandUrl, diction, 2000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public string PostForm(string url, Dictionary&amp;lt;string, string&amp;gt; formData, int timeoutMilliseconds)&lt;br /&gt;
{&lt;br /&gt;
    using (var client = new HttpClient())&lt;br /&gt;
    {&lt;br /&gt;
        client.Timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);&lt;br /&gt;
&lt;br /&gt;
        var content = new FormUrlEncodedContent(formData);&lt;br /&gt;
        var response = client.PostAsync(url, content).GetAwaiter().GetResult();&lt;br /&gt;
&lt;br /&gt;
        response.EnsureSuccessStatusCode();&lt;br /&gt;
&lt;br /&gt;
        return response.Content.ReadAsStringAsync().GetAwaiter().GetResult();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visual Basic Dot Net 8 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ' Visual Basic Dot Net 8&lt;br /&gt;
    Private Function RestConsoleCommand(command, IP as String, Port as String) As Boolean        '&lt;br /&gt;
        Dim ConsoleLogin = $&amp;quot;http://{IP}:{Port}/StartSession/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                    {&amp;quot;USER&amp;quot;, $&amp;quot;{AdminFirst} {AdminLast}&amp;quot;},&lt;br /&gt;
                    {&amp;quot;PASS&amp;quot;, Settings.ConsolePassword}&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
        Dim xmlresponse = HttpHelper.PostForm(ConsoleLogin, Diction, 2000) 'Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
        Dim parser = New XmlDocument()&lt;br /&gt;
        Try&lt;br /&gt;
            parser.LoadXml(xmlresponse)&lt;br /&gt;
            Dim sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/SessionID&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim sessionID = sessionNode.InnerText&lt;br /&gt;
&lt;br /&gt;
            'POST http://foo.bar:8002/SessionCommand/&lt;br /&gt;
            'Parameters: sessionID, COMMAND&lt;br /&gt;
&lt;br /&gt;
            Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/SessionCommand/&amp;quot;&lt;br /&gt;
            Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, sessionID},&lt;br /&gt;
                {&amp;quot;COMMAND&amp;quot;, command}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
            parser.LoadXml(result)&lt;br /&gt;
            sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/Result&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim r = sessionNode.InnerText&lt;br /&gt;
            If r = &amp;quot;OK&amp;quot; Then&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return True&lt;br /&gt;
            Else&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
        Catch ex As Exception&lt;br /&gt;
            ErrorLog(ex.Message)&lt;br /&gt;
        End Try&lt;br /&gt;
        Return False&lt;br /&gt;
&lt;br /&gt;
    End Function&lt;br /&gt;
    Private Function CloseSession(SessionId As String)&lt;br /&gt;
&lt;br /&gt;
        Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/CloseSession/&amp;quot;&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, SessionId}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Public  Function PostForm(url As String, formData As Dictionary(Of String, String), timeoutMilliseconds As Integer) As String&lt;br /&gt;
        Using client As New HttpClient()&lt;br /&gt;
            client.Timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds)&lt;br /&gt;
&lt;br /&gt;
            Dim content = New FormUrlEncodedContent(formData)&lt;br /&gt;
&lt;br /&gt;
            Dim responseTask = client.PostAsync(url, content)&lt;br /&gt;
&lt;br /&gt;
            'Block the current thread until the task Is complete And get the result&lt;br /&gt;
            Dim response = responseTask.GetAwaiter().GetResult()&lt;br /&gt;
&lt;br /&gt;
            response.EnsureSuccessStatusCode() ' Throws an exception If the status code Is an Error&lt;br /&gt;
&lt;br /&gt;
            Dim responseBodyTask = response.Content.ReadAsStringAsync()&lt;br /&gt;
&lt;br /&gt;
            ' Block to get the response body string&lt;br /&gt;
            Return responseBodyTask.GetAwaiter().GetResult()&lt;br /&gt;
        End Using&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python (Updated) ===&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;
# This piece of code is published by thomax (txOh) (c) 2010 under the&lt;br /&gt;
# Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
# Modifications (c) 2013 BlueWall&lt;br /&gt;
&lt;br /&gt;
import urllib, urllib2&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
&lt;br /&gt;
class UserConsoleClient():&lt;br /&gt;
&lt;br /&gt;
   def __init__(self, addr):&lt;br /&gt;
       self.addr = addr&lt;br /&gt;
       url = self.addr + 'StartSession/'&lt;br /&gt;
&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'USER': 'username',       # REST username&lt;br /&gt;
           'PASS': 'userpass'        # REST password&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       print data&lt;br /&gt;
&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('SessionID')&lt;br /&gt;
       self.sessionid = elem[0].childNodes[0].nodeValue&lt;br /&gt;
       elem = dom.getElementsByTagName('Prompt')&lt;br /&gt;
       self.prompt = elem[0].childNodes[0].nodeValue + '# '&lt;br /&gt;
&lt;br /&gt;
   def close(self):&lt;br /&gt;
       url = self.addr + 'CloseSession/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
       print urllib2.urlopen(url, params).read()&lt;br /&gt;
&lt;br /&gt;
   def do_cmd(self, cmd):&lt;br /&gt;
       url = self.addr + 'SessionCommand/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid,&lt;br /&gt;
           'COMMAND': cmd&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('Result')&lt;br /&gt;
       return elem[0].childNodes[0].nodeValue&lt;br /&gt;
&lt;br /&gt;
   def read_buffer(self):&lt;br /&gt;
       url = self.addr + 'ReadResponses/' + self.sessionid + '/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
&lt;br /&gt;
       # print urllib2.urlopen(url, params).read()&lt;br /&gt;
       &lt;br /&gt;
       result = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(result)&lt;br /&gt;
&lt;br /&gt;
       elem =  dom.getElementsByTagName('Line')&lt;br /&gt;
       for line in elem:&lt;br /&gt;
         x0 = line.childNodes[0].nodeValue&lt;br /&gt;
         x1 = str.replace(str(x0),':','~',2)&lt;br /&gt;
         x2 = x1.split(&amp;quot;~&amp;quot;)&lt;br /&gt;
         for lv in x2[2:]:&lt;br /&gt;
           if not '+++' in lv:&lt;br /&gt;
             print lv&lt;br /&gt;
       &lt;br /&gt;
# set the base url to the REST console (with port)&lt;br /&gt;
console = UserConsoleClient('http://example.com:8003/')&lt;br /&gt;
console.read_buffer()&lt;br /&gt;
print 'quit with a &amp;quot;.&amp;quot;'&lt;br /&gt;
cmd = &amp;quot;&amp;quot;&lt;br /&gt;
while cmd != &amp;quot;.&amp;quot;:&lt;br /&gt;
   if cmd != &amp;quot;&amp;quot;:&lt;br /&gt;
     if 'OK' in console.do_cmd(cmd):&lt;br /&gt;
       console.read_buffer()&lt;br /&gt;
   cmd = raw_input(&amp;quot;%s &amp;quot; % console.prompt)&lt;br /&gt;
&lt;br /&gt;
console.close()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript/HTML ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This JavaScript code is published by Marck (c) 2010 under a --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Creative Commons Attribution 3.0 Germany License            --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- http://creativecommons.org/licenses/by/3.0/de/              --&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      var sessionId;&lt;br /&gt;
      var hostUrl;&lt;br /&gt;
&lt;br /&gt;
      function StartSession(url, user, password) {&lt;br /&gt;
        hostUrl = url;&lt;br /&gt;
        var response = SendRequest(&amp;quot;/StartSession/&amp;quot;, &amp;quot;USER=&amp;quot; + user + &amp;quot;&amp;amp;PASS=&amp;quot; + password);&lt;br /&gt;
        sessionId = response.getElementsByTagName(&amp;quot;SessionID&amp;quot;)[0].firstChild.nodeValue;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function ReadResponses() {&lt;br /&gt;
        var response = this.SendRequest(&amp;quot;/ReadResponses/&amp;quot; + sessionId + &amp;quot;/&amp;quot;, '');&lt;br /&gt;
        var lines = response.getElementsByTagName(&amp;quot;Line&amp;quot;);&lt;br /&gt;
        for (var i = 0; i &amp;lt; lines.length; ++i) {&lt;br /&gt;
          var element = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
          element.appendChild(document.createTextNode(lines[i].firstChild.nodeValue));&lt;br /&gt;
          document.getElementById(&amp;quot;output&amp;quot;).appendChild(element);&lt;br /&gt;
        };&lt;br /&gt;
        document.getElementById(&amp;quot;output&amp;quot;).scrollTop = document.getElementById(&amp;quot;output&amp;quot;).scrollHeight;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function Command(cmd) {&lt;br /&gt;
        void SendRequest(&amp;quot;/SessionCommand/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId + &amp;quot;&amp;amp;COMMAND=&amp;quot; + cmd);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function CloseSession() {&lt;br /&gt;
        void SendRequest(&amp;quot;/CloseSession/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function SendRequest(path, data) {&lt;br /&gt;
        var request = new XMLHttpRequest();&lt;br /&gt;
        request.open(&amp;quot;POST&amp;quot;, hostUrl + path, false);&lt;br /&gt;
        request.send(data);&lt;br /&gt;
        return request.responseXML;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      window.onunload = CloseSession;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        StartSession(this.address.value, this.user.value, this.password.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;address&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;http://localhost:9000&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;user&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsoleUser&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;password&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsolePass&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Login&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div id=&amp;quot;output&amp;quot; style=&amp;quot;height:15em; border:thin solid; overflow:auto;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        Command(this.command.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;command&amp;quot; value=&amp;quot;Enter command here&amp;quot; size=&amp;quot;40&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Send Command&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RestConsole</id>
		<title>RestConsole</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RestConsole"/>
				<updated>2026-03-16T07:34:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* csharp  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks|RestConsole}}{{ReleaseInfo}}&lt;br /&gt;
== About ==&lt;br /&gt;
The REST console makes remote administration of the various OpenSimulator services possible.&lt;br /&gt;
&lt;br /&gt;
The interface allows sending commands to the server and retrieving command output. Sending and receiving data is done through RESTful HTTP calls.&lt;br /&gt;
&lt;br /&gt;
While sending is very straightforward, receiving is not. Receiving uses reverse HTTP, performing a long poll to a CAPS URI.&lt;br /&gt;
&lt;br /&gt;
In order to make the protocol more efficient, the help functionality has been pushed to the client side. Rather than sending each keystroke to the server, only validated command lines are sent. To make this possible, the server sends a burst-on-connect of data, which is the tree of allowed commands and their help information. This can be used by the client to create the &amp;quot;help&amp;quot; command output locally as well as provide command line help interactively.&lt;br /&gt;
&lt;br /&gt;
The sample console client, OpenSim.ConsoleClient.exe, shows how this is done.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In order to use the remote console, start up OpenSimulator services with parameter &amp;lt;tt&amp;gt;-console rest&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example for Robust server in grid mode:&lt;br /&gt;
 mono Robust.exe -console rest&lt;br /&gt;
&lt;br /&gt;
Example for simulators (both in grid and standalone mode):&lt;br /&gt;
 mono OpenSim.exe -console rest&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
We take the OpenSimulator services address &amp;lt;nowiki&amp;gt;http://foo.bar:8002&amp;lt;/nowiki&amp;gt; as example here.&lt;br /&gt;
&lt;br /&gt;
First start a new session by sending a HTTP POST request. User name and password should match the settings for &amp;lt;tt&amp;gt;ConsoleUser&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ConsolePass&amp;lt;/tt&amp;gt; in section &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; of OpenSim.ini.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: USER, PASS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/StartSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we got the SessionID, which can be used to send a command and to receive output. First, retrieve the console scrollback buffer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: none&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/ReadResponses/&amp;lt;SessionID&amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Line Number=x Level=l Prompt=p Command=c Input=i&amp;gt;&amp;lt;/Line&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The reply contains all lines currently in the buffer. Subsequent fetches will only retrieve new lines. The fetch will hold for up to 30 seconds if there is no data, then return an error. The client is expected to try again (polling).&lt;br /&gt;
The attributes are as follows:&lt;br /&gt;
 Number = The line number (1 based)&lt;br /&gt;
 Level = The level this is to be logged as&lt;br /&gt;
 Prompt = bool, true if the output on this line is a prompt&lt;br /&gt;
 Command = bool, true if the prompt is for a command&lt;br /&gt;
 Input = bool, true if the output is eachoed input&lt;br /&gt;
&lt;br /&gt;
Use the SessionID as ID parameter, and send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID, COMMAND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/SessionCommand/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything went well, the command should have been executed. Try another command.&lt;br /&gt;
&lt;br /&gt;
When you want to close down the connection, send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/CloseSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The session is closed, and you have to log in again, when you want to send a command again.&lt;br /&gt;
&lt;br /&gt;
= Clients =&lt;br /&gt;
&lt;br /&gt;
== C# ==&lt;br /&gt;
&lt;br /&gt;
A C# client is included with the Opensimulator distribution. It is rudimentary and not updated to the latest protocol versions.&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
&lt;br /&gt;
The Qt 5 based client is at https://github.com/MelanieT/OpenSimConsoleClient&lt;br /&gt;
&lt;br /&gt;
= Binaries =&lt;br /&gt;
 Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
 Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
 Linux: TBD&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== NOTE ==&lt;br /&gt;
&lt;br /&gt;
Some of the examples below are for an older version of the interface. They may work to a degree but need to be revised.&lt;br /&gt;
&lt;br /&gt;
=== node.js ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 | This piece of code is published by thomax (tx0h) (c) 2018 under the&lt;br /&gt;
 | Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
 |&lt;br /&gt;
 | I removed my previous python approach because blueman made a better&lt;br /&gt;
 | version and it was outdated. Here is a node.js variant.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
const readline = require('readline');&lt;br /&gt;
var Client = require('node-rest-client').Client;&lt;br /&gt;
var client = new Client();&lt;br /&gt;
var session_id;&lt;br /&gt;
var base_url = &amp;quot;http://127.0.0.1:9000&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// set http header&lt;br /&gt;
var headers = {&lt;br /&gt;
    &amp;quot;Content-Type&amp;quot;: &amp;quot;application/x-www-form-urlencoded&amp;quot;,&lt;br /&gt;
    &amp;quot;User-Agent&amp;quot;: &amp;quot;nodejs-console/0.01&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// open session&lt;br /&gt;
function open_session() {&lt;br /&gt;
    var args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;USER&amp;quot;: &amp;quot;Test&amp;quot;,&lt;br /&gt;
            &amp;quot;PASS&amp;quot;: 'secret'&lt;br /&gt;
        },&lt;br /&gt;
        headers,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/StartSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        session_id = data.ConsoleSession.SessionID;&lt;br /&gt;
        read_session_buffer();&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// close session&lt;br /&gt;
function close_session() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/CloseSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        console.log(&amp;quot;close_session: &amp;quot;+response);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    console.log('Have a great day!');&lt;br /&gt;
    process.exit(0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// read all the lines from the console buffer and print them&lt;br /&gt;
function read_session_buffer() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/ReadResponses/&amp;quot;+session_id+&amp;quot;/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        if(data.ConsoleSession.Line) {&lt;br /&gt;
            var i;&lt;br /&gt;
            for(i=0; i &amp;lt; data.ConsoleSession.Line.length; i++) {&lt;br /&gt;
                if(data.ConsoleSession.Line[i]._) {&lt;br /&gt;
                    console.log(data.ConsoleSession.Line[i]._);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            rl.prompt();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// execute the command from the prompt&lt;br /&gt;
function execute_cmd(cmd) {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;ID&amp;quot;: session_id,&lt;br /&gt;
            &amp;quot;COMMAND&amp;quot;: cmd&lt;br /&gt;
        },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/SessionCommand/&amp;quot;, args, function (data, response) {&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// here we go.&lt;br /&gt;
open_session();&lt;br /&gt;
&lt;br /&gt;
// prepare readline&lt;br /&gt;
const rl = readline.createInterface({&lt;br /&gt;
    input: process.stdin,&lt;br /&gt;
    output: process.stdout,&lt;br /&gt;
    prompt: 'REST CONSOLE&amp;gt; '&lt;br /&gt;
});&lt;br /&gt;
rl.prompt();&lt;br /&gt;
&lt;br /&gt;
// hunt for events&lt;br /&gt;
rl.on('line', (line) =&amp;gt; {&lt;br /&gt;
    switch (line.trim()) {&lt;br /&gt;
        case 'quit':&lt;br /&gt;
            close_session();&lt;br /&gt;
            break;&lt;br /&gt;
        default:&lt;br /&gt;
            if(line.length &amp;gt; 0) {&lt;br /&gt;
                execute_cmd(line.trim());&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    read_session_buffer();&lt;br /&gt;
    rl.prompt();&lt;br /&gt;
}).on('close', () =&amp;gt; {&lt;br /&gt;
    close_session();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C# ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;Csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// XmlDocument and XmlNode require using System.Xml; at the top of your file if not already present.&lt;br /&gt;
&lt;br /&gt;
private bool RestConsoleCommand(string command, string ip, string port)&lt;br /&gt;
{&lt;br /&gt;
    string consoleLogin = $&amp;quot;http://{ip}:{port}/StartSession/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    var diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        { &amp;quot;USER&amp;quot;, $&amp;quot;{AdminFirst} {AdminLast}&amp;quot; },&lt;br /&gt;
        { &amp;quot;PASS&amp;quot;, Settings.ConsolePassword }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    string xmlResponse = HttpHelper.PostForm(consoleLogin, diction, 2000);&lt;br /&gt;
    var parser = new XmlDocument();&lt;br /&gt;
&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
        parser.LoadXml(xmlResponse);&lt;br /&gt;
        XmlNode sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/SessionID&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        if (sessionNode == null)&lt;br /&gt;
            return false;&lt;br /&gt;
&lt;br /&gt;
        string sessionID = sessionNode.InnerText;&lt;br /&gt;
&lt;br /&gt;
        string consoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/SessionCommand/&amp;quot;;&lt;br /&gt;
        diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            { &amp;quot;ID&amp;quot;, sessionID },&lt;br /&gt;
            { &amp;quot;COMMAND&amp;quot;, command }&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        string result = PostForm(consoleCommandUrl, diction, 2000);&lt;br /&gt;
        parser.LoadXml(result);&lt;br /&gt;
        sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/Result&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        if (sessionNode == null)&lt;br /&gt;
            return false;&lt;br /&gt;
&lt;br /&gt;
        string r = sessionNode.InnerText;&lt;br /&gt;
        CloseSession(sessionID);&lt;br /&gt;
        return r == &amp;quot;OK&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception ex)&lt;br /&gt;
    {&lt;br /&gt;
        ErrorLog(ex.Message);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private void CloseSession(string sessionId)&lt;br /&gt;
{&lt;br /&gt;
    string consoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/CloseSession/&amp;quot;;&lt;br /&gt;
    var diction = new Dictionary&amp;lt;string, string&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        { &amp;quot;ID&amp;quot;, sessionId }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    PostForm(consoleCommandUrl, diction, 2000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public string PostForm(string url, Dictionary&amp;lt;string, string&amp;gt; formData, int timeoutMilliseconds)&lt;br /&gt;
{&lt;br /&gt;
    using (var client = new HttpClient())&lt;br /&gt;
    {&lt;br /&gt;
        client.Timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);&lt;br /&gt;
&lt;br /&gt;
        var content = new FormUrlEncodedContent(formData);&lt;br /&gt;
        var response = client.PostAsync(url, content).GetAwaiter().GetResult();&lt;br /&gt;
&lt;br /&gt;
        response.EnsureSuccessStatusCode();&lt;br /&gt;
&lt;br /&gt;
        return response.Content.ReadAsStringAsync().GetAwaiter().GetResult();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visual Basic Dot Net 8 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ' Visual Basic Dot Net 8&lt;br /&gt;
    Private Function RestConsoleCommand(command, IP as String, Port as String) As Boolean        '&lt;br /&gt;
        Dim ConsoleLogin = $&amp;quot;http://{IP}:{Port}/StartSession/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                    {&amp;quot;USER&amp;quot;, $&amp;quot;{AdminFirst} {AdminLast}&amp;quot;},&lt;br /&gt;
                    {&amp;quot;PASS&amp;quot;, Settings.ConsolePassword}&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
        Dim xmlresponse = HttpHelper.PostForm(ConsoleLogin, Diction, 2000) 'Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
        Dim parser = New XmlDocument()&lt;br /&gt;
        Try&lt;br /&gt;
            parser.LoadXml(xmlresponse)&lt;br /&gt;
            Dim sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/SessionID&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim sessionID = sessionNode.InnerText&lt;br /&gt;
&lt;br /&gt;
            'POST http://foo.bar:8002/SessionCommand/&lt;br /&gt;
            'Parameters: sessionID, COMMAND&lt;br /&gt;
&lt;br /&gt;
            Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/SessionCommand/&amp;quot;&lt;br /&gt;
            Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, sessionID},&lt;br /&gt;
                {&amp;quot;COMMAND&amp;quot;, command}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
            parser.LoadXml(result)&lt;br /&gt;
            sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/Result&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim r = sessionNode.InnerText&lt;br /&gt;
            If r = &amp;quot;OK&amp;quot; Then&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return True&lt;br /&gt;
            Else&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
        Catch ex As Exception&lt;br /&gt;
            ErrorLog(ex.Message)&lt;br /&gt;
        End Try&lt;br /&gt;
        Return False&lt;br /&gt;
&lt;br /&gt;
    End Function&lt;br /&gt;
    Private Function CloseSession(SessionId As String)&lt;br /&gt;
&lt;br /&gt;
        Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/CloseSession/&amp;quot;&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, SessionId}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Public  Function PostForm(url As String, formData As Dictionary(Of String, String), timeoutMilliseconds As Integer) As String&lt;br /&gt;
        Using client As New HttpClient()&lt;br /&gt;
            client.Timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds)&lt;br /&gt;
&lt;br /&gt;
            Dim content = New FormUrlEncodedContent(formData)&lt;br /&gt;
&lt;br /&gt;
            Dim responseTask = client.PostAsync(url, content)&lt;br /&gt;
&lt;br /&gt;
            'Block the current thread until the task Is complete And get the result&lt;br /&gt;
            Dim response = responseTask.GetAwaiter().GetResult()&lt;br /&gt;
&lt;br /&gt;
            response.EnsureSuccessStatusCode() ' Throws an exception If the status code Is an Error&lt;br /&gt;
&lt;br /&gt;
            Dim responseBodyTask = response.Content.ReadAsStringAsync()&lt;br /&gt;
&lt;br /&gt;
            ' Block to get the response body string&lt;br /&gt;
            Return responseBodyTask.GetAwaiter().GetResult()&lt;br /&gt;
        End Using&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python (Updated) ===&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;
# This piece of code is published by thomax (txOh) (c) 2010 under the&lt;br /&gt;
# Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
# Modifications (c) 2013 BlueWall&lt;br /&gt;
&lt;br /&gt;
import urllib, urllib2&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
&lt;br /&gt;
class UserConsoleClient():&lt;br /&gt;
&lt;br /&gt;
   def __init__(self, addr):&lt;br /&gt;
       self.addr = addr&lt;br /&gt;
       url = self.addr + 'StartSession/'&lt;br /&gt;
&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'USER': 'username',       # REST username&lt;br /&gt;
           'PASS': 'userpass'        # REST password&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       print data&lt;br /&gt;
&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('SessionID')&lt;br /&gt;
       self.sessionid = elem[0].childNodes[0].nodeValue&lt;br /&gt;
       elem = dom.getElementsByTagName('Prompt')&lt;br /&gt;
       self.prompt = elem[0].childNodes[0].nodeValue + '# '&lt;br /&gt;
&lt;br /&gt;
   def close(self):&lt;br /&gt;
       url = self.addr + 'CloseSession/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
       print urllib2.urlopen(url, params).read()&lt;br /&gt;
&lt;br /&gt;
   def do_cmd(self, cmd):&lt;br /&gt;
       url = self.addr + 'SessionCommand/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid,&lt;br /&gt;
           'COMMAND': cmd&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('Result')&lt;br /&gt;
       return elem[0].childNodes[0].nodeValue&lt;br /&gt;
&lt;br /&gt;
   def read_buffer(self):&lt;br /&gt;
       url = self.addr + 'ReadResponses/' + self.sessionid + '/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
&lt;br /&gt;
       # print urllib2.urlopen(url, params).read()&lt;br /&gt;
       &lt;br /&gt;
       result = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(result)&lt;br /&gt;
&lt;br /&gt;
       elem =  dom.getElementsByTagName('Line')&lt;br /&gt;
       for line in elem:&lt;br /&gt;
         x0 = line.childNodes[0].nodeValue&lt;br /&gt;
         x1 = str.replace(str(x0),':','~',2)&lt;br /&gt;
         x2 = x1.split(&amp;quot;~&amp;quot;)&lt;br /&gt;
         for lv in x2[2:]:&lt;br /&gt;
           if not '+++' in lv:&lt;br /&gt;
             print lv&lt;br /&gt;
       &lt;br /&gt;
# set the base url to the REST console (with port)&lt;br /&gt;
console = UserConsoleClient('http://example.com:8003/')&lt;br /&gt;
console.read_buffer()&lt;br /&gt;
print 'quit with a &amp;quot;.&amp;quot;'&lt;br /&gt;
cmd = &amp;quot;&amp;quot;&lt;br /&gt;
while cmd != &amp;quot;.&amp;quot;:&lt;br /&gt;
   if cmd != &amp;quot;&amp;quot;:&lt;br /&gt;
     if 'OK' in console.do_cmd(cmd):&lt;br /&gt;
       console.read_buffer()&lt;br /&gt;
   cmd = raw_input(&amp;quot;%s &amp;quot; % console.prompt)&lt;br /&gt;
&lt;br /&gt;
console.close()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript/HTML ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This JavaScript code is published by Marck (c) 2010 under a --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Creative Commons Attribution 3.0 Germany License            --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- http://creativecommons.org/licenses/by/3.0/de/              --&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      var sessionId;&lt;br /&gt;
      var hostUrl;&lt;br /&gt;
&lt;br /&gt;
      function StartSession(url, user, password) {&lt;br /&gt;
        hostUrl = url;&lt;br /&gt;
        var response = SendRequest(&amp;quot;/StartSession/&amp;quot;, &amp;quot;USER=&amp;quot; + user + &amp;quot;&amp;amp;PASS=&amp;quot; + password);&lt;br /&gt;
        sessionId = response.getElementsByTagName(&amp;quot;SessionID&amp;quot;)[0].firstChild.nodeValue;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function ReadResponses() {&lt;br /&gt;
        var response = this.SendRequest(&amp;quot;/ReadResponses/&amp;quot; + sessionId + &amp;quot;/&amp;quot;, '');&lt;br /&gt;
        var lines = response.getElementsByTagName(&amp;quot;Line&amp;quot;);&lt;br /&gt;
        for (var i = 0; i &amp;lt; lines.length; ++i) {&lt;br /&gt;
          var element = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
          element.appendChild(document.createTextNode(lines[i].firstChild.nodeValue));&lt;br /&gt;
          document.getElementById(&amp;quot;output&amp;quot;).appendChild(element);&lt;br /&gt;
        };&lt;br /&gt;
        document.getElementById(&amp;quot;output&amp;quot;).scrollTop = document.getElementById(&amp;quot;output&amp;quot;).scrollHeight;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function Command(cmd) {&lt;br /&gt;
        void SendRequest(&amp;quot;/SessionCommand/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId + &amp;quot;&amp;amp;COMMAND=&amp;quot; + cmd);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function CloseSession() {&lt;br /&gt;
        void SendRequest(&amp;quot;/CloseSession/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function SendRequest(path, data) {&lt;br /&gt;
        var request = new XMLHttpRequest();&lt;br /&gt;
        request.open(&amp;quot;POST&amp;quot;, hostUrl + path, false);&lt;br /&gt;
        request.send(data);&lt;br /&gt;
        return request.responseXML;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      window.onunload = CloseSession;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        StartSession(this.address.value, this.user.value, this.password.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;address&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;http://localhost:9000&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;user&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsoleUser&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;password&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsolePass&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Login&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div id=&amp;quot;output&amp;quot; style=&amp;quot;height:15em; border:thin solid; overflow:auto;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        Command(this.command.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;command&amp;quot; value=&amp;quot;Enter command here&amp;quot; size=&amp;quot;40&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Send Command&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RestConsole</id>
		<title>RestConsole</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RestConsole"/>
				<updated>2026-03-16T07:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Visual Basic Dot Net */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks|RestConsole}}{{ReleaseInfo}}&lt;br /&gt;
== About ==&lt;br /&gt;
The REST console makes remote administration of the various OpenSimulator services possible.&lt;br /&gt;
&lt;br /&gt;
The interface allows sending commands to the server and retrieving command output. Sending and receiving data is done through RESTful HTTP calls.&lt;br /&gt;
&lt;br /&gt;
While sending is very straightforward, receiving is not. Receiving uses reverse HTTP, performing a long poll to a CAPS URI.&lt;br /&gt;
&lt;br /&gt;
In order to make the protocol more efficient, the help functionality has been pushed to the client side. Rather than sending each keystroke to the server, only validated command lines are sent. To make this possible, the server sends a burst-on-connect of data, which is the tree of allowed commands and their help information. This can be used by the client to create the &amp;quot;help&amp;quot; command output locally as well as provide command line help interactively.&lt;br /&gt;
&lt;br /&gt;
The sample console client, OpenSim.ConsoleClient.exe, shows how this is done.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In order to use the remote console, start up OpenSimulator services with parameter &amp;lt;tt&amp;gt;-console rest&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example for Robust server in grid mode:&lt;br /&gt;
 mono Robust.exe -console rest&lt;br /&gt;
&lt;br /&gt;
Example for simulators (both in grid and standalone mode):&lt;br /&gt;
 mono OpenSim.exe -console rest&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
We take the OpenSimulator services address &amp;lt;nowiki&amp;gt;http://foo.bar:8002&amp;lt;/nowiki&amp;gt; as example here.&lt;br /&gt;
&lt;br /&gt;
First start a new session by sending a HTTP POST request. User name and password should match the settings for &amp;lt;tt&amp;gt;ConsoleUser&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ConsolePass&amp;lt;/tt&amp;gt; in section &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; of OpenSim.ini.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: USER, PASS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/StartSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we got the SessionID, which can be used to send a command and to receive output. First, retrieve the console scrollback buffer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: none&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/ReadResponses/&amp;lt;SessionID&amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Line Number=x Level=l Prompt=p Command=c Input=i&amp;gt;&amp;lt;/Line&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The reply contains all lines currently in the buffer. Subsequent fetches will only retrieve new lines. The fetch will hold for up to 30 seconds if there is no data, then return an error. The client is expected to try again (polling).&lt;br /&gt;
The attributes are as follows:&lt;br /&gt;
 Number = The line number (1 based)&lt;br /&gt;
 Level = The level this is to be logged as&lt;br /&gt;
 Prompt = bool, true if the output on this line is a prompt&lt;br /&gt;
 Command = bool, true if the prompt is for a command&lt;br /&gt;
 Input = bool, true if the output is eachoed input&lt;br /&gt;
&lt;br /&gt;
Use the SessionID as ID parameter, and send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID, COMMAND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/SessionCommand/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything went well, the command should have been executed. Try another command.&lt;br /&gt;
&lt;br /&gt;
When you want to close down the connection, send a POST request again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameters: ID&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://foo.bar:8002/CloseSession/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;Result&amp;gt;&amp;lt;/Result&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The session is closed, and you have to log in again, when you want to send a command again.&lt;br /&gt;
&lt;br /&gt;
= Clients =&lt;br /&gt;
&lt;br /&gt;
== C# ==&lt;br /&gt;
&lt;br /&gt;
A C# client is included with the Opensimulator distribution. It is rudimentary and not updated to the latest protocol versions.&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
&lt;br /&gt;
The Qt 5 based client is at https://github.com/MelanieT/OpenSimConsoleClient&lt;br /&gt;
&lt;br /&gt;
= Binaries =&lt;br /&gt;
 Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
 Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
 Linux: TBD&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== NOTE ==&lt;br /&gt;
&lt;br /&gt;
Some of the examples below are for an older version of the interface. They may work to a degree but need to be revised.&lt;br /&gt;
&lt;br /&gt;
=== node.js ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 | This piece of code is published by thomax (tx0h) (c) 2018 under the&lt;br /&gt;
 | Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
 |&lt;br /&gt;
 | I removed my previous python approach because blueman made a better&lt;br /&gt;
 | version and it was outdated. Here is a node.js variant.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
const readline = require('readline');&lt;br /&gt;
var Client = require('node-rest-client').Client;&lt;br /&gt;
var client = new Client();&lt;br /&gt;
var session_id;&lt;br /&gt;
var base_url = &amp;quot;http://127.0.0.1:9000&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// set http header&lt;br /&gt;
var headers = {&lt;br /&gt;
    &amp;quot;Content-Type&amp;quot;: &amp;quot;application/x-www-form-urlencoded&amp;quot;,&lt;br /&gt;
    &amp;quot;User-Agent&amp;quot;: &amp;quot;nodejs-console/0.01&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// open session&lt;br /&gt;
function open_session() {&lt;br /&gt;
    var args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;USER&amp;quot;: &amp;quot;Test&amp;quot;,&lt;br /&gt;
            &amp;quot;PASS&amp;quot;: 'secret'&lt;br /&gt;
        },&lt;br /&gt;
        headers,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/StartSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        session_id = data.ConsoleSession.SessionID;&lt;br /&gt;
        read_session_buffer();&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// close session&lt;br /&gt;
function close_session() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/CloseSession/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        console.log(&amp;quot;close_session: &amp;quot;+response);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    console.log('Have a great day!');&lt;br /&gt;
    process.exit(0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// read all the lines from the console buffer and print them&lt;br /&gt;
function read_session_buffer() {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: { &amp;quot;ID&amp;quot;: session_id },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/ReadResponses/&amp;quot;+session_id+&amp;quot;/&amp;quot;, args, function (data, response) {&lt;br /&gt;
        if(data.ConsoleSession.Line) {&lt;br /&gt;
            var i;&lt;br /&gt;
            for(i=0; i &amp;lt; data.ConsoleSession.Line.length; i++) {&lt;br /&gt;
                if(data.ConsoleSession.Line[i]._) {&lt;br /&gt;
                    console.log(data.ConsoleSession.Line[i]._);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            rl.prompt();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// execute the command from the prompt&lt;br /&gt;
function execute_cmd(cmd) {&lt;br /&gt;
    args = {&lt;br /&gt;
        data: {&lt;br /&gt;
            &amp;quot;ID&amp;quot;: session_id,&lt;br /&gt;
            &amp;quot;COMMAND&amp;quot;: cmd&lt;br /&gt;
        },&lt;br /&gt;
        headers&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    client.post(base_url + &amp;quot;/SessionCommand/&amp;quot;, args, function (data, response) {&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// here we go.&lt;br /&gt;
open_session();&lt;br /&gt;
&lt;br /&gt;
// prepare readline&lt;br /&gt;
const rl = readline.createInterface({&lt;br /&gt;
    input: process.stdin,&lt;br /&gt;
    output: process.stdout,&lt;br /&gt;
    prompt: 'REST CONSOLE&amp;gt; '&lt;br /&gt;
});&lt;br /&gt;
rl.prompt();&lt;br /&gt;
&lt;br /&gt;
// hunt for events&lt;br /&gt;
rl.on('line', (line) =&amp;gt; {&lt;br /&gt;
    switch (line.trim()) {&lt;br /&gt;
        case 'quit':&lt;br /&gt;
            close_session();&lt;br /&gt;
            break;&lt;br /&gt;
        default:&lt;br /&gt;
            if(line.length &amp;gt; 0) {&lt;br /&gt;
                execute_cmd(line.trim());&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    read_session_buffer();&lt;br /&gt;
    rl.prompt();&lt;br /&gt;
}).on('close', () =&amp;gt; {&lt;br /&gt;
    close_session();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Visual Basic Dot Net 8 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ' Visual Basic Dot Net 8&lt;br /&gt;
    Private Function RestConsoleCommand(command, IP as String, Port as String) As Boolean        '&lt;br /&gt;
        Dim ConsoleLogin = $&amp;quot;http://{IP}:{Port}/StartSession/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                    {&amp;quot;USER&amp;quot;, $&amp;quot;{AdminFirst} {AdminLast}&amp;quot;},&lt;br /&gt;
                    {&amp;quot;PASS&amp;quot;, Settings.ConsolePassword}&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
        Dim xmlresponse = HttpHelper.PostForm(ConsoleLogin, Diction, 2000) 'Return: (XML) &amp;lt;ConsoleSession&amp;gt;&amp;lt;SessionID&amp;gt;&amp;lt;/SessionID&amp;gt;&amp;lt;Prompt&amp;gt;&amp;lt;/Prompt&amp;gt;&amp;lt;/ConsoleSession&amp;gt;&lt;br /&gt;
        Dim parser = New XmlDocument()&lt;br /&gt;
        Try&lt;br /&gt;
            parser.LoadXml(xmlresponse)&lt;br /&gt;
            Dim sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/SessionID&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim sessionID = sessionNode.InnerText&lt;br /&gt;
&lt;br /&gt;
            'POST http://foo.bar:8002/SessionCommand/&lt;br /&gt;
            'Parameters: sessionID, COMMAND&lt;br /&gt;
&lt;br /&gt;
            Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/SessionCommand/&amp;quot;&lt;br /&gt;
            Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, sessionID},&lt;br /&gt;
                {&amp;quot;COMMAND&amp;quot;, command}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
            parser.LoadXml(result)&lt;br /&gt;
            sessionNode = parser.SelectSingleNode(&amp;quot;ConsoleSession/Result&amp;quot;)&lt;br /&gt;
            If sessionNode Is Nothing Then               &lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
            Dim r = sessionNode.InnerText&lt;br /&gt;
            If r = &amp;quot;OK&amp;quot; Then&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return True&lt;br /&gt;
            Else&lt;br /&gt;
                CloseSession(sessionID)&lt;br /&gt;
                Return False&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
        Catch ex As Exception&lt;br /&gt;
            ErrorLog(ex.Message)&lt;br /&gt;
        End Try&lt;br /&gt;
        Return False&lt;br /&gt;
&lt;br /&gt;
    End Function&lt;br /&gt;
    Private Function CloseSession(SessionId As String)&lt;br /&gt;
&lt;br /&gt;
        Dim ConsoleCommandUrl = $&amp;quot;http://{Settings.PublicIp}:{Settings.HttpPort}/CloseSession/&amp;quot;&lt;br /&gt;
        Dim Diction = New Dictionary(Of String, String) From {&lt;br /&gt;
                {&amp;quot;ID&amp;quot;, SessionId}&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        Dim result = PostForm(ConsoleCommandUrl, Diction, 2000)&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Public  Function PostForm(url As String, formData As Dictionary(Of String, String), timeoutMilliseconds As Integer) As String&lt;br /&gt;
        Using client As New HttpClient()&lt;br /&gt;
            client.Timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds)&lt;br /&gt;
&lt;br /&gt;
            Dim content = New FormUrlEncodedContent(formData)&lt;br /&gt;
&lt;br /&gt;
            Dim responseTask = client.PostAsync(url, content)&lt;br /&gt;
&lt;br /&gt;
            'Block the current thread until the task Is complete And get the result&lt;br /&gt;
            Dim response = responseTask.GetAwaiter().GetResult()&lt;br /&gt;
&lt;br /&gt;
            response.EnsureSuccessStatusCode() ' Throws an exception If the status code Is an Error&lt;br /&gt;
&lt;br /&gt;
            Dim responseBodyTask = response.Content.ReadAsStringAsync()&lt;br /&gt;
&lt;br /&gt;
            ' Block to get the response body string&lt;br /&gt;
            Return responseBodyTask.GetAwaiter().GetResult()&lt;br /&gt;
        End Using&lt;br /&gt;
    End Function&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python (Updated) ===&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;
# This piece of code is published by thomax (txOh) (c) 2010 under the&lt;br /&gt;
# Artistic License 1.0 (http://www.perlfoundation.org/artistic_license_1_0)&lt;br /&gt;
# Modifications (c) 2013 BlueWall&lt;br /&gt;
&lt;br /&gt;
import urllib, urllib2&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
&lt;br /&gt;
class UserConsoleClient():&lt;br /&gt;
&lt;br /&gt;
   def __init__(self, addr):&lt;br /&gt;
       self.addr = addr&lt;br /&gt;
       url = self.addr + 'StartSession/'&lt;br /&gt;
&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'USER': 'username',       # REST username&lt;br /&gt;
           'PASS': 'userpass'        # REST password&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       print data&lt;br /&gt;
&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('SessionID')&lt;br /&gt;
       self.sessionid = elem[0].childNodes[0].nodeValue&lt;br /&gt;
       elem = dom.getElementsByTagName('Prompt')&lt;br /&gt;
       self.prompt = elem[0].childNodes[0].nodeValue + '# '&lt;br /&gt;
&lt;br /&gt;
   def close(self):&lt;br /&gt;
       url = self.addr + 'CloseSession/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
       print urllib2.urlopen(url, params).read()&lt;br /&gt;
&lt;br /&gt;
   def do_cmd(self, cmd):&lt;br /&gt;
       url = self.addr + 'SessionCommand/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid,&lt;br /&gt;
           'COMMAND': cmd&lt;br /&gt;
       })&lt;br /&gt;
       data = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(data)&lt;br /&gt;
       elem =  dom.getElementsByTagName('Result')&lt;br /&gt;
       return elem[0].childNodes[0].nodeValue&lt;br /&gt;
&lt;br /&gt;
   def read_buffer(self):&lt;br /&gt;
       url = self.addr + 'ReadResponses/' + self.sessionid + '/'&lt;br /&gt;
       params = urllib.urlencode({&lt;br /&gt;
           'ID': self.sessionid&lt;br /&gt;
       })&lt;br /&gt;
&lt;br /&gt;
       # print urllib2.urlopen(url, params).read()&lt;br /&gt;
       &lt;br /&gt;
       result = urllib2.urlopen(url, params).read()&lt;br /&gt;
       dom = xml.dom.minidom.parseString(result)&lt;br /&gt;
&lt;br /&gt;
       elem =  dom.getElementsByTagName('Line')&lt;br /&gt;
       for line in elem:&lt;br /&gt;
         x0 = line.childNodes[0].nodeValue&lt;br /&gt;
         x1 = str.replace(str(x0),':','~',2)&lt;br /&gt;
         x2 = x1.split(&amp;quot;~&amp;quot;)&lt;br /&gt;
         for lv in x2[2:]:&lt;br /&gt;
           if not '+++' in lv:&lt;br /&gt;
             print lv&lt;br /&gt;
       &lt;br /&gt;
# set the base url to the REST console (with port)&lt;br /&gt;
console = UserConsoleClient('http://example.com:8003/')&lt;br /&gt;
console.read_buffer()&lt;br /&gt;
print 'quit with a &amp;quot;.&amp;quot;'&lt;br /&gt;
cmd = &amp;quot;&amp;quot;&lt;br /&gt;
while cmd != &amp;quot;.&amp;quot;:&lt;br /&gt;
   if cmd != &amp;quot;&amp;quot;:&lt;br /&gt;
     if 'OK' in console.do_cmd(cmd):&lt;br /&gt;
       console.read_buffer()&lt;br /&gt;
   cmd = raw_input(&amp;quot;%s &amp;quot; % console.prompt)&lt;br /&gt;
&lt;br /&gt;
console.close()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript/HTML ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This JavaScript code is published by Marck (c) 2010 under a --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Creative Commons Attribution 3.0 Germany License            --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- http://creativecommons.org/licenses/by/3.0/de/              --&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      var sessionId;&lt;br /&gt;
      var hostUrl;&lt;br /&gt;
&lt;br /&gt;
      function StartSession(url, user, password) {&lt;br /&gt;
        hostUrl = url;&lt;br /&gt;
        var response = SendRequest(&amp;quot;/StartSession/&amp;quot;, &amp;quot;USER=&amp;quot; + user + &amp;quot;&amp;amp;PASS=&amp;quot; + password);&lt;br /&gt;
        sessionId = response.getElementsByTagName(&amp;quot;SessionID&amp;quot;)[0].firstChild.nodeValue;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function ReadResponses() {&lt;br /&gt;
        var response = this.SendRequest(&amp;quot;/ReadResponses/&amp;quot; + sessionId + &amp;quot;/&amp;quot;, '');&lt;br /&gt;
        var lines = response.getElementsByTagName(&amp;quot;Line&amp;quot;);&lt;br /&gt;
        for (var i = 0; i &amp;lt; lines.length; ++i) {&lt;br /&gt;
          var element = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
          element.appendChild(document.createTextNode(lines[i].firstChild.nodeValue));&lt;br /&gt;
          document.getElementById(&amp;quot;output&amp;quot;).appendChild(element);&lt;br /&gt;
        };&lt;br /&gt;
        document.getElementById(&amp;quot;output&amp;quot;).scrollTop = document.getElementById(&amp;quot;output&amp;quot;).scrollHeight;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function Command(cmd) {&lt;br /&gt;
        void SendRequest(&amp;quot;/SessionCommand/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId + &amp;quot;&amp;amp;COMMAND=&amp;quot; + cmd);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function CloseSession() {&lt;br /&gt;
        void SendRequest(&amp;quot;/CloseSession/&amp;quot;, &amp;quot;ID=&amp;quot; + sessionId);&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      function SendRequest(path, data) {&lt;br /&gt;
        var request = new XMLHttpRequest();&lt;br /&gt;
        request.open(&amp;quot;POST&amp;quot;, hostUrl + path, false);&lt;br /&gt;
        request.send(data);&lt;br /&gt;
        return request.responseXML;&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      window.onunload = CloseSession;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        StartSession(this.address.value, this.user.value, this.password.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;address&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;http://localhost:9000&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;user&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsoleUser&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input name=&amp;quot;password&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;ConsolePass&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Login&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div id=&amp;quot;output&amp;quot; style=&amp;quot;height:15em; border:thin solid; overflow:auto;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;&lt;br /&gt;
        Command(this.command.value);&lt;br /&gt;
        ReadResponses();&lt;br /&gt;
        return false&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;command&amp;quot; value=&amp;quot;Enter command here&amp;quot; size=&amp;quot;40&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Send Command&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Load_Oar_0.9.0%2B</id>
		<title>Load Oar 0.9.0+</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Load_Oar_0.9.0%2B"/>
				<updated>2025-03-17T00:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Parameters */ clarify when to use command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= Load Oar Console Command =&lt;br /&gt;
&lt;br /&gt;
This page provides information on the 'load oar' console command from OpenSimulator version 0.9.0 onwards.&lt;br /&gt;
&lt;br /&gt;
Once you have saved regions in OAR files, the 'load oar' console command will load the OAR file into the current region. There are many parameters that enable replacing the region's current contents or merging the OAR file's contents with the objects, terrain and parcels already in the region.&lt;br /&gt;
&lt;br /&gt;
'''Note: If you are using a version of OpenSimulator less than 0.9.0 then please see the original [[Load Oar]] page.'''&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
The load oar command in OpenSimulator version 0.9.0 onwards has the format:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar [parameters] OARFILE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;OARFILE&amp;quot; is the path to the OAR file to read in, and &amp;quot;[parameters]&amp;quot; is zero or more optional parameters from the following list:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 10em&amp;quot; | Parameter&lt;br /&gt;
! Since Version&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.6.8&lt;br /&gt;
| Specify to merge the contents of the reading OAR with the existing contents in the region.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--skip-assets&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.6.9&lt;br /&gt;
| If set, this will not load any of the assets from the OAR, though all other data will be loaded. This saves a lot of time and database operations if loading an OAR multiple times on a grid -- specify &amp;lt;tt&amp;gt;--skip-assets&amp;lt;/tt&amp;gt; after the first time the OAR is loaded on a grid as the assets would have already been loaded the first time the OAR files was loaded.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| The degrees to rotate all the objects loaded from the source OAR. This rotates terrain, parcel data and objects (prims) and is degrees counter-clockwise.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--rotation-center&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8, but deprecated in 0.9&lt;br /&gt;
| The center around which to rotate objects on load. From 0.9.0 the source region's data is always rotated around it's center, prior to cutting a piece out and placing it. The parameter will likely be removed in 0.9.1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--bounding-origin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| The SW corner of a bounding cubiod that is used to 'cut out' data from the source OAR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--bounding-size&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| The size of the bounding cuboid used to 'cut out' data from the source OAR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--displacement&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Specify a displacement that is added to all data as it is added to the destination region. The displacement MUST be specified as &amp;quot;&amp;lt;x,y,z&amp;gt;&amp;quot;. So, for instance, to load an OAR from a 256x256 region into the middle of a larger 512x512 region, the parameter would be &amp;lt;tt&amp;gt;--displacement &amp;quot;&amp;lt;128,128,0&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;. Note that you can specify a &amp;quot;Z&amp;quot; displacement which will move the objects up or down. Thus &amp;lt;tt&amp;gt;--displacement &amp;quot;&amp;lt;0,0,1000&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; will put all the OAR's objects up high for a sky box.&lt;br /&gt;
&lt;br /&gt;
The displacement is also applied to the terrain if it is included. The 'z' component is added to the terrain's heights.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| 0.9&lt;br /&gt;
| Displacement is the offset into the destination region after the data from the source region has been rotated and cropped.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--no-objects&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Don't load any scene objects.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-assets&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9.3 dev&lt;br /&gt;
| If you add option --force-assets to load oar, this will force replace of assets in region cache (will also try to upload but service will most likely refuse). Avoid using unless trying to do some recovery. Currently in Dev Master at commit #af75c37543eda [2025-02-11 01:00:35]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-terrain&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Force terrain loading on --merge.  Normally, --merge does not overwrite the existing region's terrain.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-parcels&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Force parcel loading on --merge.  Normally, --merge does not overwrite the existing region's parcel data.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--default-user &amp;quot;&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Instead of setting object ownership to the estate owner, assign it to the named user.  This only applies to objects that have UUIDs that do not match any user account in the receiving grid's installation.  There is currently no option that will force a change of owner for all loaded objects no matter whether they match a user in the receiving installation.  One workaround to achieve this would be to save the OAR with the --publish &amp;quot;save oar&amp;quot; option to strip owner information and then reload it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--debug&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| When --debug is specified the command will output more information onto the console about where objects and parcels are being placed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes On Regions of Different Sizes ==&lt;br /&gt;
With the addition of regions that have a size that can be a multiple of 256x256 (i.e. a [[Varregion]]) there is the possibility of loading OARs to and from regions of different sizes.&lt;br /&gt;
The load oar command now fully supports this and will load both smaller regions into larger ones and (cut out) pieces of larger regions into smaller ones. Parcel data is now handled correctly too.&lt;br /&gt;
&lt;br /&gt;
= Example Uses =&lt;br /&gt;
&lt;br /&gt;
== Replacing a region's contents with what's in an OAR file ==&lt;br /&gt;
Replacing a region with an OAR file for a region of the same size is as simple as:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar NewRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Merging together four region's worth of contents ==&lt;br /&gt;
Say you have four adjacent 256x256 region ('Region00.oar', 'Region01.oar', ...) and you want to load them into a new 512x512 [[Varregion]] ('BiggerRegion'). The commands would be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;change region BiggerRegion&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar Region00.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;0,256,0&amp;gt; Region01.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;256,0,0&amp;gt; Region10.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;256,256,0&amp;gt; Region11.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading a 256x256 region's contents into the middle of a 512x512 sized region ==&lt;br /&gt;
If you have an OAR file for a 256x256 region ('LegacyRegion.oar' for instance) and you want to set it into the middle of a 512x512 region with the loaded region rotated by 30 degrees without messing up the rest of the larger region, the command would be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --rotation 30 --displacement &amp;lt;128,128,0&amp;gt;  LegacyRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading part of a 512x512 VarRegion into a standard 256x256 sized region ==&lt;br /&gt;
Say you have a 512x512 [[Varregion]] with an island in the middle that's about the size of standard region (256x256m), you could use the following command to rotate it, cut it out and place it in the standard region:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --rotation 90 --bounding-origin &amp;lt;128,128,0&amp;gt; --bounding-size &amp;lt;256,256,4096&amp;gt; VarRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Visualising how it works =&lt;br /&gt;
&lt;br /&gt;
The new 'load oar' parameters work in the following order and this is *important to remember*:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt; -359 to +359 degress. The source region is rotated by the desired amount anticlockwise in degrees. If not specified then no rotation takes place. The coordinates within the source region are the same after rotation, so for example the middle of a 256x256 region will still be at &amp;lt;128, 128&amp;gt; after a 45 degree rotation, but the original SW corner will now be at new coordinates &amp;lt;128, -53&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--bounding-origin &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;--bounding-size &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt; The (possibly rotated) source region is then cropped to a cube or rectangular cuboid defined by the coordinates given.&lt;br /&gt;
&lt;br /&gt;
The resultant cuboid will then be placed at &amp;lt;tt&amp;gt;&amp;lt;0, 0, 0&amp;gt;&amp;lt;/tt&amp;gt; in the destination region unless modified by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--displacement &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt; The rotated and cropped data is offset into the destination region by this amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some things to note:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt; applies to all of the source region's data, that is terrain, parcels and objects (prims). Both terrain, and even more so, parcels do not rotate well using arbitary rotations like 45 degrees as the edges will become jagged, but it's still supported.&lt;br /&gt;
&lt;br /&gt;
== In Pictures ==&lt;br /&gt;
The following four diagrams attempt to show examples of the work flow for various combinations of source and destination region sizes:&lt;br /&gt;
&lt;br /&gt;
[[Image:standard-to-standard.png|800px|left|standard to standard]]&lt;br /&gt;
&lt;br /&gt;
[[Image:standard-to-var.png|800px|left|standard to var]]&lt;br /&gt;
&lt;br /&gt;
[[Image:var-to-standard.png|800px|left|var to standard]]&lt;br /&gt;
&lt;br /&gt;
[[Image:var-to-var.png|800px|left|var to var]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Tech Reference]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2025-03-17T00:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Asset Commands */ * fcache clearnegatives&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks|Server_Commands}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance find &amp;lt;uuid-or-start-of-uuid&amp;gt; - Find out which avatar uses the given asset as a baked texture, if any.&lt;br /&gt;
* appearance rebake &amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt; - Send a request to the user's viewer for it to rebake and reupload its appearance textures.&lt;br /&gt;
* appearance send [&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;] - Send appearance data for each avatar in the simulator to other viewers.&lt;br /&gt;
* appearance show [&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;] - Show appearance information for avatars.&lt;br /&gt;
&lt;br /&gt;
Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache clearnegatives - just clear negative cache entries if enabled&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
* land clear - Clears all parcels on the land.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object id &amp;lt;UUID-or-localID&amp;gt; - Delete a scene object by uuid or localID. Pre 0.7.5, this was &amp;quot;delete object uuid&amp;quot;.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object id &amp;lt;UUID-or-localID&amp;gt; - Show details of a scene object with the given UUID or localID. Pre 0.7.5, this was &amp;quot;show object uuid&amp;quot;.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part id &amp;lt;UUID-or-localID&amp;gt; - Show details of a scene object parts with the given UUID or localID. Pre 0.7.5, this was &amp;quot;show part uuid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
:Flags can be one of the following:&lt;br /&gt;
:'''DefaultRegion'''	Used for new Rez. Random if multiple defined&lt;br /&gt;
:'''FallbackRegion'''	Regions we redirect to when the destination is down&lt;br /&gt;
:'''RegionOnline'''	Set when a region comes online, unset when it unregisters and DeleteOnUnregister is false&lt;br /&gt;
:'''NoDirectLogin'''	Region unavailable for direct logins (by name)&lt;br /&gt;
:'''Persistent'''	Don't remove on unregister&lt;br /&gt;
:'''LockedOut'''	Don't allow registration&lt;br /&gt;
:'''NoMove	'''Don't allow moving this region&lt;br /&gt;
:'''Reservation'''	This is an inactive reservation&lt;br /&gt;
:'''Authenticate'''	Require authentication&lt;br /&gt;
:'''Hyperlink'''	Record represents a HG link&lt;br /&gt;
:'''DefaultHGRegion'''	Record represents a default region for hypergrid teleports only.&lt;br /&gt;
:Note: flags are additive, there is no way to unset them from the console.&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file. (see note1)&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
Note1 : If you have a sim with multiple regions and you want to set all regions on that sim to be from one larger image you can use 'terrain load &amp;lt;file&amp;gt; &amp;lt;width in regions&amp;gt; &amp;lt;height in regions&amp;gt; &amp;lt;regionX&amp;gt; &amp;lt;regionY&amp;gt; where regionX and regionY are the coordinates of the bottom-left region.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
=== [[YEngine]] Commands ===&lt;br /&gt;
* yeng help&lt;br /&gt;
* yeng reset -all | &amp;lt;part-of-script-name&amp;gt;&lt;br /&gt;
* yeng resume - resume script processing&lt;br /&gt;
* yeng suspend - suspend script processing&lt;br /&gt;
* yeng ls -full -max=&amp;lt;number&amp;gt; -out=&amp;lt;filename&amp;gt; -queues -topcpu&lt;br /&gt;
* yeng cvv - show compiler version value&lt;br /&gt;
* yeng mvv [&amp;lt;newvalue&amp;gt;] - show migration version value&lt;br /&gt;
* yeng tracecalls [yes | no]&lt;br /&gt;
* yeng verbose [yes | no]&lt;br /&gt;
* yeng pev -all | &amp;lt;part-of-script-name&amp;gt; &amp;lt;event-name&amp;gt; &amp;lt;params...&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset &amp;lt;ID&amp;gt; - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [Email] [Primary UUID] [Model} - creates a new user&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:If UUID is nul or whitespace a UUID will be generated for you.&lt;br /&gt;
:&lt;br /&gt;
:Model is the &amp;quot;first lastname&amp;quot; of another user, that user's outfit will be cloned to the new user.&lt;br /&gt;
:&lt;br /&gt;
* reset user password - This command ''sets'' a new password for a user and directly updates the database. It does not ''reset'' the password to a default or temporary value, as the term might suggest.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0 (dead link)&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping - Link a HyperGrid region. Not sure how this differs from link-mapping.&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - simulator frames per second&lt;br /&gt;
* PhyFPS - physics frames per second&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Inventory_Archives</id>
		<title>Inventory Archives</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Inventory_Archives"/>
				<updated>2025-03-16T23:32:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* save iar */ added option --skipbadassets to iar save.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
OpenSimulator Inventory Archives (IARs) are a means by which inventory folders and items can be saved offline to a single file (an IAR). This file can then be loaded into a different OpenSimulator installation.&lt;br /&gt;
&lt;br /&gt;
Like [[OpenSim Archives]], IARs save all the necessary asset data required to fully restore the items including textures, sounds, scripts and objects contained in the inventory of other objects.&lt;br /&gt;
&lt;br /&gt;
IARs have been enabled in OpenSimulator since Git revision 5a64ca (OpenSimulator 0.6.7 and later).&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
&lt;br /&gt;
IARs are saved and loaded from the region console.  By default, they are saved to the /bin directory of your installation, and an IAR file must be located in the /bin directory to be imported.&lt;br /&gt;
&lt;br /&gt;
== save iar ==&lt;br /&gt;
&lt;br /&gt;
The command to save an IAR on the region console is&lt;br /&gt;
&lt;br /&gt;
 save iar [-h|--home=&amp;lt;url&amp;gt;] [-v|--verbose] [--noassets] [--perm=&amp;lt;permissions&amp;gt;] [--skipbadassets] &amp;lt;user-name&amp;gt; &amp;lt;path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;filename&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
where &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;user-name&amp;gt; is the name of the user to save inventory from&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;path&amp;gt; is the path to an inventory item or folder. If the path is for a folder, that folder and all its contents (both descendant folders and items) are saved. If the path is for an item, then only that item is saved. &lt;br /&gt;
&lt;br /&gt;
Components of the path are separated by a forward slash (&amp;quot;/&amp;quot;). If you need to specify a path with spaces, you can surround the whole thing with double quotation marks (e.g. &amp;quot;Folder A/Folder B&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
You can specify that the contents of a folder should be saved rather than the folder itself using the * wildcard. For instance, &amp;quot;a/b/*&amp;quot; will save the contents of folder b but not folder b itself.&lt;br /&gt;
&lt;br /&gt;
If a name or folder contains a forward slash (&amp;quot;/&amp;quot;) then it can be escaped with the backslash (i.e. &amp;quot;\/&amp;quot;) to stop it being seen as a path separator. Back slashes themselves need to be escaped with another backslash (i.e. &amp;quot;\\&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
One further issue here is that it's not possible to distinguish between identically named folders or items on the path - the workaround is to rename your items/folders if you need to specify them in the path :)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;password&amp;gt; is the password of the user.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;filename&amp;gt; is an optional filename for the IAR. If none is supplied, then the filename user-inventory.iar is used in the current directory. I recommend that IARs have the .iar extension.&lt;br /&gt;
&lt;br /&gt;
=== Switches ===&lt;br /&gt;
* If the option --skipbadassets is added, this will skip inventory items with missing or empty parts. Only in code after  0.9.3 (dev) commit #b13c4c as of [2025-02-10 22:52:53]&lt;br /&gt;
* If the --noassets option is specified, then the archive will be saved without assets. This can be handy if you're backing up the asset database separately and don't want the expense of including all the assets in each archive.&lt;br /&gt;
* --home=&amp;lt;url&amp;gt; is the URL of this world's profile service. It is not required that the profile service is operational; the information will be saved, and it will be displayed wherever the archive will be loaded. NOTE: the older --profile option (the previous name of this switch) produced IARs that are not compatible with OpenSimulator 0.7.0.2 and earlier; do not use this option if you want to produce a compatible IAR.&lt;br /&gt;
* --verbose prints out versbose saving messages&lt;br /&gt;
* If the --perm option is specified then items with insufficient permissions will not be saved to the IAR. This can be useful for grids that allow their customers to export their inventorys to IARs, because it ensures that exporting to IAR can't be used to bypass content permissions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;permissions&amp;gt; specifies which permissions are required. It's a string that contains one or more of these characters:&lt;br /&gt;
* &amp;quot;C&amp;quot; = Copy&lt;br /&gt;
* &amp;quot;T&amp;quot; = Transfer&lt;br /&gt;
* &amp;quot;M&amp;quot; = Modify&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here's an example. Suppose you have an inventory structure like this&lt;br /&gt;
&lt;br /&gt;
 My Inventory&lt;br /&gt;
   |&lt;br /&gt;
   +-- FolderA&lt;br /&gt;
         |  &lt;br /&gt;
         +-- FolderB&lt;br /&gt;
         |      |&lt;br /&gt;
         |      +-- ItemX&lt;br /&gt;
         |&lt;br /&gt;
         +-- ItemY&lt;br /&gt;
&lt;br /&gt;
If you type &lt;br /&gt;
&lt;br /&gt;
 save iar John Doe FolderA PASSWORD my-items.iar&lt;br /&gt;
&lt;br /&gt;
then FolderA and everything in FolderA (FolderB, ItemX and ItemY) will be saved into an IAR called my-items.iar. On the other hand, if you type&lt;br /&gt;
&lt;br /&gt;
 save iar John Doe FolderA/FolderB/ItemX PASSWORD my-items.iar&lt;br /&gt;
&lt;br /&gt;
then only ItemX will be saved.&lt;br /&gt;
&lt;br /&gt;
If there is a space in the path to the item, for example if John Doe's folder was named &amp;quot;Folder A&amp;quot; instead of &amp;quot;FolderA&amp;quot;, then quotes around the path are necessary on the command line:&lt;br /&gt;
&lt;br /&gt;
 save iar John Doe &amp;quot;Folder A/FolderB/ItemX&amp;quot; PASSWORD my-items.iar&lt;br /&gt;
&lt;br /&gt;
==== Saving an entire user's inventory ====&lt;br /&gt;
&lt;br /&gt;
With save iar you can save your entire inventory as well as the contents of particular folders or individual items.&lt;br /&gt;
&lt;br /&gt;
For instance, typing&lt;br /&gt;
&lt;br /&gt;
 save iar John Doe /* password&lt;br /&gt;
&lt;br /&gt;
would save your entire inventory to user-inventory.iar (since no filename was given).  This can later be restored using the --merge switch in the load iar command.  For more details please see the &amp;quot;Restoring an entire user's inventory&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
'''Please note that for OpenSimulator 0.7.5 and before, the path for save iar must be specified as &amp;quot;/*&amp;quot; and not just &amp;quot;/&amp;quot;.  Specifying only &amp;quot;/&amp;quot; will still save the entire inventory but there will be a base folder called &amp;quot;My Inventory&amp;quot;, which will be created on reload under a user's existing &amp;quot;My Inventory&amp;quot; folder.'''&lt;br /&gt;
&lt;br /&gt;
'''From OpenSimulator git master dev code commit d54d3180 (Sat Feb 16 00:49:06 2013), &amp;quot;/&amp;quot; will also instead save the user's entire inventory without the &amp;quot;My Inventory&amp;quot; folder.  This is because &amp;quot;My Inventory&amp;quot; is not actually a real folder but rather the name of the user's inventory.  I believe this is more intuitive and it means that inventories saved using / can be restored using the load iar --merge function as well.  This change will be in the next OpenSimulator release (0.7.6). -- [[User:Justincc|Justincc]] 02:26, 16 February 2013 (UTC)'''&lt;br /&gt;
&lt;br /&gt;
== load iar ==&lt;br /&gt;
&lt;br /&gt;
An IAR can be reloaded to an OpenSimulator instance with the load iar command&lt;br /&gt;
&lt;br /&gt;
 load iar [-m|--merge] &amp;lt;user-name&amp;gt; &amp;lt;path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;filename&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;user name&amp;gt; is the name of the user to whom to load the inventory&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;path&amp;gt; is the path to which the IAR should be loaded. This has to be a folder which already exists in &amp;quot;My Inventory&amp;quot;. See the save iar command for more details.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;password&amp;gt; is the password of the user.&lt;br /&gt;
&lt;br /&gt;
* [&amp;lt;filename&amp;gt;] is an optional filename for the IAR. If none is specified, then the filename is assumed to be user-inventory.iar in the current directory.&lt;br /&gt;
&lt;br /&gt;
=== Switches ===&lt;br /&gt;
&lt;br /&gt;
* If the --merge option is given, then IAR items are loaded into the existing folder structure where possible, instead of always creating new folders.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
1.  Suppose that &amp;quot;David Hume&amp;quot; has recieved the my-items.iar saved above containing FolderA, FolderB, ItemX and ItemY. David Hume already has an inventory structure like this. &lt;br /&gt;
&lt;br /&gt;
 My Inventory&lt;br /&gt;
  |&lt;br /&gt;
  +-- Folder1&lt;br /&gt;
        |  &lt;br /&gt;
        +-- Folder2&lt;br /&gt;
        |      &lt;br /&gt;
        +-- Folder3&lt;br /&gt;
&lt;br /&gt;
David wants to load the IAR to Folder3, so on the region console he executes &lt;br /&gt;
&lt;br /&gt;
 load iar David Hume Folder1/Folder3 password my-items.iar&lt;br /&gt;
&lt;br /&gt;
After a little while he ends up with the folder structure &lt;br /&gt;
&lt;br /&gt;
 My Inventory&lt;br /&gt;
  |&lt;br /&gt;
  +-- Folder1&lt;br /&gt;
        |  &lt;br /&gt;
        +-- Folder2&lt;br /&gt;
        |&lt;br /&gt;
        +-- Folder3 &lt;br /&gt;
              |&lt;br /&gt;
              +-- FolderA&lt;br /&gt;
              |  &lt;br /&gt;
              +-- FolderB&lt;br /&gt;
              |      |&lt;br /&gt;
              |      +-- ItemX&lt;br /&gt;
              |&lt;br /&gt;
              +-- ItemY&lt;br /&gt;
&lt;br /&gt;
where ItemX and ItemY are ready for rezzing. &lt;br /&gt;
&lt;br /&gt;
If there is a space in the path to the item, for example if David's folder was named &amp;quot;Folder 1&amp;quot; instead of &amp;quot;Folder1&amp;quot;, then quotes around the path are necessary on the command line:&lt;br /&gt;
&lt;br /&gt;
 load iar David Hume &amp;quot;Folder 1/Folder3&amp;quot; password my-items.iar&lt;br /&gt;
&lt;br /&gt;
From OpenSimulator 0.7 and onwards, you can also load IARs directly from web addresses. For example &lt;br /&gt;
&lt;br /&gt;
 load iar Betrand Russell Folder2 PASSWORD http://justincc.org/downloads/iars/my-great-items.iar&lt;br /&gt;
&lt;br /&gt;
will load my-great-items.iar from the web into Folder2 of the user &amp;quot;Bertrand Russell&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
2.  Let's suppose that a user called Albert Camus has an existing inventory structure &lt;br /&gt;
&lt;br /&gt;
 My Inventory&lt;br /&gt;
  |&lt;br /&gt;
  +-- FolderA&lt;br /&gt;
  |     |&lt;br /&gt;
  |     +-- Item1&lt;br /&gt;
  |&lt;br /&gt;
  +-- FolderC&lt;br /&gt;
        |&lt;br /&gt;
        +-- Item2&lt;br /&gt;
&lt;br /&gt;
and we execute &lt;br /&gt;
&lt;br /&gt;
 load iar --merge Albert Camus / PASSWORD my-items.iar&lt;br /&gt;
&lt;br /&gt;
with the IAR saved above. Instead of creating a duplicate FolderA, this will instead result in the inventory structure &lt;br /&gt;
&lt;br /&gt;
 My Inventory&lt;br /&gt;
  |&lt;br /&gt;
  +-- FolderA&lt;br /&gt;
  |     |&lt;br /&gt;
  |     +-- FolderB&lt;br /&gt;
  |     |      |&lt;br /&gt;
  |     |      +-- ItemX&lt;br /&gt;
  |     |&lt;br /&gt;
  |     +-- Item1&lt;br /&gt;
  |     |&lt;br /&gt;
  |     +-- ItemY&lt;br /&gt;
  |&lt;br /&gt;
  +-- FolderC&lt;br /&gt;
        |&lt;br /&gt;
        +-- Item2&lt;br /&gt;
&lt;br /&gt;
==== Restoring an entire user's inventory ====&lt;br /&gt;
&lt;br /&gt;
The --merge option is useful if you are restoring a saved inventory to a new user account, since the base folders (Gestures, Landmarks, Objects, etc.) will not be duplicated.&lt;br /&gt;
&lt;br /&gt;
For instance, if you have saved a whole user's inventory as detailed above, you can restore it to a freshly created user's inventory with the command.&lt;br /&gt;
&lt;br /&gt;
 load iar --merge Albert Camus / PASSWORD my-inventory.iar&lt;br /&gt;
&lt;br /&gt;
= Use cases =&lt;br /&gt;
&lt;br /&gt;
Possible uses&lt;br /&gt;
&lt;br /&gt;
1. To distribute content to other OpenSimulator installations without need to transfer entire regions. One drawback with IARs for this use case is that creator names are not preserved unless the user has a profile on the target installation. One workaround is to include a notecard detailing the creator and license conditions of the content.&lt;br /&gt;
&lt;br /&gt;
2. To backup a user's inventory. IARs are currently not that great for this. One can backup an entire inventory by giving a path of &amp;quot;/&amp;quot; to the save iar command. But a load IAR of the same will mean a duplicate set of root child 'standard' folders (Objects, Textures, Clothing, etc.). The loaded folders will not have any type icons.&lt;br /&gt;
&lt;br /&gt;
== Current limitations ==&lt;br /&gt;
&lt;br /&gt;
* IAR loading and saving is currently done on a single thread. This may lock up the console for a while with very large IARs. This should be addressed in the future&lt;br /&gt;
&lt;br /&gt;
* Creator names are not preserved unless the profile exists on the target system. This problem may be addressed in the future.&lt;br /&gt;
&lt;br /&gt;
== IAR Format ==&lt;br /&gt;
&lt;br /&gt;
The OpenSimulator [[Inventory Archives|Inventory Archive (IAR)]] format is designed with three aims in mind:&lt;br /&gt;
&lt;br /&gt;
# Make it easy for people to read and update individual items, assets, etc. within an archive.&lt;br /&gt;
# Make it easy to compose two inventory archives into a single inventory archive.&lt;br /&gt;
# Make it easy to compose archives from scratch.&lt;br /&gt;
&lt;br /&gt;
Therefore, all the different entities (assets, items, etc.) are packaged in individual files (e.g. one for each asset) with human readable filenames and machine readable extensions (e.g. .jp2 for textures, .txt for notecards).&lt;br /&gt;
* [[IAR Format 0.1]]&lt;br /&gt;
* [[IAR Format 0.2]]&lt;br /&gt;
* [[IAR Format 0.3]]&lt;br /&gt;
&lt;br /&gt;
= Bugs =&lt;br /&gt;
&lt;br /&gt;
Please search the OpenSimulator Mantis for information on current IAR bugs. &lt;br /&gt;
&lt;br /&gt;
FEB.23.2010: &lt;br /&gt;
&lt;br /&gt;
There is a slight &amp;quot;quirk&amp;quot;&amp;amp;nbsp;with MySql in regards to Max_Allowed_Packet size, which the default is 1 Megabyte.&amp;amp;nbsp; This is too small for some of the larger data blobs being stored.&amp;amp;nbsp; It is recomended to increase the default value to 16 Megabytes. &lt;br /&gt;
&lt;br /&gt;
Locate your MY.ini for MySql (EXAMPLE, in Windows it is located @ &amp;quot;C:\Program Files\MySQL\MySQL Server 5.1&amp;quot;)&amp;amp;nbsp; Modify this file to include the following under the mysqld section: &lt;br /&gt;
&lt;br /&gt;
'''[mysqld]''' &lt;br /&gt;
&lt;br /&gt;
# The TCP/IP Port the MySQL Server will listen on&amp;lt;br /&amp;gt;port=3306&amp;lt;br /&amp;gt;max_allowed_packet = 16M&lt;br /&gt;
&lt;br /&gt;
'''Additional Reference''':&amp;amp;nbsp; [http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html dev.mysql.com/doc/refman/5.1/en/packet-too-large.html]&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
Operational. Bug reports appreciated through the usual Mantis channels.&lt;br /&gt;
&lt;br /&gt;
Though we will strive to maintain compatibilty for old archives with newer OpenSimulator versions, please do not rely on these archives as your only backup for inventory.&lt;br /&gt;
&lt;br /&gt;
= Downloadable IAR files =&lt;br /&gt;
&lt;br /&gt;
* http://justincc.org/downloads/iars/my-great-items.iar - justincc's initial example IAR. (Broken link)&lt;br /&gt;
* http://www.aviefactory.com/Gene_Jacobs_Clothes.iar - Gene Jacobs Men's Clothing Collection (Original Creator)(Broken link)&lt;br /&gt;
* http://www.aviefactory.com/Genes_Female_Stuff.iar - Female Skins and Shapes (Found off the web)(Broken link)&lt;br /&gt;
* http://www.gridhop.net/IAR/lightshare.iar - [[User:Thomax|txOh]]'s LightShare controller. Useful only if you have [[LightShare]] enabled in OpenSim.ini.(Broken link)&lt;br /&gt;
&lt;br /&gt;
Please feel free to place links to other IARs here.&lt;br /&gt;
&lt;br /&gt;
= External Links =&lt;br /&gt;
&lt;br /&gt;
[http://justincc.org/blog/category/iars/ http://justincc.org/blog/category/iars/] - articles by justincc on IARs, including tutorials, background information and possible future developments.(Broken link)&lt;br /&gt;
&lt;br /&gt;
[http://www.metaverseink.com/blog/?p=29 The OpenSimulator Library just got more interesting] - Diva Canto's article on how to extend the OpenSimulator Library using IARs.&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSim Archives|How to use OpenSimulator Archives (OAR)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Tech Reference]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Load_Oar_0.9.0%2B</id>
		<title>Load Oar 0.9.0+</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Load_Oar_0.9.0%2B"/>
				<updated>2025-03-16T23:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Parameters */  added --force-assets - will need update of dev number on next release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= Load Oar Console Command =&lt;br /&gt;
&lt;br /&gt;
This page provides information on the 'load oar' console command from OpenSimulator version 0.9.0 onwards.&lt;br /&gt;
&lt;br /&gt;
Once you have saved regions in OAR files, the 'load oar' console command will load the OAR file into the current region. There are many parameters that enable replacing the region's current contents or merging the OAR file's contents with the objects, terrain and parcels already in the region.&lt;br /&gt;
&lt;br /&gt;
'''Note: If you are using a version of OpenSimulator less than 0.9.0 then please see the original [[Load Oar]] page.'''&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
The load oar command in OpenSimulator version 0.9.0 onwards has the format:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar [parameters] OARFILE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;OARFILE&amp;quot; is the path to the OAR file to read in, and &amp;quot;[parameters]&amp;quot; is zero or more optional parameters from the following list:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 10em&amp;quot; | Parameter&lt;br /&gt;
! Since Version&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--merge&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.6.8&lt;br /&gt;
| Specify to merge the contents of the reading OAR with the existing contents in the region.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--skip-assets&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.6.9&lt;br /&gt;
| If set, this will not load any of the assets from the OAR, though all other data will be loaded. This saves a lot of time and database operations if loading an OAR multiple times on a grid -- specify &amp;lt;tt&amp;gt;--skip-assets&amp;lt;/tt&amp;gt; after the first time the OAR is loaded on a grid as the assets would have already been loaded the first time the OAR files was loaded.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| The degrees to rotate all the objects loaded from the source OAR. This rotates terrain, parcel data and objects (prims) and is degrees counter-clockwise.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--rotation-center&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8, but deprecated in 0.9&lt;br /&gt;
| The center around which to rotate objects on load. From 0.9.0 the source region's data is always rotated around it's center, prior to cutting a piece out and placing it. The parameter will likely be removed in 0.9.1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--bounding-origin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| The SW corner of a bounding cubiod that is used to 'cut out' data from the source OAR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--bounding-size&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| The size of the bounding cuboid used to 'cut out' data from the source OAR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--displacement&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Specify a displacement that is added to all data as it is added to the destination region. The displacement MUST be specified as &amp;quot;&amp;lt;x,y,z&amp;gt;&amp;quot;. So, for instance, to load an OAR from a 256x256 region into the middle of a larger 512x512 region, the parameter would be &amp;lt;tt&amp;gt;--displacement &amp;quot;&amp;lt;128,128,0&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;. Note that you can specify a &amp;quot;Z&amp;quot; displacement which will move the objects up or down. Thus &amp;lt;tt&amp;gt;--displacement &amp;quot;&amp;lt;0,0,1000&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; will put all the OAR's objects up high for a sky box.&lt;br /&gt;
&lt;br /&gt;
The displacement is also applied to the terrain if it is included. The 'z' component is added to the terrain's heights.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| 0.9&lt;br /&gt;
| Displacement is the offset into the destination region after the data from the source region has been rotated and cropped.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--no-objects&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Don't load any scene objects.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-assets&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9.3 dev&lt;br /&gt;
| If you add option --force-assets to load oar, this will force replace of assets in region cache. Currently in Dev Master at commit #af75c37543eda [2025-02-11 01:00:35]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-terrain&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Force terrain loading on --merge.  Normally, --merge does not overwrite the existing region's terrain.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--force-parcels&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Force parcel loading on --merge.  Normally, --merge does not overwrite the existing region's parcel data.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--default-user &amp;quot;&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.8&lt;br /&gt;
| Instead of setting object ownership to the estate owner, assign it to the named user.  This only applies to objects that have UUIDs that do not match any user account in the receiving grid's installation.  There is currently no option that will force a change of owner for all loaded objects no matter whether they match a user in the receiving installation.  One workaround to achieve this would be to save the OAR with the --publish &amp;quot;save oar&amp;quot; option to strip owner information and then reload it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;--debug&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0.9&lt;br /&gt;
| When --debug is specified the command will output more information onto the console about where objects and parcels are being placed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes On Regions of Different Sizes ==&lt;br /&gt;
With the addition of regions that have a size that can be a multiple of 256x256 (i.e. a [[Varregion]]) there is the possibility of loading OARs to and from regions of different sizes.&lt;br /&gt;
The load oar command now fully supports this and will load both smaller regions into larger ones and (cut out) pieces of larger regions into smaller ones. Parcel data is now handled correctly too.&lt;br /&gt;
&lt;br /&gt;
= Example Uses =&lt;br /&gt;
&lt;br /&gt;
== Replacing a region's contents with what's in an OAR file ==&lt;br /&gt;
Replacing a region with an OAR file for a region of the same size is as simple as:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar NewRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Merging together four region's worth of contents ==&lt;br /&gt;
Say you have four adjacent 256x256 region ('Region00.oar', 'Region01.oar', ...) and you want to load them into a new 512x512 [[Varregion]] ('BiggerRegion'). The commands would be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;change region BiggerRegion&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar Region00.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;0,256,0&amp;gt; Region01.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;256,0,0&amp;gt; Region10.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --displacement &amp;lt;256,256,0&amp;gt; Region11.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading a 256x256 region's contents into the middle of a 512x512 sized region ==&lt;br /&gt;
If you have an OAR file for a 256x256 region ('LegacyRegion.oar' for instance) and you want to set it into the middle of a 512x512 region with the loaded region rotated by 30 degrees without messing up the rest of the larger region, the command would be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --merge --force-terrain --force-parcels --rotation 30 --displacement &amp;lt;128,128,0&amp;gt;  LegacyRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading part of a 512x512 VarRegion into a standard 256x256 sized region ==&lt;br /&gt;
Say you have a 512x512 [[Varregion]] with an island in the middle that's about the size of standard region (256x256m), you could use the following command to rotate it, cut it out and place it in the standard region:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;load oar --rotation 90 --bounding-origin &amp;lt;128,128,0&amp;gt; --bounding-size &amp;lt;256,256,4096&amp;gt; VarRegion.oar&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Visualising how it works =&lt;br /&gt;
&lt;br /&gt;
The new 'load oar' parameters work in the following order and this is *important to remember*:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt; -359 to +359 degress. The source region is rotated by the desired amount anticlockwise in degrees. If not specified then no rotation takes place. The coordinates within the source region are the same after rotation, so for example the middle of a 256x256 region will still be at &amp;lt;128, 128&amp;gt; after a 45 degree rotation, but the original SW corner will now be at new coordinates &amp;lt;128, -53&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--bounding-origin &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;--bounding-size &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt; The (possibly rotated) source region is then cropped to a cube or rectangular cuboid defined by the coordinates given.&lt;br /&gt;
&lt;br /&gt;
The resultant cuboid will then be placed at &amp;lt;tt&amp;gt;&amp;lt;0, 0, 0&amp;gt;&amp;lt;/tt&amp;gt; in the destination region unless modified by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--displacement &amp;lt;x, y, z&amp;gt;&amp;lt;/tt&amp;gt; The rotated and cropped data is offset into the destination region by this amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some things to note:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--rotation&amp;lt;/tt&amp;gt; applies to all of the source region's data, that is terrain, parcels and objects (prims). Both terrain, and even more so, parcels do not rotate well using arbitary rotations like 45 degrees as the edges will become jagged, but it's still supported.&lt;br /&gt;
&lt;br /&gt;
== In Pictures ==&lt;br /&gt;
The following four diagrams attempt to show examples of the work flow for various combinations of source and destination region sizes:&lt;br /&gt;
&lt;br /&gt;
[[Image:standard-to-standard.png|800px|left|standard to standard]]&lt;br /&gt;
&lt;br /&gt;
[[Image:standard-to-var.png|800px|left|standard to var]]&lt;br /&gt;
&lt;br /&gt;
[[Image:var-to-standard.png|800px|left|var to standard]]&lt;br /&gt;
&lt;br /&gt;
[[Image:var-to-var.png|800px|left|var to var]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Tech Reference]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_shutdown</id>
		<title>RemoteAdmin:admin shutdown</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_shutdown"/>
				<updated>2024-08-01T05:32:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Optional Parameters */ add missing parameters for admin_shutdown command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_shutdown''' remotely allows to shutdown the simulator. Agents in the Region recieve a warning. All regions in the instance will be shut down. When using the optional ''shutdown'' and ''milliseconds'' parameter the shut down is delayed by the specified miliseconds.&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_shutdown ===&lt;br /&gt;
If not all functions are enabled, use admin_shutdown 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_shutdown,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required.&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;
| ''shutdown''&lt;br /&gt;
| use shutdown together with ''milliseconds'' to trigger a delayed shutdown.&lt;br /&gt;
| &amp;quot;delayed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''milliseconds''&lt;br /&gt;
| milliseconds till region shuts down.&lt;br /&gt;
| &amp;quot;delayed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''noticetype''&lt;br /&gt;
| send a notification to users in region&lt;br /&gt;
| &amp;quot;dialog&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''noticetype''&lt;br /&gt;
| send a general alert&lt;br /&gt;
| &amp;quot;none&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;
| ''success''&lt;br /&gt;
| true when successfull&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| ''accepted''&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;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* Returned Parameter ''success'' only implemeted for true, patch in work by Michelle Argus to implement ''success'' fully&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [[RemoteAdmin:RemoteAdmin_Class|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_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('region_id'=&amp;gt; $region_id, 'shutdown' =&amp;gt; 'delayed', 'milliseconds' =&amp;gt; 60000);&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_shutdown', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RemoteAdmin]]&lt;br /&gt;
[[Category:RemoteAdmin Commands]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RemoteAdmin:admin_shutdown</id>
		<title>RemoteAdmin:admin shutdown</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RemoteAdmin:admin_shutdown"/>
				<updated>2024-08-01T05:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Required Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''admin_shutdown''' remotely allows to shutdown the simulator. Agents in the Region recieve a warning. All regions in the instance will be shut down. When using the optional ''shutdown'' and ''milliseconds'' parameter the shut down is delayed by the specified miliseconds.&lt;br /&gt;
&lt;br /&gt;
=== Enabling admin_shutdown ===&lt;br /&gt;
If not all functions are enabled, use admin_shutdown 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_shutdown,...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Required Parameters ===&lt;br /&gt;
No parameters are required.&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;
| ''shutdown''&lt;br /&gt;
| use shutdown together with ''milliseconds'' to trigger a delayed shutdown.&lt;br /&gt;
| &amp;quot;delayed&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''milliseconds''&lt;br /&gt;
| miliseconds till region shuts down.&lt;br /&gt;
| &amp;quot;delayed&amp;quot;&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;
| ''accepted''&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;
&lt;br /&gt;
&lt;br /&gt;
=== Error messages ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* Returned Parameter ''success'' only implemeted for true, patch in work by Michelle Argus to implement ''success'' fully&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
=== PHP ===&lt;br /&gt;
This example needs the RemoteAdmin PHP Class file available [[RemoteAdmin:RemoteAdmin_Class|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_create_user (multiple parameters)&lt;br /&gt;
$parameters = array('region_id'=&amp;gt; $region_id, 'shutdown' =&amp;gt; 'delayed', 'milliseconds' =&amp;gt; 60000);&lt;br /&gt;
$myRemoteAdmin-&amp;gt;SendCommand('admin_shutdown', $parameters);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RemoteAdmin]]&lt;br /&gt;
[[Category:RemoteAdmin Commands]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2024-03-22T14:56:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Estate Commands */   Must be a user UUID,m , drop the comma and m&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance find &amp;lt;uuid-or-start-of-uuid&amp;gt; - Find out which avatar uses the given asset as a baked texture, if any.&lt;br /&gt;
* appearance rebake &amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt; - Send a request to the user's viewer for it to rebake and reupload its appearance textures.&lt;br /&gt;
* appearance send [&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;] - Send appearance data for each avatar in the simulator to other viewers.&lt;br /&gt;
* appearance show [&amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;] - Show appearance information for avatars.&lt;br /&gt;
&lt;br /&gt;
Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
* land clear - Clears all parcels on the land.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
:Flags can be one of the following:&lt;br /&gt;
:'''DefaultRegion'''	Used for new Rez. Random if multiple defined&lt;br /&gt;
:'''FallbackRegion'''	Regions we redirect to when the destination is down&lt;br /&gt;
:'''RegionOnline'''	Set when a region comes online, unset when it unregisters and DeleteOnUnregister is false&lt;br /&gt;
:'''NoDirectLogin'''	Region unavailable for direct logins (by name)&lt;br /&gt;
:'''Persistent'''	Don't remove on unregister&lt;br /&gt;
:'''LockedOut'''	Don't allow registration&lt;br /&gt;
:'''NoMove	'''Don't allow moving this region&lt;br /&gt;
:'''Reservation'''	This is an inactive reservation&lt;br /&gt;
:'''Authenticate'''	Require authentication&lt;br /&gt;
:'''Hyperlink'''	Record represents a HG link&lt;br /&gt;
:'''DefaultHGRegion'''	Record represents a default region for hypergrid teleports only.&lt;br /&gt;
:Note: flags are additive, there is no way to unset them from the console.&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file. (see note1)&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
Note1 : If you have a sim with multiple regions and you want to set all regions on that sim to be from one larger image you can use 'terrain load &amp;lt;file&amp;gt; &amp;lt;width in regions&amp;gt; &amp;lt;height in regions&amp;gt; &amp;lt;regionX&amp;gt; &amp;lt;regionY&amp;gt; where regionX and regionY are the coordinates of the bottom-left region.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
=== [[YEngine]] Commands ===&lt;br /&gt;
* yeng help&lt;br /&gt;
* yeng reset -all | &amp;lt;part-of-script-name&amp;gt;&lt;br /&gt;
* yeng resume - resume script processing&lt;br /&gt;
* yeng suspend - suspend script processing&lt;br /&gt;
* yeng ls -full -max=&amp;lt;number&amp;gt; -out=&amp;lt;filename&amp;gt; -queues -topcpu&lt;br /&gt;
* yeng cvv - show compiler version value&lt;br /&gt;
* yeng mvv [&amp;lt;newvalue&amp;gt;] - show migration version value&lt;br /&gt;
* yeng tracecalls [yes | no]&lt;br /&gt;
* yeng verbose [yes | no]&lt;br /&gt;
* yeng pev -all | &amp;lt;part-of-script-name&amp;gt; &amp;lt;event-name&amp;gt; &amp;lt;params...&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset &amp;lt;ID&amp;gt; - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [Email] [Primary UUID] [Model} - creates a new user&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:If UUID is nul or whitespace a UUID will be generated for you.&lt;br /&gt;
:&lt;br /&gt;
:Model is the &amp;quot;first lastname&amp;quot; of another user, that user's outfit will be cloned to the new user.&lt;br /&gt;
:&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0 (dead link)&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping - Link a HyperGrid region. Not sure how this differs from link-mapping.&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - simulator frames per second&lt;br /&gt;
* PhyFPS - physics frames per second&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/PCampBot</id>
		<title>PCampBot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/PCampBot"/>
				<updated>2023-03-11T23:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Step 1: Create bot accounts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= Using pCampbot as of OpenSimulator 0.7.6 =&lt;br /&gt;
pCampBot has changed considerably in OpenSimulator development code. Here is the current usage statement that you'll get if you execute pCampBot.exe as of OpenSimulator 0.7.6.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: pCampBot &amp;lt;-loginuri loginuri&amp;gt; [OPTIONS]&lt;br /&gt;
Spawns a set of bots to test an OpenSim region&lt;br /&gt;
&lt;br /&gt;
  -l, -loginuri      loginuri for grid/standalone (required)&lt;br /&gt;
  -s, -start         start location for bots (optional).  Can be &amp;quot;last&amp;quot;, &amp;quot;home&amp;quot; or a specific location with or without co-ords (e.g. &amp;quot;region1&amp;quot; or &amp;quot;region2/50/30/90&amp;quot;&lt;br /&gt;
  -firstname         first name for the bots (required)&lt;br /&gt;
  -lastname          lastname for the bots (required).  Each lastname will have &amp;lt;bot-number&amp;gt; appended, e.g. Ima Bot0&lt;br /&gt;
  -password          password for the bots (required)&lt;br /&gt;
  -n, -botcount      number of bots to start (default: 1) (optional)&lt;br /&gt;
  -f, -from          starting number for login bot names, e.g. 25 will login Ima Bot25, Ima Bot26, etc.  (default: 0) (optional)&lt;br /&gt;
  -c, -connect       connect all bots at startup (optional)&lt;br /&gt;
  -b, behaviours     behaviours for bots.  Comma separated, e.g. n,p,g.  Default is p (required)&lt;br /&gt;
    current options are:&lt;br /&gt;
       p (physics  - bots constantly move and jump around)&lt;br /&gt;
       g (grab     - bots randomly click prims whether set clickable or not)&lt;br /&gt;
       n (none     - bots do nothing)&lt;br /&gt;
       t (teleport - bots regularly teleport between regions on the grid)&lt;br /&gt;
  -wear              folder from which to load appearance data, &amp;quot;no&amp;quot; if there is no such folder (default: no) (optional)&lt;br /&gt;
  -h, -help          show this message.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must have already created all the necessary bot accounts in the simulator before using pCampbot. It does not create these accounts on the fly.&lt;br /&gt;
&lt;br /&gt;
Because pCampbot connects bots using the [http://lib.openmetaverse.org libopenmetaverse] library in the same manner that an ordinary viewer program would connect, you can use the pCampbot in 0.7.6 or later to test earlier versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The -wear option almost certainly doesn't work. The others are operational.&lt;br /&gt;
&lt;br /&gt;
On using this facility you'll get a console command line similar to the one in OpenSimulator and Robust. Type &amp;quot;help&amp;quot; at this prompt to see further commands.&lt;br /&gt;
&lt;br /&gt;
== Optional pCampbot.ini configuration ==&lt;br /&gt;
pCampbot has some further optional configuration options relating to detailed bot behaviour in pCampbot.ini.example.  To change these from the defaults&lt;br /&gt;
&lt;br /&gt;
 cp pCampbot.ini.example pCampbot.ini&lt;br /&gt;
&lt;br /&gt;
and change pCampbot.ini accordingly.&lt;br /&gt;
&lt;br /&gt;
== Caveats ==&lt;br /&gt;
&lt;br /&gt;
* A pCampBot synthetic bot load is still an extremely poor proxy for a 'real' connection (i.e. a real human being logging in with a viewer and doing all the things they expect to be able to do in a virtual world).  Real connections are very likely to place different stresses on the simulator so real-world performance may be considerably different and poorer than synthetic load tests would suggest.&lt;br /&gt;
&lt;br /&gt;
* There are some things you can do to improve this in pCampbot.  For instance, if you have RequestObjectTextures set in pCampbot.ini then pCampbot will request textures for all objects it sees.  This is both much less stressful than a real scenario (since for a particular sets of bots textures are only requested once) and more stressful (since there is never any caching).&lt;br /&gt;
&lt;br /&gt;
* pCampbot does currently not work well if there are any surrounding regions.  Avatars will currently just walk off into oblivion.  You must either build fences or remove such regions.  In testing so far, the presence of neighbouring regions does not have any great impact on performance in the region occupied by bots.  However, these tests were performed with blank surrounding regions - surrounding regions containing objects will place more initial stress on the bot connections as object data is downloaded (and textures if this option is active).&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Okay, let's suppose that we're on Linux and want to create a 5 bot synthetic load test on a region called myregion1.  Depending on your bandwidth and the bot settings you can connect quite a large number of bots but for this example we will stick with 5.  Here are the steps to take.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Create bot accounts ===&lt;br /&gt;
The first step is to create 5 bot accounts, all with the same password.  Each bot account must have the same first name and the same last name prefix.  But each bot must also have its last name prefix appended its bot number, starting from 0.  In this case, we want five bots, and lets suppose we will call them &amp;quot;ima bot&amp;quot;.  Then the five accounts that we want are&lt;br /&gt;
&lt;br /&gt;
 ima bot0&lt;br /&gt;
 ima bot1&lt;br /&gt;
 ima bot2&lt;br /&gt;
 ima bot3&lt;br /&gt;
 ima bot4&lt;br /&gt;
&lt;br /&gt;
The classic way to create a user account is to do it by using the &amp;quot;create user&amp;quot; command on the OpenSimulator standalone or Robust service console, depending on whether one is running in standalone or grid mode.  However, this can be laborious, particularly if one needs hundreds of bot accounts.  There's a very basic python script at https://github.com/justincc/opensimulator-tools/blob/master/create-user-line-generator/src/culg.py ( dead link ) which will generate the user lines needed, giving each account a non-random UUID for later debugging purposes.  The lines that this script generated can be pasted directly into the OpenSimulator console.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Start pCampbot ===&lt;br /&gt;
The next step is to start up pCampbot with the required connection parameters.  Let us suppose that you want to test against a region called &amp;quot;r1&amp;quot; on a local grid with a loginuri of &amp;lt;nowiki&amp;gt;http://192.168.1.2:8002&amp;lt;/nowiki&amp;gt;.  Let us assume that you've given the bots the password &amp;quot;plentyofruth&amp;quot;. The command to run is then&lt;br /&gt;
&lt;br /&gt;
 mono --debug pCampBot.exe -loginuri &amp;lt;nowiki&amp;gt;http://192.168.1.2:8002&amp;lt;/nowiki&amp;gt; -s r1 -firstname ima -lastname bot -password plentyofruth&lt;br /&gt;
&lt;br /&gt;
This will start up pCampbot and you'll see a familiar console command line as you would on a simulator or Robust console.  As with the other consoles, you can type &amp;quot;help&amp;quot; to get a list of commands.&lt;br /&gt;
&lt;br /&gt;
As of OpenSimulator 0.7.6, pCampbot by default starts without automatically connecting the bots.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Connect the bots ===&lt;br /&gt;
Once you're ready, type the command&lt;br /&gt;
&lt;br /&gt;
 conn&lt;br /&gt;
&lt;br /&gt;
to start connecting the bots.  You will see the connection messages on the console and if all goes well you'll see the bots appear on the region.  The default bot behaviour is &amp;quot;physics&amp;quot;, so the bots will start walking and jumping around to test and load up region physics.&lt;br /&gt;
&lt;br /&gt;
A client connection is a complicated affair so you'll probably see many warnings and debug messages of different severity on the console.  But as long as the bot it present in the region you can assume that the connection has succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Assess performance ===&lt;br /&gt;
Now this is quite tricky, since there's currently no automated way of assessing simulator or connection performance.  Manual ways to assess this include logging in a viewer to the same region to get a feel for avatar movement (e.g. is it jerky, is there rubberbanding, is chat delayed, etc.) and to see [[Client_side_monitoring|viewer statistics]] such as Ping Sim, Packet Loss, Physics Time (frame) and Spare Time (frame).  &lt;br /&gt;
&lt;br /&gt;
However, one needs to be extremely careful if logging in using a viewer on the same machine from which the bots are running.  The bots should really be running from a different machine or ideally even from a different network in order to get a more accurate picture of current simulator performance.&lt;br /&gt;
&lt;br /&gt;
One can also look at [[Monitoring|server side monitoring]], particularly &amp;quot;show stats clientstack&amp;quot; which will show various client stack related statistics (this is the part of the OpenSimulator code that handles receiving and sending of UDP messages from viewers).  In particular, the InboxPacketsCount should be constantly 0 or near 0 - a build up here means that your simulator is receiving UDP packets quicker than it can process them.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Disconnect bots ===&lt;br /&gt;
Once you've finished, you can disconnect the bots in an orderly fashion with the command&lt;br /&gt;
&lt;br /&gt;
 disconn&lt;br /&gt;
&lt;br /&gt;
Once all the bots are disconnected you can exit pCampbot with the command&lt;br /&gt;
 &lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
or reconnect the bots if you want.  You can also see the current connection status of bots with the command&lt;br /&gt;
&lt;br /&gt;
 show bots&lt;br /&gt;
&lt;br /&gt;
at any time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Testing]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/PCampBot</id>
		<title>PCampBot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/PCampBot"/>
				<updated>2023-03-11T23:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: underscore is no longer used in bot names.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= Using pCampbot as of OpenSimulator 0.7.6 =&lt;br /&gt;
pCampBot has changed considerably in OpenSimulator development code. Here is the current usage statement that you'll get if you execute pCampBot.exe as of OpenSimulator 0.7.6.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: pCampBot &amp;lt;-loginuri loginuri&amp;gt; [OPTIONS]&lt;br /&gt;
Spawns a set of bots to test an OpenSim region&lt;br /&gt;
&lt;br /&gt;
  -l, -loginuri      loginuri for grid/standalone (required)&lt;br /&gt;
  -s, -start         start location for bots (optional).  Can be &amp;quot;last&amp;quot;, &amp;quot;home&amp;quot; or a specific location with or without co-ords (e.g. &amp;quot;region1&amp;quot; or &amp;quot;region2/50/30/90&amp;quot;&lt;br /&gt;
  -firstname         first name for the bots (required)&lt;br /&gt;
  -lastname          lastname for the bots (required).  Each lastname will have &amp;lt;bot-number&amp;gt; appended, e.g. Ima Bot0&lt;br /&gt;
  -password          password for the bots (required)&lt;br /&gt;
  -n, -botcount      number of bots to start (default: 1) (optional)&lt;br /&gt;
  -f, -from          starting number for login bot names, e.g. 25 will login Ima Bot25, Ima Bot26, etc.  (default: 0) (optional)&lt;br /&gt;
  -c, -connect       connect all bots at startup (optional)&lt;br /&gt;
  -b, behaviours     behaviours for bots.  Comma separated, e.g. n,p,g.  Default is p (required)&lt;br /&gt;
    current options are:&lt;br /&gt;
       p (physics  - bots constantly move and jump around)&lt;br /&gt;
       g (grab     - bots randomly click prims whether set clickable or not)&lt;br /&gt;
       n (none     - bots do nothing)&lt;br /&gt;
       t (teleport - bots regularly teleport between regions on the grid)&lt;br /&gt;
  -wear              folder from which to load appearance data, &amp;quot;no&amp;quot; if there is no such folder (default: no) (optional)&lt;br /&gt;
  -h, -help          show this message.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must have already created all the necessary bot accounts in the simulator before using pCampbot. It does not create these accounts on the fly.&lt;br /&gt;
&lt;br /&gt;
Because pCampbot connects bots using the [http://lib.openmetaverse.org libopenmetaverse] library in the same manner that an ordinary viewer program would connect, you can use the pCampbot in 0.7.6 or later to test earlier versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The -wear option almost certainly doesn't work. The others are operational.&lt;br /&gt;
&lt;br /&gt;
On using this facility you'll get a console command line similar to the one in OpenSimulator and Robust. Type &amp;quot;help&amp;quot; at this prompt to see further commands.&lt;br /&gt;
&lt;br /&gt;
== Optional pCampbot.ini configuration ==&lt;br /&gt;
pCampbot has some further optional configuration options relating to detailed bot behaviour in pCampbot.ini.example.  To change these from the defaults&lt;br /&gt;
&lt;br /&gt;
 cp pCampbot.ini.example pCampbot.ini&lt;br /&gt;
&lt;br /&gt;
and change pCampbot.ini accordingly.&lt;br /&gt;
&lt;br /&gt;
== Caveats ==&lt;br /&gt;
&lt;br /&gt;
* A pCampBot synthetic bot load is still an extremely poor proxy for a 'real' connection (i.e. a real human being logging in with a viewer and doing all the things they expect to be able to do in a virtual world).  Real connections are very likely to place different stresses on the simulator so real-world performance may be considerably different and poorer than synthetic load tests would suggest.&lt;br /&gt;
&lt;br /&gt;
* There are some things you can do to improve this in pCampbot.  For instance, if you have RequestObjectTextures set in pCampbot.ini then pCampbot will request textures for all objects it sees.  This is both much less stressful than a real scenario (since for a particular sets of bots textures are only requested once) and more stressful (since there is never any caching).&lt;br /&gt;
&lt;br /&gt;
* pCampbot does currently not work well if there are any surrounding regions.  Avatars will currently just walk off into oblivion.  You must either build fences or remove such regions.  In testing so far, the presence of neighbouring regions does not have any great impact on performance in the region occupied by bots.  However, these tests were performed with blank surrounding regions - surrounding regions containing objects will place more initial stress on the bot connections as object data is downloaded (and textures if this option is active).&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Okay, let's suppose that we're on Linux and want to create a 5 bot synthetic load test on a region called myregion1.  Depending on your bandwidth and the bot settings you can connect quite a large number of bots but for this example we will stick with 5.  Here are the steps to take.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Create bot accounts ===&lt;br /&gt;
The first step is to create 5 bot accounts, all with the same password.  Each bot account must have the same first name and the same last name prefix.  But each bot must also have its last name prefix appended with an underscore (_) and its bot number, starting from 0.  In this case, we want five bots, and lets suppose we will call them &amp;quot;ima bot&amp;quot;.  Then the five accounts that we want are&lt;br /&gt;
&lt;br /&gt;
 ima bot0&lt;br /&gt;
 ima bot1&lt;br /&gt;
 ima bot2&lt;br /&gt;
 ima bot3&lt;br /&gt;
 ima bot4&lt;br /&gt;
&lt;br /&gt;
The classic way to create a user account is to do it by using the &amp;quot;create user&amp;quot; command on the OpenSimulator standalone or Robust service console, depending on whether one is running in standalone or grid mode.  However, this can be laborious, particularly if one needs hundreds of bot accounts.  There's a very basic python script at https://github.com/justincc/opensimulator-tools/blob/master/create-user-line-generator/src/culg.py ( dead link ) which will generate the user lines needed, giving each account a non-random UUID for later debugging purposes.  The lines that this script generated can be pasted directly into the OpenSimulator console.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Start pCampbot ===&lt;br /&gt;
The next step is to start up pCampbot with the required connection parameters.  Let us suppose that you want to test against a region called &amp;quot;r1&amp;quot; on a local grid with a loginuri of &amp;lt;nowiki&amp;gt;http://192.168.1.2:8002&amp;lt;/nowiki&amp;gt;.  Let us assume that you've given the bots the password &amp;quot;plentyofruth&amp;quot;. The command to run is then&lt;br /&gt;
&lt;br /&gt;
 mono --debug pCampBot.exe -loginuri &amp;lt;nowiki&amp;gt;http://192.168.1.2:8002&amp;lt;/nowiki&amp;gt; -s r1 -firstname ima -lastname bot -password plentyofruth&lt;br /&gt;
&lt;br /&gt;
This will start up pCampbot and you'll see a familiar console command line as you would on a simulator or Robust console.  As with the other consoles, you can type &amp;quot;help&amp;quot; to get a list of commands.&lt;br /&gt;
&lt;br /&gt;
As of OpenSimulator 0.7.6, pCampbot by default starts without automatically connecting the bots.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Connect the bots ===&lt;br /&gt;
Once you're ready, type the command&lt;br /&gt;
&lt;br /&gt;
 conn&lt;br /&gt;
&lt;br /&gt;
to start connecting the bots.  You will see the connection messages on the console and if all goes well you'll see the bots appear on the region.  The default bot behaviour is &amp;quot;physics&amp;quot;, so the bots will start walking and jumping around to test and load up region physics.&lt;br /&gt;
&lt;br /&gt;
A client connection is a complicated affair so you'll probably see many warnings and debug messages of different severity on the console.  But as long as the bot it present in the region you can assume that the connection has succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Assess performance ===&lt;br /&gt;
Now this is quite tricky, since there's currently no automated way of assessing simulator or connection performance.  Manual ways to assess this include logging in a viewer to the same region to get a feel for avatar movement (e.g. is it jerky, is there rubberbanding, is chat delayed, etc.) and to see [[Client_side_monitoring|viewer statistics]] such as Ping Sim, Packet Loss, Physics Time (frame) and Spare Time (frame).  &lt;br /&gt;
&lt;br /&gt;
However, one needs to be extremely careful if logging in using a viewer on the same machine from which the bots are running.  The bots should really be running from a different machine or ideally even from a different network in order to get a more accurate picture of current simulator performance.&lt;br /&gt;
&lt;br /&gt;
One can also look at [[Monitoring|server side monitoring]], particularly &amp;quot;show stats clientstack&amp;quot; which will show various client stack related statistics (this is the part of the OpenSimulator code that handles receiving and sending of UDP messages from viewers).  In particular, the InboxPacketsCount should be constantly 0 or near 0 - a build up here means that your simulator is receiving UDP packets quicker than it can process them.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Disconnect bots ===&lt;br /&gt;
Once you've finished, you can disconnect the bots in an orderly fashion with the command&lt;br /&gt;
&lt;br /&gt;
 disconn&lt;br /&gt;
&lt;br /&gt;
Once all the bots are disconnected you can exit pCampbot with the command&lt;br /&gt;
 &lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
or reconnect the bots if you want.  You can also see the current connection status of bots with the command&lt;br /&gt;
&lt;br /&gt;
 show bots&lt;br /&gt;
&lt;br /&gt;
at any time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Testing]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OpenSimConsoleClient/de</id>
		<title>OpenSimConsoleClient/de</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OpenSimConsoleClient/de"/>
				<updated>2022-12-26T18:41:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Melanie's last name was misspelled, add link to src&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks|OpenSimConsoleClient}}&lt;br /&gt;
&lt;br /&gt;
{{ReleaseInfo}}&lt;br /&gt;
&lt;br /&gt;
= OpenSimConsoleClient von Melanie Theilker =&lt;br /&gt;
&lt;br /&gt;
== Schritt eins der Download ==&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
&lt;br /&gt;
Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
&lt;br /&gt;
Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
&lt;br /&gt;
Src: https://github.com/MelanieT/OpenSimConsoleClient&lt;br /&gt;
&lt;br /&gt;
== Schritt zwei die Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
OpenSim.ini Konfigurationsdatei öffnen und unter abschnitt Network Wunschname und Wunschpasswort eingeben, dabei merken sie sich die unter  http_listener_port angegebene Nummer.&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
    ConsoleUser = &amp;quot;Wunschname&amp;quot;&lt;br /&gt;
    ConsolePass = &amp;quot;Wunschpasswort&amp;quot;&lt;br /&gt;
    console_port = 0&lt;br /&gt;
    http_listener_port = 9000&lt;br /&gt;
&lt;br /&gt;
== Schritt drei der Start ==&lt;br /&gt;
&lt;br /&gt;
Der OpenSimulator muss nun mit der Option „OpenSim.exe -console rest“ gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Linux mit screen:&lt;br /&gt;
    screen -fa -S OS -d -U -m mono OpenSim.exe -console rest&lt;br /&gt;
&lt;br /&gt;
== Schritt vier der OpenSimConsoleClient ==&lt;br /&gt;
&lt;br /&gt;
ConsoleClient.zip entpacken und dann ConsoleClient.exe starten.&lt;br /&gt;
&lt;br /&gt;
Oben unter Connection New auswählen:&lt;br /&gt;
&lt;br /&gt;
     Connection  &amp;gt; Hier einen Namen der zu der Serververbindung passt eingeben.&lt;br /&gt;
&lt;br /&gt;
     Host &amp;gt; Hier die URL zum Server eingeben 192.16.8.1.100 oder meinserver.de je nachdem halt.&lt;br /&gt;
&lt;br /&gt;
     Port &amp;gt; Den gemerkten Port hier eingeben.&lt;br /&gt;
&lt;br /&gt;
     User &amp;gt; Wunschname den man sich ausgesucht hat hier eingeben.&lt;br /&gt;
&lt;br /&gt;
     Passwort &amp;gt; Hier das Wunschpasswort eingeben welches man sich ausgesucht hat.&lt;br /&gt;
&lt;br /&gt;
Mit dem anklicken von OK wird das gespeichert und auf der rechten Seite angezeigt.&lt;br /&gt;
&lt;br /&gt;
Im gleichen Schema kann man seine ganzen Server eintragen.&lt;br /&gt;
&lt;br /&gt;
Jetzt klickt man auf einen der auf der rechten Seite aufgelisteten Server, &lt;br /&gt;
&lt;br /&gt;
wähle oben Connection und Connect schon ist man auf dem Server in der OpenSim Konsole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:German Translations]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OpenSimConsoleClient</id>
		<title>OpenSimConsoleClient</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OpenSimConsoleClient"/>
				<updated>2022-12-26T18:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Melanie's name was misspelled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
OpenSimConsoleClient by Melanie Thielker&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
&lt;br /&gt;
Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
&lt;br /&gt;
Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
&lt;br /&gt;
Src: https://github.com/MelanieT/OpenSimConsoleClient&lt;br /&gt;
&lt;br /&gt;
Open the OpenSim.ini configuration file and enter your desired name and password under the Network section, remembering the number under http_listener_port.&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
    ConsoleUser = &amp;quot;desired name&amp;quot;&lt;br /&gt;
    ConsolePass = &amp;quot;desired password&amp;quot;&lt;br /&gt;
    console_port = 0&lt;br /&gt;
    http_listener_port = 9000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenSimulator must now be started with the option OpenSim.exe -console=rest“ start option&lt;br /&gt;
&lt;br /&gt;
Linux with screen:&lt;br /&gt;
    screen -fa -S OS -d -U -m mono OpenSim.exe -console=rest&lt;br /&gt;
&lt;br /&gt;
Unzip ConsoleClient.zip and then start ConsoleClient.exe.&lt;br /&gt;
&lt;br /&gt;
Select New under Connection at the top:&lt;br /&gt;
&lt;br /&gt;
     Connection  &amp;gt; Enter a name that matches the server connection.&lt;br /&gt;
&lt;br /&gt;
     Host &amp;gt; Enter the URL to the server here 192.16.8.1.100 or DNS name.&lt;br /&gt;
&lt;br /&gt;
     Port &amp;gt; Enter the region HTTP port here.&lt;br /&gt;
&lt;br /&gt;
     User &amp;gt; Enter the name you have chosen here.&lt;br /&gt;
&lt;br /&gt;
     Password &amp;gt; Enter the password for the user.&lt;br /&gt;
&lt;br /&gt;
Clicking on OK saves this and displays it on the right-hand side.&lt;br /&gt;
&lt;br /&gt;
You can enter your entire server in the same scheme.&lt;br /&gt;
&lt;br /&gt;
Now click on one of the servers listed on the right-hand side, choose Connection at the top and Connect and you are on the server in the console.&lt;br /&gt;
&lt;br /&gt;
Advantages of the new console: you can enter the console and commands in just a few seconds without having to bother with the screen command first.&lt;br /&gt;
&lt;br /&gt;
Disadvantage the whole program does not work properly, although it is already quite useful.&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OpenSimConsoleClient</id>
		<title>OpenSimConsoleClient</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OpenSimConsoleClient"/>
				<updated>2022-12-26T17:42:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Translate to English&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
OpenSimConsoleClient by Melanie Thilker&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
&lt;br /&gt;
Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
&lt;br /&gt;
Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
&lt;br /&gt;
Open the OpenSim.ini configuration file and enter your desired name and password under the Network section, remembering the number given under http_listener_port.&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
    ConsoleUser = &amp;quot;desired name&amp;quot;&lt;br /&gt;
    ConsolePass = &amp;quot;desired password&amp;quot;&lt;br /&gt;
    console_port = 0&lt;br /&gt;
    http_listener_port = 9000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenSimulator must now be started with the option OpenSim.exe -console rest“ gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Linux with screen:&lt;br /&gt;
    screen -fa -S OS -d -U -m mono OpenSim.exe -console=rest&lt;br /&gt;
&lt;br /&gt;
Unzip ConsoleClient.zip and then start ConsoleClient.exe.&lt;br /&gt;
&lt;br /&gt;
Select New under Connection at the top:&lt;br /&gt;
&lt;br /&gt;
     Connection  &amp;gt; Enter a name that matches the server connection.&lt;br /&gt;
&lt;br /&gt;
     Host &amp;gt; Enter the URL to the server here 192.16.8.1.100 or DNS name.&lt;br /&gt;
&lt;br /&gt;
     Port &amp;gt; Enter the region HTTP port here.&lt;br /&gt;
&lt;br /&gt;
     User &amp;gt; Enter the name you have chosen here.&lt;br /&gt;
&lt;br /&gt;
     Password &amp;gt; Enter the password for the user.&lt;br /&gt;
&lt;br /&gt;
Clicking on OK saves this and displays it on the right-hand side.&lt;br /&gt;
&lt;br /&gt;
You can enter your entire server in the same scheme.&lt;br /&gt;
&lt;br /&gt;
Now click on one of the servers listed on the right-hand side, choose Connection at the top and Connect and you are on the server in the console.&lt;br /&gt;
&lt;br /&gt;
Advantages of the new console: you can enter the console and commands in just a few seconds without having to bother with the screen command first.&lt;br /&gt;
&lt;br /&gt;
Disadvantage the whole program does not work properly, although it is already quite useful.&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Talk:OpenSimConsoleClient</id>
		<title>Talk:OpenSimConsoleClient</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Talk:OpenSimConsoleClient"/>
				<updated>2022-12-26T17:28:07Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Must be started with parameter &amp;quot;-console=rest&amp;quot;,&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Must be started with parameter &amp;quot;-console=rest&amp;quot;, not with a space&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OpenSimConsoleClient</id>
		<title>OpenSimConsoleClient</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OpenSimConsoleClient"/>
				<updated>2022-12-26T17:26:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Missing = sign&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
OpenSimConsoleClient von Melanie Thilker&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
&lt;br /&gt;
Windows: http://opensimulator.org/downloads/ConsoleClient.zip&lt;br /&gt;
&lt;br /&gt;
Mac: http://opensimulator.org/downloads/ConsoleClient.dmg&lt;br /&gt;
&lt;br /&gt;
OpenSim.ini Konfigurationsdatei öffnen und unter abschnitt Network Wunschname und Wunschpasswort eingeben, dabei merken sie sich die unter  http_listener_port angegebene Nummer.&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
    ConsoleUser = &amp;quot;Wunschname&amp;quot;&lt;br /&gt;
    ConsolePass = &amp;quot;Wunschpasswort&amp;quot;&lt;br /&gt;
    console_port = 0&lt;br /&gt;
    http_listener_port = 9000&lt;br /&gt;
&lt;br /&gt;
Der OpenSimulator muss nun mit der Option „OpenSim.exe -console rest“ gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Linux mit screen:&lt;br /&gt;
    screen -fa -S OS -d -U -m mono OpenSim.exe -console=rest&lt;br /&gt;
&lt;br /&gt;
ConsoleClient.zip entpacken und dann ConsoleClient.exe starten.&lt;br /&gt;
&lt;br /&gt;
Oben unter Connection New auswählen:&lt;br /&gt;
&lt;br /&gt;
     Connection  &amp;gt; Hier einen Namen der zu der Serververbindung passt eingeben.&lt;br /&gt;
&lt;br /&gt;
     Host &amp;gt; Hier die URL zum Server eingeben 192.16.8.1.100 oder meinserver.de je nachdem halt.&lt;br /&gt;
&lt;br /&gt;
     Port &amp;gt; Den gemerkten Port hier eingeben.&lt;br /&gt;
&lt;br /&gt;
     User &amp;gt; Wunschname den man sich ausgesucht hat hier eingeben.&lt;br /&gt;
&lt;br /&gt;
     Passwort &amp;gt; Hier das Wunschpasswort eingeben welches man sich ausgesucht hat.&lt;br /&gt;
&lt;br /&gt;
Mit dem anklicken von OK wird das gespeichert und auf der rechten Seite angezeigt.&lt;br /&gt;
&lt;br /&gt;
Im gleichen Schema kann man seine ganzen Server eintragen.&lt;br /&gt;
&lt;br /&gt;
Jetzt klickt man auf einen der auf der rechten Seite aufgelisteten Server wähle oben Connection und Connect schon ist man auf dem Server in der Konsole.&lt;br /&gt;
&lt;br /&gt;
Vorteile der neuen Konsole: man kann mal eben in wenigen Sekunden in die Konsole und Commands eingeben ohne erst umständlich Verbindung zum Server aufzubauen sich mit dem screen Kommando herumärgern.&lt;br /&gt;
&lt;br /&gt;
Nachteil das ganze Programm arbeitet noch nicht richtig obwohl es schon durchaus brauchbar ist.&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Useful_Queries</id>
		<title>Useful Queries</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Useful_Queries"/>
				<updated>2022-10-21T02:50:21Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Error Checking */ add grid version of inv check&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;
This page lists various SQL queries one can perform from a MySql console to check the database for various bits of information. They have not been tested in other SQL variants, and may or may not work as intended:&lt;br /&gt;
&lt;br /&gt;
'''NOTE: In SVN revision 5115 through 5123, some UUID fields began migrating to a consistent format (the dashed form, like 00000000-0000-0000-0000-000000000000).'''&lt;br /&gt;
&lt;br /&gt;
'''This means that in these later revision databases, you will no longer need to use the hex(id) function on the assets table. On the other hand, until all UUIDs are in the same format, replace(id, '-', &amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;) will still be necessary on dashed UUID fields to get the id's into a consistent format for joins and such. UUID literals inserted into queries should not have dashes. The queries on this page have not yet been revised to take this into consideration.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing things ==&lt;br /&gt;
&lt;br /&gt;
* List All Friends of a Certain User, this checks one column and then checks the other, it will not Show Flags, so even if it is still just &amp;quot;Offered&amp;quot; then it will show as a friend.&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;SELECT friends.PrincipalID, CONCAT(useraccounts.FirstName, &amp;quot; &amp;quot;, useraccounts.LastName) AS &amp;quot;Friend&amp;quot; FROM friends,useraccounts WHERE &lt;br /&gt;
   friends.Friend = &amp;quot;054f4add-305d-48f3-a998-c5db4c8e15c9&amp;quot; AND useraccounts.PrincipalID = friends.PrincipalID&lt;br /&gt;
   UNION&lt;br /&gt;
   SELECT friends.Friend, CONCAT(useraccounts.FirstName, &amp;quot; &amp;quot;, useraccounts.LastName) AS &amp;quot;Friend&amp;quot;  FROM friends, useraccounts WHERE friends.PrincipalID =&lt;br /&gt;
   &amp;quot;054f4add-305d-48f3-a998-c5db4c8e15c9&amp;quot; AND useraccounts.PrincipalID = friends.Friend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* List the users presently logged in (may be inflated due to users not getting logged out properly, whether due to bugs or crashes):&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt; SELECT concat(FirstName, ' ', LastName) AS 'Online Users' FROM UserAccounts INNER JOIN GridUser ON UserAccounts.PrincipalID = GridUser.UserID WHERE GridUser.Online = 'True';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* List the Regions in your database (only works for grid mode):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT regionName as 'Regions' FROM regions;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Find the asset UUID of a given inventory Item (replace the name with the one you want). This may return multiple rows if more than one inventory item exists, and some entries may point to a single asset, while others point at different assets.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT inventoryName, InventoryID, assetID FROM inventoryitems WHERE inventoryName = 'My Inventory Item Name Here';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify a particular asset exists, given the UUID (usually you want to replace the UUID here with an assetID from the previous query):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT name FROM assets WHERE id = replace('ef9c5edf-a9f8-4310-8048-97894453a614', '-', '');&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* More complicated version - List inventory entries with a particular name:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT concat(inventoryName, ' - ',  replace(inventoryID, '-', '')) AS 'Inventory', &lt;br /&gt;
concat(assets.name, ' - ', hex(assets.id)) AS 'Asset' FROM inventoryitems LEFT JOIN assets &lt;br /&gt;
ON replace(assetID, '-', '')=hex(assets.id) WHERE inventoryName = 'My Inventory Item Here';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given 'I can haz asset' as a name, and assuming several users had something called that in their inventories, this might return:&lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 | Inventory                                          | Asset                                                  |&lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 | I can haz asset - 17b6ca75ca8444a1813718705c591be6 | Cheeseburger        - 12345678123456781234567812345678 |&lt;br /&gt;
 | I can haz asset - 94ac2e6a26f74e03bedeff0e5747819a | lolcat in ur assets - 13371337133713371337133713371337 | &lt;br /&gt;
 | I can haz asset - 96a6dd77c3ec4ebf91ab7e182ebb7b41 | lolcat in ur assets - 13371337133713371337133713371337 |&lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 3 rows in set (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
The last two entries are the same asset, but two different inventory entries. If you get a NULL result in the Asset column, that means the asset was not found (see the error checking section)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or, alternately, list all inventory items by asset name:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT concat(inventoryName, ' - ',  replace(inventoryID, '-', '')) AS 'Inventory', &lt;br /&gt;
concat(assets.name, ' - ', hex(assets.id)) AS 'Asset' FROM opensim.inventoryitems INNER JOIN opensim.assets &lt;br /&gt;
ON replace(assetID, '-', '')=hex(opensim.assets.id) WHERE opensim.assets.name = 'My Asset Name Here';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which (given 'lolcat in ur assets' as the name) might return:&lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 | Inventory                                          | Asset                                                  |&lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 | Pretty Pikshurs - 7962c8de232042ce845c40653ca31a0a | lolcat in ur assets - 13371337133713371337133713371337 | &lt;br /&gt;
 | I can haz asset - 96a6dd77c3ec4ebf91ab7e182ebb7b41 | lolcat in ur assets - 13371337133713371337133713371337 | &lt;br /&gt;
 +----------------------------------------------------+--------------------------------------------------------+&lt;br /&gt;
 2 rows in set (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
== Counting things ==&lt;br /&gt;
&lt;br /&gt;
* Count the total number of users:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(uuid) AS 'Users' FROM opensim.users;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Count the number of users presently logged in (same issues as listing online users, above):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(UUID) AS 'Users Online' FROM opensim.agents WHERE agentonline = '1';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Count the number of Regions. There are different versions, depending on whether you run in standalone or grid mode, because standalone mode lacks the regions table.&lt;br /&gt;
&lt;br /&gt;
* Count the regions that have parcels:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(DISTINCT regionUUID) FROM opensim.land;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Count the total number of parcels:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(UUID) AS 'Parcels' FROM opensim.land;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standalone mode ===&lt;br /&gt;
This may be slow if you have a lot of old terraforming revisions lying around your database:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(DISTINCT regionUUID) AS 'Regions' FROM opensim.terrain;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grid Mode ===&lt;br /&gt;
&lt;br /&gt;
Version 1 counts unique Region names:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(DISTINCT regionName) AS 'Regions' FROM opensim.regions;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Version 2 counts regionIDs, so if you have multiple entries for regions, this will catch them.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT count(UUID) AS 'Regions' FROM opensim.regions;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Error Checking ==&lt;br /&gt;
* List all inventory entries that point to assets that do not exist (this should never happen, but if there are items in your inventory that you can't seem to use something and/or the asset server complains about an asset missing, see if it turns up with):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT inventoryname, inventoryID, assetID FROM opensim.inventoryitems WHERE replace(assetID, '-', '') &lt;br /&gt;
NOT IN (SELECT hex(id) FROM opensim.assets);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check if there's leftover primshapes without a entry in the prim table and delete them - standalone&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;delete from primshapes using primshapes left join prims on prims.uuid=primshapes.uuid where prims.uuid is null; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check if there's leftover primshapes without a entry in the prim table and delete them - grid&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;select * from primshapes left join prims on prims.uuid=primshapes.uuid where prims.uuid is null&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsTeleportAgent</id>
		<title>OsTeleportAgent</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsTeleportAgent"/>
				<updated>2022-07-16T16:30:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Minor edit to script to use CHANGED_REGION_START instead of 256&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{osslfunc&lt;br /&gt;
|threat_level=Severe&lt;br /&gt;
|permissions=${OSSL&amp;amp;#124;osslParcelO}ESTATE_MANAGER,ESTATE_OWNER&lt;br /&gt;
|delay=0.5&lt;br /&gt;
|additional_info=&lt;br /&gt;
'''osTeleportAgent''' has a 0.5 second delay if the teleport is not allowed, or when the destination is to a location in the same region as the Agents current region. A teleport to other region has a 5 second delay&amp;lt;br&amp;gt;&lt;br /&gt;
For teleports within region, in particular NPC agents, consider using [[osLocalTeleportAgent]]&lt;br /&gt;
|function_syntax= osTeleportAgent(key agent, string regionName, vector position, vector lookat)&amp;lt;br /&amp;gt;&lt;br /&gt;
osTeleportAgent(key agent, integer regionX, integer regionY, vector position, vector lookat)&amp;lt;br /&amp;gt;&lt;br /&gt;
osTeleportAgent(key agent, vector position, vector lookat)&lt;br /&gt;
|ossl_example=&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example osTeleportAgent Script&lt;br /&gt;
//&lt;br /&gt;
// Set Destination as described below, There are a Few Options depending on Application:&lt;br /&gt;
// IN GRID Teleport &lt;br /&gt;
// Destination = &amp;quot;1000,1000&amp;quot;; = Using In-Grid Map XXXX,YYYY coordinates&lt;br /&gt;
// Destination = &amp;quot;RegionName&amp;quot;; = Using RegionName&lt;br /&gt;
// HyperGrid Teleport (region must be HG Enabled)&lt;br /&gt;
// Destination = &amp;quot;TcpIpAddr:Port:RegionName&amp;quot;; = Using the Target/Destination IP Address&lt;br /&gt;
// Destination = &amp;quot;DNSname:Port:RegionName&amp;quot;; = Using the Target/Detination DNSname&lt;br /&gt;
// Note: RegionName is Optionally Specified to deliver Avatar to specific region in an instance.&lt;br /&gt;
// &lt;br /&gt;
// ========================================================================================&lt;br /&gt;
// === SET DESTINATION INFO HERE ===&lt;br /&gt;
//&lt;br /&gt;
string Destination = &amp;quot;LBSA Plaza&amp;quot;; // your target destination here (SEE NEXT LINES) Can Be&lt;br /&gt;
vector LandingPoint = &amp;lt;128.0, 128.0, 50.0&amp;gt;; // X,Y,Z landing point for avatar to arrive at&lt;br /&gt;
vector LookAt = &amp;lt;0.0, 1.0, 0.0&amp;gt;; // which way they look at when arriving&lt;br /&gt;
//&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
  on_rez(integer start_param)&lt;br /&gt;
  {&lt;br /&gt;
    llResetScript();&lt;br /&gt;
  }&lt;br /&gt;
  changed(integer change) // something changed, take action&lt;br /&gt;
  {&lt;br /&gt;
    if(change &amp;amp; CHANGED_OWNER)&lt;br /&gt;
      llResetScript();&lt;br /&gt;
    else if (change &amp;amp; CHANGED_REGION_START) // that bit is set during a region restart&lt;br /&gt;
      llResetScript();&lt;br /&gt;
  }&lt;br /&gt;
  state_entry()&lt;br /&gt;
  {&lt;br /&gt;
    llWhisper(0, &amp;quot;OS Teleportal Active&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  touch_start(integer num_detected) &lt;br /&gt;
  {&lt;br /&gt;
    key avatar = llDetectedKey(0);&lt;br /&gt;
    llRegionSayTo(avatar, 0,&amp;quot;Teleporting you to : &amp;quot;+Destination);&lt;br /&gt;
    osTeleportAgent(avatar, Destination, LandingPoint, LookAt); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Example teleport to region at west, 10m from the border to current and facing west&lt;br /&gt;
//&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
  state_entry()&lt;br /&gt;
  {&lt;br /&gt;
    llOwnerSay(&amp;quot;OS Teleportal Active&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  touch_start(integer num_detected) &lt;br /&gt;
  {&lt;br /&gt;
    key avatar = llDetectedKey(0);&lt;br /&gt;
    vector pos = llGetPos();&lt;br /&gt;
    llRegionSayTo(avatar, 0, &amp;quot;Teleporting you there&amp;quot;);&lt;br /&gt;
    osTeleportAgent(avatar, &amp;lt;-10, pos.y, pos.z + 1&amp;gt;,&amp;lt;-1,0,0&amp;gt;); &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|description=Teleports an agent to the specified location&amp;lt;br&amp;gt;&lt;br /&gt;
* position is the location relative to destination region reference corner&amp;lt;br&amp;gt;&lt;br /&gt;
* lookAt is the direction the avatar should look. Z value is ignored. For example to face north use &amp;lt;0,1,0&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first variant is able to teleport to any addressable region, including [[hypergrid]] destinations. &lt;br /&gt;
&lt;br /&gt;
The second variant teleports to a region in the local grid; the region coordinates are specified as region cells (not as global coordinates based on meters). &lt;br /&gt;
&lt;br /&gt;
The third variant teleports within the current region. Since version 0.9.2.0 it can also teleport to a nearby region if position does point to one&lt;br /&gt;
&lt;br /&gt;
For osTeleportAgent() to work, the owner of the prim containing the script must be the same as the parcel that the avatar is currently on.  &lt;br /&gt;
&lt;br /&gt;
If this isn't the case then the function fails silently.&lt;br /&gt;
&lt;br /&gt;
See also  [[osTeleportOwner]], and if you receive an error see [[OSSL Enabling Functions|how to enable OS functions]].&lt;br /&gt;
|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Hypergrid</id>
		<title>Hypergrid</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Hypergrid"/>
				<updated>2021-12-24T19:53:07Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Teleporting via the Hypergrid */  Fix link syntax. We don't use http&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= What is the hypergrid? =&lt;br /&gt;
&amp;lt;!-- [[image:VWV.jpg|250px|thumb|Web of Virtual Worlds]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The hypergrid is an extension to opensim that allows you to link your opensim to other opensims on the internet, and that supports seamless agent transfers among those opensims. It can be used both in standalone mode and in grid mode. The hypergrid is effectively supporting the emergence of a Web of virtual worlds. &lt;br /&gt;
&lt;br /&gt;
The basic idea for the hypergrid is that region/grid administrations can place hyperlinks on their map to hypergrided regions run by others. Once those hyperlinks are established, users interact with those regions in exactly the same way as they interact with local regions. Specifically, users can choose to teleport there. Once the user reaches the region behind the hyperlink, she is automatically interacting with a different virtual world without having to logout from the world where she came from, and while still having access to her inventory.&lt;br /&gt;
&lt;br /&gt;
The hypergrid started as a external project, but it is now included in the standard distribution of OpenSimulator. '''To run your OpenSimulator instance in hypergrid mode, please see [[Installing and Running Hypergrid]].'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Versions =&lt;br /&gt;
* [[Hypergrid 2.0]] - current Hypergrid with greater security controls for region operators&lt;br /&gt;
* [[Hypergrid 1.5]] - past Hypergrid version with greater asset security and expanded services &lt;br /&gt;
* [[Hypergrid 1.0]] - the original Hypergrid described below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Teleporting via the Hypergrid =&lt;br /&gt;
The structure of a hypergrid link is similar to a web page link : [hop://]&amp;lt;hg-host&amp;gt;:&amp;lt;hg-port&amp;gt;[/&amp;lt;region-name&amp;gt;][/x/y].  Examples:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;hop://cc.opensimulator.org:8002/keynote 1&amp;quot;&lt;br /&gt;
 &amp;quot;hop://grid.mydomain.com:9000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The first example is the Hypergrid address of a region named &amp;quot;keynote 1&amp;quot; on the grid at cc.opensimulator.org that has port 8002.&lt;br /&gt;
&lt;br /&gt;
The second example gives only the hg-host and port.  In this case, the destination region is the default region setup for that grid, as specified in the [GridService] section of bin/Robust.HG.ini (for grid) or bin/config-include/StandaloneCommon.ini (for standalones).&lt;br /&gt;
&lt;br /&gt;
= Installing and Running =&lt;br /&gt;
&lt;br /&gt;
Please see [[Installing and Running Hypergrid]].&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Concepts =&lt;br /&gt;
&lt;br /&gt;
* [[Hypergrid Concepts]].&lt;br /&gt;
* [[Hypergrid Glossary]].&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Development =&lt;br /&gt;
See [[Hypergrid Protocol]] for protocol level details.&lt;br /&gt;
&lt;br /&gt;
See [[Hypergrid Implementation]] for implementation details.&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Parameters =&lt;br /&gt;
&lt;br /&gt;
For information about each Hypergrid configuration parameter and what it does, please see [[Hypergrid Parameters]] (eventually).&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Security =&lt;br /&gt;
&lt;br /&gt;
Please see [[Hypergrid Security]].&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Friends =&lt;br /&gt;
&lt;br /&gt;
* [[Hypergrid Friends]] (updated 2015)&lt;br /&gt;
* [[Hypergrid_Friends_and_IM]] (updated 2011)&lt;br /&gt;
&lt;br /&gt;
= Public Hypergrid Nodes =&lt;br /&gt;
&lt;br /&gt;
Please see [[Public Hypergrid Nodes]].&lt;br /&gt;
&lt;br /&gt;
= Hypergrid Lists =&lt;br /&gt;
Please see [[Hypergrid Lists]].&lt;br /&gt;
&lt;br /&gt;
= Further References =&lt;br /&gt;
* [http://www.ics.uci.edu/~lopes/opensim/HypergridReferenceGuide.html The Hypergrid Reference Guide]&lt;br /&gt;
* [https://web.archive.org/web/20150426153421/https://dl.dropboxusercontent.com/u/18483217/hypergrid-draft.pdf Hypergrid: Architecture and Protocol for Virtual World Interoperability] - Cristina Videira Lopes paper defining Hypergrid protocol (PDF format)&lt;br /&gt;
&lt;br /&gt;
= Development Meetings =&lt;br /&gt;
&lt;br /&gt;
[[Hypergrid Meetings]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergrid]]&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
Also see [[Grider]]; [[Virtual World Model]]; [[HyperGrid Team]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2021-12-12T20:50:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */  add cisco DPC3848VM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
If solving the problem by configuring your router turns out not to be possible, you can work around it by setting up some IPTable rules on the computer you're using to browse the web (assuming it's a GNU/Linux OS). For details see the NAT Loopback [[Iptables-script]].&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM1602G || Not Working || Arris Touchstone from Spectrum&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [https://www.cogeco.ca/sites/default/files/guides/cisco_wireless_residential_gateway_model_DPC3848_DPC3848V_DPC3848VM_DOCSIS_3_0.pdf DPC3848VM] || No Loopback ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR700 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX80/ RAX75 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX50/ RAX45 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX40/ RAX35 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX20/ RAX15 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX200 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RS400 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R9000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7960P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7500v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7300DST ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7200/ R7350/ R7400/ R7450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900V1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7100LG ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v3 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6300v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6260/R6330/ R6350/ R6850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6250 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6220/ R6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6080 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6050/JR6150 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6020 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR750 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR40 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR20 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR10 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C3700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6220 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7100V ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AX1500 Wifi 6 || Not Working || TCP does loop back, but not UDP between regions. Works if you add one entry per port, (no 8004-8100) but its limited in the number of entries. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DVW32CB || Works || [http://www.ubeeinteractive.com/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
[[NAT_Loopback|Windows 10 NAT Loopback notes]]&lt;br /&gt;
&lt;br /&gt;
External links:&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html Windows XP NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/|Windows 7 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=yIrDvVjyiMk|Windows 8, 8.1, 10 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
See also: [[Network_Settings#DynDNS_loopback|Using DynDNS for NAT Loopback with Windows, MacOS, or Linux]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2021-07-21T01:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */  Add UBEE DVW32CB&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
If solving the problem by configuring your router turns out not to be possible, you can work around it by setting up some IPTable rules on the computer you're using to browse the web (assuming it's a GNU/Linux OS). For details see the NAT Loopback [[Iptables-script]].&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM1602G || Not Working || Arris Touchstone from Spectrum&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR700 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX80/ RAX75 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX50/ RAX45 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX40/ RAX35 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX20/ RAX15 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX200 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RS400 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R9000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7960P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7500v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7300DST ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7200/ R7350/ R7400/ R7450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900V1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7100LG ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v3 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6300v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6260/R6330/ R6350/ R6850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6250 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6220/ R6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6080 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6050/JR6150 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6020 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR750 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR40 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR20 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR10 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C3700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6220 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7100V ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AX1500 Wifi 6 || Not Working || TCP does loop back, but not UDP between regions. Works if you add one entry per port, (no 8004-8100) but its limited in the number of entries. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DVW32CB || Works || [http://www.ubeeinteractive.com/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
[[NAT_Loopback|Windows 10 NAT Loopback notes]]&lt;br /&gt;
&lt;br /&gt;
External links:&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html Windows XP NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/|Windows 7 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=yIrDvVjyiMk|Windows 8, 8.1, 10 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
See also: [[Network_Settings#DynDNS_loopback|Using DynDNS for NAT Loopback with Windows, MacOS, or Linux]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Grid_List/Outworldz</id>
		<title>Grid List/Outworldz</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Grid_List/Outworldz"/>
				<updated>2021-04-30T18:34:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Create Outwworldz Grid_list  Page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| Name:&lt;br /&gt;
| Outworldz.com&lt;br /&gt;
|- &lt;br /&gt;
| Website:&lt;br /&gt;
| [http://www.outworldz.com|http://www.outworldz.com]&lt;br /&gt;
|- &lt;br /&gt;
| Login URI:&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-loginuri http://www.outworldz.com:8002&amp;lt;/nowiki&amp;gt; &amp;lt;!-- If you want to add another parameters, insert all of them between nowiki tags --&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Wiki/Forum:&lt;br /&gt;
| [https://mewe.com/join/opensimulator_dreamworld_and_dreamgrid|https://mewe.com/join/opensimulator_dreamworld_and_dreamgrid]&lt;br /&gt;
|- &lt;br /&gt;
| Approx # Regions&lt;br /&gt;
| 170&lt;br /&gt;
|- &lt;br /&gt;
| Approx # Users&lt;br /&gt;
| 850&lt;br /&gt;
|- &lt;br /&gt;
| Logins/month&lt;br /&gt;
| 165&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outworldz.com is the home of DreamGrid, the one-click Opensim for Windows, Outworldz.net, and Inworldz.net &lt;br /&gt;
[[Category:Grids]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Grid_List</id>
		<title>Grid List</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Grid_List"/>
				<updated>2021-04-30T18:28:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Public grids */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
== What is the Grid List? ==&lt;br /&gt;
There are hundreds (thousands?) of OpenSimulator-based virtual worlds out there. Many of them are free to use and welcome new users. This grid list is a community-generated list of such worlds. If you would like to experience an OpenSimulator-based virtual world before installing your own, try one of these. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE:''' The OpenSimulator project is not responsible for, nor in any way associated with, any grid listed on this page, nor for any grid's content or activities. Visit at your own risk. Also, there are no guarantees that these worlds are up and running.&lt;br /&gt;
&lt;br /&gt;
== Public grids  ==&lt;br /&gt;
&lt;br /&gt;
'''Grid List Policy:''' Please list your grid only if uses OpenSimulator as a component. Do not include advertising language. The entries in the main list should just contain the grid name and the plain numbers as defined by the column headers. '''Please use [[Grid List/Template|this template]] for the subpages to keep the information in a comparable manner.''' Grids are listed in the order of appearance, so please add your entry to the bottom of the list. Anyone found inserting a grid up higher in the list will have their entry moved or removed. &lt;br /&gt;
&lt;br /&gt;
You may want provide a link on your world's website back to the project by using the [[OpenSim Graphics|Powered by OpenSimulator logo]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is only a partial listing of grids. Hypergrid Business maintains a list of active grids, updated monthly: [http://www.hypergridbusiness.com/statistics/active-grids/ Active OpenSimulator grids]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Grid Page last updated on Sep 13 2020&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
! Grid Name &lt;br /&gt;
! # Regions &lt;br /&gt;
! Approx # Users &lt;br /&gt;
! Unique last 30days&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OSGrid|OSGrid]] &lt;br /&gt;
| 4665 &lt;br /&gt;
| 125000&lt;br /&gt;
| 4380&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Francogrid|FrancoGrid]] &lt;br /&gt;
| 298&lt;br /&gt;
| 5593&lt;br /&gt;
| 298&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/3rd Rock Grid|3rd Rock Grid]] &lt;br /&gt;
| 283&lt;br /&gt;
| 11765&lt;br /&gt;
| 347&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Metropolis|Metropolis Metaversum]] &lt;br /&gt;
| 1581&lt;br /&gt;
| 14706&lt;br /&gt;
| 3579&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Open-Neuland|OpenSimulator-Club - Open Neuland]] &lt;br /&gt;
| 216 &lt;br /&gt;
| 384 &lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Wilder-Westen|OpenSimulator-Club - Wilder Westen]] &lt;br /&gt;
| 41 &lt;br /&gt;
| 122 &lt;br /&gt;
| 36&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Myopengrid.com|MyOpenGrid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Your Alternative Life|Your Alternative Life]] &lt;br /&gt;
| 47 &lt;br /&gt;
| 2089 &lt;br /&gt;
| 1458&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Openvue|Openvue]] &lt;br /&gt;
| 16&lt;br /&gt;
| 24&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Logicamp|Logicamp - Outdoor Grid]] &lt;br /&gt;
| 179&lt;br /&gt;
| 3300 &lt;br /&gt;
| 577&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Jamgrid|Jamgrid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 55 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/JOGrid|Japan Open Grid]] &lt;br /&gt;
| 158&lt;br /&gt;
| 682&lt;br /&gt;
| 142&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Tlön|Tlön]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 65 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/PMGrid|PMGrid]] &lt;br /&gt;
| 80 &lt;br /&gt;
| 100 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/jokaydiagrid|jokaydiaGRID]] &lt;br /&gt;
| 20 &lt;br /&gt;
| 253 &lt;br /&gt;
| 75&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Craft-World|Craft-World]] &lt;br /&gt;
| 207 &lt;br /&gt;
| 9429 &lt;br /&gt;
| 607&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual RP|Virtual RP]] &lt;br /&gt;
| 17 &lt;br /&gt;
| 714 &lt;br /&gt;
| 55&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GerGrid|GerGrid]] &lt;br /&gt;
| 98 &lt;br /&gt;
| 408&lt;br /&gt;
| 25&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AnSky|AnSky]] &lt;br /&gt;
| 14 &lt;br /&gt;
| 106&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual Worlds Grid|Virtual Worlds Grid]] &lt;br /&gt;
| 527 &lt;br /&gt;
| 30 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/3DGrid World|3DGrid World (formerly The SecondLearning Grid)]]&lt;br /&gt;
| 4 &lt;br /&gt;
| 55 &lt;br /&gt;
| 46&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Sofitek|Sofitek]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 21 &lt;br /&gt;
| 21&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Dorenas World|Dorenas World]] &lt;br /&gt;
| 143&lt;br /&gt;
| 448&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Speculoos|Speculoos]] &lt;br /&gt;
| 30&lt;br /&gt;
| 50 &lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Pathlandia|Pathlandia]] &lt;br /&gt;
| 4 &lt;br /&gt;
| 1 &lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Austria|Austria]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 6 &lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Psychedelia|Psychedelia]] &lt;br /&gt;
| 7 &lt;br /&gt;
| 7 &lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/M001|M001]]&lt;br /&gt;
| 10&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/HyperGrid Plaza|HyperGrid Plaza]] &lt;br /&gt;
| 1&lt;br /&gt;
| 100&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [http://adreans-world.from-fl.com/home/ Adreans-World]&lt;br /&gt;
| 147&lt;br /&gt;
| 518 &lt;br /&gt;
| 43&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.jopensim.com jOpenSimWorld]&lt;br /&gt;
| 39&lt;br /&gt;
| 327&lt;br /&gt;
| 39&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/RevWorld|Rev World]]&lt;br /&gt;
| 56 &lt;br /&gt;
| 1461&lt;br /&gt;
| 256&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Littlefield_Grid|Littlefield Grid]]&lt;br /&gt;
| 351&lt;br /&gt;
| 2078&lt;br /&gt;
| 383&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Alife Virtual|Alife Virtual]] &lt;br /&gt;
| 500&lt;br /&gt;
| 10000&lt;br /&gt;
| 1000&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Athabasca University|Athabasca University]]&lt;br /&gt;
| 16 &lt;br /&gt;
| 15 (in development stage)&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/IgnisFatuus|Ignis Fatuus]] &lt;br /&gt;
| 47 &lt;br /&gt;
| 14&lt;br /&gt;
| 72&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DigiWorldz|DigiWorldz]]&lt;br /&gt;
| 6907&lt;br /&gt;
| 8582&lt;br /&gt;
| 2315&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/gimisaOS|gimisaOS]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 1 &lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DSGrid|DSGrid]]&lt;br /&gt;
| 17 &lt;br /&gt;
| 52 &lt;br /&gt;
| 71&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Regno di Camlaan|Regno di Camlaan]] &lt;br /&gt;
| 8&lt;br /&gt;
| 19&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [http://partydestinationgrid.com Party Destination Grid] &lt;br /&gt;
| 120 &lt;br /&gt;
| 1500 &lt;br /&gt;
| 1050&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/pathway_universe|pathway universe]]&lt;br /&gt;
| 26&lt;br /&gt;
| 60&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Neverworld_Grid|Neverworld Grid ]]&lt;br /&gt;
| 328&lt;br /&gt;
| 1221&lt;br /&gt;
| 383&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Zone Nations|Zone Nations®]]&lt;br /&gt;
| 31&lt;br /&gt;
| 6107&lt;br /&gt;
| 3678&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.vibel.eu Vibel]&lt;br /&gt;
| 15&lt;br /&gt;
| 839&lt;br /&gt;
| 839&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Anetteswelt|Anetteswelt]]&lt;br /&gt;
| 143&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/openmanniland|openmanniland - OpenSim 0.9.2.0, oswp Webinterface and DTL/NSL MoneyServer]]&lt;br /&gt;
| 10&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ReactionGrid|ReactionGrid]]&lt;br /&gt;
| 76&lt;br /&gt;
| 9756&lt;br /&gt;
| 406&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GorGrid|GorGrid]]&lt;br /&gt;
| 10&lt;br /&gt;
| 31&lt;br /&gt;
| 58&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Outworldz|www.Outworldz.com and DreamGrid Home]]&lt;br /&gt;
| 170&lt;br /&gt;
| 826&lt;br /&gt;
| 161&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inactive Public grids  ==&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = inactive &lt;br /&gt;
| text = This is a list of Grids that been inactive for a few days and or have claimed to be inactive by the owner. &amp;lt;!-- MAJ le 30/12/2011 --&amp;gt;[[Category:Grid List]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
! Grid Name &lt;br /&gt;
! # Regions &lt;br /&gt;
! Approx # Users &lt;br /&gt;
! Unique last 30days&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cybergrid|Cybergrid]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 44 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/MOSES|MOSES: Military Open Simulator Enterprise Strategy]] &lt;br /&gt;
| 117 &lt;br /&gt;
| 227 &lt;br /&gt;
| 102&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SirinHGpole-Grid|SirinHGpole-Grid]] (regions merged into OSGrid)&lt;br /&gt;
| 238&lt;br /&gt;
| 120&lt;br /&gt;
| 70&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/The New World Grid|The New World Grid]] &lt;br /&gt;
| 330 &lt;br /&gt;
| 5200 &lt;br /&gt;
| 590&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Uvatar|Uvatar]] &lt;br /&gt;
| &amp;amp;nbsp;??? &lt;br /&gt;
| &amp;amp;nbsp;??? &lt;br /&gt;
| 0 &amp;lt;!-- Logins are disabled. Last update to the website was in 2012, many unfixed errors to the site. --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cyberlandia|Cyberlandia]] &lt;br /&gt;
| 185 &lt;br /&gt;
| 1600 &lt;br /&gt;
| 269&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/CloneLife|Clone Life]]&lt;br /&gt;
| 31&lt;br /&gt;
| 6107&lt;br /&gt;
| 3678&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.goreanlifestyle.com/ Gorean Life Style]&lt;br /&gt;
|30&lt;br /&gt;
|50&lt;br /&gt;
|45&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/COSIE Grid|COSIE Grid]] &lt;br /&gt;
| 6 &lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/H omeland3D|Homeland3D]] &lt;br /&gt;
| 40 &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.meetinstantly.com/ MeetInstantly]&lt;br /&gt;
| 32&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Traduverse|Traduverse]]&lt;br /&gt;
| 49&lt;br /&gt;
| 27&lt;br /&gt;
| 27&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Regno di Camlaan|Regno di Camlaan]] &lt;br /&gt;
| 8&lt;br /&gt;
| 19&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AndromedaGrid|Andromeda Grid]] &lt;br /&gt;
| 10&lt;br /&gt;
| 4 &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EduGrid|EduGrid]] &lt;br /&gt;
| 15&lt;br /&gt;
| 2000&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
|[https://web.archive.org/web/20110602161855/http://virtualhighway.us:80/ Virtual Highway]&lt;br /&gt;
| 706&lt;br /&gt;
| 6318&lt;br /&gt;
| 285&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Ice Grid|Ice Grid]] &lt;br /&gt;
| 40 &lt;br /&gt;
| 32 &lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ART|ART]] &lt;br /&gt;
| 3(real) &lt;br /&gt;
| ? (real)&lt;br /&gt;
| 150(real)&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Stone Grid|Stone Grid]] &lt;br /&gt;
| 3&lt;br /&gt;
| 4 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/LifeStyle3D - ItalianGrid|LifeStyle3D - ItalianGrid]] &lt;br /&gt;
| 32&lt;br /&gt;
| 350 &lt;br /&gt;
| 108&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/My3dLife|My3DLife]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 20 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DaseinWorld|DaseinWorld]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 3 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OpenSim Creations Grid|OpenSim Creations Grid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 11&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/StarGates Matrix|StarGates Matrix]] &lt;br /&gt;
| 5 &lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/You3D|You3D]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 6 &lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual Realms Grid|Virtual Realms Grid]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 10 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Gor Grid|Gor Grid]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 10 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Enakai|Enakai]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 14 &lt;br /&gt;
| 34&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Greeklife|GreekLife]] &lt;br /&gt;
| 30&lt;br /&gt;
| 50&lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EverWorlds.com|EverWorlds: Bringing People Together (formerly Destiny Zero)]] &lt;br /&gt;
| 17 &lt;br /&gt;
| 2 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/IcaruSRealmS|=IcaruS= RealmS]] &lt;br /&gt;
| 26 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| 14&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/lpgrid.com|Lost Paradise]] &lt;br /&gt;
| 2847&lt;br /&gt;
| 820&lt;br /&gt;
| 670&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Valhalla Virtual|Valhalla Virtual]] &lt;br /&gt;
| 9 &lt;br /&gt;
| 25 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cyber Wrld|Cyber Wrld]] &lt;br /&gt;
| 5 &lt;br /&gt;
| 8 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/FleepGrid|FleepGrid]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 150 &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Lisat|ArtGridOnLine]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 48 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EU-Grid|EU-Grid]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 350 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GiantGrid|GiantGrid]] &lt;br /&gt;
| 169 &lt;br /&gt;
| 261 &lt;br /&gt;
| 157&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/pseudospace|Pseudospace]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 46 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Metapocalypse|Metapocalypse Grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/UFSGrid|UFSGrid]] &lt;br /&gt;
| 36 &lt;br /&gt;
| 897 &lt;br /&gt;
| +/-50&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Unica|Unica]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 60 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/LISAT|Lost-in-Space-and-Time]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Rezzable Visions|Rezzable Visions]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/SimValley NL|SimValley NL]] &lt;br /&gt;
| 1087 &lt;br /&gt;
| 364 &lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Your2Live|Your2Live]] &lt;br /&gt;
| 3 &lt;br /&gt;
| 8 &lt;br /&gt;
| *&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OPENSIM NL|OpenSim NL]] &lt;br /&gt;
| 9 &lt;br /&gt;
| 426 &lt;br /&gt;
| 34&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VirtualFrance3D|VirtualFrance3D]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 143 &lt;br /&gt;
| 31&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Twisted Sky|Twisted Sky]] &lt;br /&gt;
| 60 &lt;br /&gt;
| 290 &lt;br /&gt;
| 68&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/REDISIS|redOasis (formerly RedIsis)]] &lt;br /&gt;
| 130 &lt;br /&gt;
| 60 &lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/PearGrid|PearGrid]] &lt;br /&gt;
| 18 &lt;br /&gt;
| 34 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Island Oasis|Island Oasis]] &lt;br /&gt;
| 212&lt;br /&gt;
| 9107&lt;br /&gt;
| 860&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/HAVEN: Your World|HAVEN: Your World]] &lt;br /&gt;
| 13 &lt;br /&gt;
| 11 &lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Flatlandia.cc|Flatlandia]] &lt;br /&gt;
| 33 &lt;br /&gt;
| 177 &lt;br /&gt;
| 110&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/TertiaryGrid|Tertiary Grid]] &lt;br /&gt;
| 41 &lt;br /&gt;
| 379&lt;br /&gt;
| 42&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Annuna Grid|Annuna Grid]] &lt;br /&gt;
| 60 &lt;br /&gt;
| 60 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VeeSome|VeeSome]] &lt;br /&gt;
| 48 &lt;br /&gt;
| 106 &lt;br /&gt;
| 53&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VirtuaLife|Virtualife]]&lt;br /&gt;
| 132 &lt;br /&gt;
| 1000 &lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Avatar Hangout|Avatar Hangout (with OMC)]] &lt;br /&gt;
| 73 &lt;br /&gt;
| 8,626 &lt;br /&gt;
| 58&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DGP Grid|DGP Grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[Grid List/tescos.org.uk|tescos.org.uk (curency ƒ)]] &lt;br /&gt;
| 30 &lt;br /&gt;
| 20 &lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Role Play Worlds|Role Play Worlds - Your Fantasy, your world]] &lt;br /&gt;
| 129 &lt;br /&gt;
| 2276 &lt;br /&gt;
| 298&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Avatrian|Avatrian]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 25 &lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OSBEST|OSBEST]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 8 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/MCM Realm|MCM Realm]] &lt;br /&gt;
| 22 &lt;br /&gt;
| 73 &lt;br /&gt;
| 23&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Oasis Grid|Oasis Grid]] &lt;br /&gt;
| 89 &lt;br /&gt;
| 3068 &lt;br /&gt;
| 228&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AtMeeting|AtMeeting Grid]] &lt;br /&gt;
| 20 &lt;br /&gt;
| 30 &lt;br /&gt;
| 25&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OpenUtopia|OpenUtopia Grid]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 3 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtualgames3d|Virtualgames3d]] &lt;br /&gt;
| 140 &lt;br /&gt;
| 1350 &lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Grid4Us|Grid4Us]] &lt;br /&gt;
| 22 &lt;br /&gt;
| 130 &lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/K-grid|K-grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Le Monde de Darwin|Le Monde de Darwin]] &lt;br /&gt;
| 73 &lt;br /&gt;
| 83 &lt;br /&gt;
| 36&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/NeXtLife|NeXtLife Grid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 7 &lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Sensation Games|Sensation Games]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 2 &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/SLI-Grid|SLI-Grid]] &lt;br /&gt;
| 5 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| TGGrid &lt;br /&gt;
| 11 &lt;br /&gt;
| 9 &lt;br /&gt;
| 13&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/4AllGrid|4AllGrid]] &lt;br /&gt;
| 68&lt;br /&gt;
| 6&lt;br /&gt;
| 23&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AlphaTowne|Alpha Towne]] &lt;br /&gt;
| 308 &lt;br /&gt;
| 1172 &lt;br /&gt;
| 909&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/AstralGrid|AstralGrid]]&lt;br /&gt;
| 70&lt;br /&gt;
| 40&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Avination|Avination]]&lt;br /&gt;
| 110&lt;br /&gt;
| 300&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/EduverseGrid|EduverseGrid]]&lt;br /&gt;
| 147 &lt;br /&gt;
| 400&lt;br /&gt;
| Data Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/German Grid|German Grid]] &lt;br /&gt;
| 107 &lt;br /&gt;
| 2353 &lt;br /&gt;
| 385&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Heritage Key|Heritage Key]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/ccdbbs.com|LPgrid]]&lt;br /&gt;
| 345&lt;br /&gt;
| 331&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[NewtonGrid]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/RPGRID_NL|RPGRID NL]]&lt;br /&gt;
| 30&lt;br /&gt;
| 141&lt;br /&gt;
| 16&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ScienceSim|ScienceSim]] &lt;br /&gt;
| 25 &lt;br /&gt;
| 30 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SkyLifeGrid|SkyLifeGrid]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/slitalia|Slitalia]]&lt;br /&gt;
| 7&lt;br /&gt;
| 10&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SunlightGrid|SunlightGrid]]&lt;br /&gt;
| 167&lt;br /&gt;
| 503&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Taekwondoverse|Taekwondoverse]]&lt;br /&gt;
| 162 &lt;br /&gt;
| 400&lt;br /&gt;
| Data Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Virtual_Life|Virtual Life]]&lt;br /&gt;
| 34&lt;br /&gt;
| 1004&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/VirtuLife|VirtuLife]]&lt;br /&gt;
| 21&lt;br /&gt;
| 10&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/virtyou|virtyou]] &lt;br /&gt;
| 110 &lt;br /&gt;
| 1676 &lt;br /&gt;
| 70&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/World4US|World4US]]&lt;br /&gt;
| 25&lt;br /&gt;
| 37&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/digsynth.com|World of the Free]] &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/YrGrid|YrGrid]]&lt;br /&gt;
| 33&lt;br /&gt;
| 2150&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Zairus Grid|Zairus Grid]] &lt;br /&gt;
| 72 &lt;br /&gt;
| 10&lt;br /&gt;
| 3&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Office Hour ==&lt;br /&gt;
&lt;br /&gt;
Each week on Tuesday, OSGrid hosts an official Office Hour where the OpenSimulator developers meet and discuss the weeks software development activities. This is a good place to get to know what is going on with OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
!Grid&lt;br /&gt;
!Region&lt;br /&gt;
!Time&lt;br /&gt;
|-&lt;br /&gt;
|[http://osgrid.org/ OSGrid]&lt;br /&gt;
|Wright Plaza&lt;br /&gt;
|Tuesday 11:00AM Pacific Time (USA)&lt;br /&gt;
|-&lt;br /&gt;
|[http://logicamp.org/ logicamp MainGrid]&lt;br /&gt;
|Logicamp&lt;br /&gt;
|Friday 11:00 - 12:00 GMT+1&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.lfgrid.com Littlefield Grid]&lt;br /&gt;
|Monthly Grid Status Meeting - Smithville Region - lfgrid.com:8002:smithville&lt;br /&gt;
|First Friday of the Month 1:30PM PSD&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.hypergrid.org Metropolis Metaversum]&lt;br /&gt;
|Weekly &amp;quot;Stammtisch&amp;quot; Meeting on Region *CenterWorld*&lt;br /&gt;
|Every Wednesday 21:00 - 22:00 &amp;lt;br&amp;gt;(GMT/UTC + 1)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Grid Test Hours ==&lt;br /&gt;
&lt;br /&gt;
Several grids provide valuable testing information for the project, each run a special 'test' hour to test capabilities of the platform. These are run at the same time every week. It may also be a good chance to meet people who can answer questions you may have.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
!Grid&lt;br /&gt;
!Region&lt;br /&gt;
!Time&lt;br /&gt;
|-&lt;br /&gt;
|[http://francogrid.org/ FrancoGrid]&lt;br /&gt;
|Orion&lt;br /&gt;
|Everydays 2100GMT+1&lt;br /&gt;
|-&lt;br /&gt;
|[http://logicamp.org/ Logicamp]&lt;br /&gt;
|Logicamp &lt;br /&gt;
|Generally Mondays 0900 GMT+1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Grid Associations]]&lt;br /&gt;
* [[Public Hypergrid Nodes|HyperGrid Nodes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Grids]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Grid_List</id>
		<title>Grid List</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Grid_List"/>
				<updated>2021-04-30T18:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Public grids */ Add outworldz at bottom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
== What is the Grid List? ==&lt;br /&gt;
There are hundreds (thousands?) of OpenSimulator-based virtual worlds out there. Many of them are free to use and welcome new users. This grid list is a community-generated list of such worlds. If you would like to experience an OpenSimulator-based virtual world before installing your own, try one of these. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE:''' The OpenSimulator project is not responsible for, nor in any way associated with, any grid listed on this page, nor for any grid's content or activities. Visit at your own risk. Also, there are no guarantees that these worlds are up and running.&lt;br /&gt;
&lt;br /&gt;
== Public grids  ==&lt;br /&gt;
&lt;br /&gt;
'''Grid List Policy:''' Please list your grid only if uses OpenSimulator as a component. Do not include advertising language. The entries in the main list should just contain the grid name and the plain numbers as defined by the column headers. '''Please use [[Grid List/Template|this template]] for the subpages to keep the information in a comparable manner.''' Grids are listed in the order of appearance, so please add your entry to the bottom of the list. Anyone found inserting a grid up higher in the list will have their entry moved or removed. &lt;br /&gt;
&lt;br /&gt;
You may want provide a link on your world's website back to the project by using the [[OpenSim Graphics|Powered by OpenSimulator logo]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is only a partial listing of grids. Hypergrid Business maintains a list of active grids, updated monthly: [http://www.hypergridbusiness.com/statistics/active-grids/ Active OpenSimulator grids]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Grid Page last updated on Sep 13 2020&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
! Grid Name &lt;br /&gt;
! # Regions &lt;br /&gt;
! Approx # Users &lt;br /&gt;
! Unique last 30days&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OSGrid|OSGrid]] &lt;br /&gt;
| 4665 &lt;br /&gt;
| 125000&lt;br /&gt;
| 4380&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Francogrid|FrancoGrid]] &lt;br /&gt;
| 298&lt;br /&gt;
| 5593&lt;br /&gt;
| 298&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/3rd Rock Grid|3rd Rock Grid]] &lt;br /&gt;
| 283&lt;br /&gt;
| 11765&lt;br /&gt;
| 347&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Metropolis|Metropolis Metaversum]] &lt;br /&gt;
| 1581&lt;br /&gt;
| 14706&lt;br /&gt;
| 3579&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Open-Neuland|OpenSimulator-Club - Open Neuland]] &lt;br /&gt;
| 216 &lt;br /&gt;
| 384 &lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Wilder-Westen|OpenSimulator-Club - Wilder Westen]] &lt;br /&gt;
| 41 &lt;br /&gt;
| 122 &lt;br /&gt;
| 36&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Myopengrid.com|MyOpenGrid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Your Alternative Life|Your Alternative Life]] &lt;br /&gt;
| 47 &lt;br /&gt;
| 2089 &lt;br /&gt;
| 1458&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Openvue|Openvue]] &lt;br /&gt;
| 16&lt;br /&gt;
| 24&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Logicamp|Logicamp - Outdoor Grid]] &lt;br /&gt;
| 179&lt;br /&gt;
| 3300 &lt;br /&gt;
| 577&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Jamgrid|Jamgrid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 55 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/JOGrid|Japan Open Grid]] &lt;br /&gt;
| 158&lt;br /&gt;
| 682&lt;br /&gt;
| 142&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Tlön|Tlön]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 65 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/PMGrid|PMGrid]] &lt;br /&gt;
| 80 &lt;br /&gt;
| 100 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/jokaydiagrid|jokaydiaGRID]] &lt;br /&gt;
| 20 &lt;br /&gt;
| 253 &lt;br /&gt;
| 75&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Craft-World|Craft-World]] &lt;br /&gt;
| 207 &lt;br /&gt;
| 9429 &lt;br /&gt;
| 607&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual RP|Virtual RP]] &lt;br /&gt;
| 17 &lt;br /&gt;
| 714 &lt;br /&gt;
| 55&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GerGrid|GerGrid]] &lt;br /&gt;
| 98 &lt;br /&gt;
| 408&lt;br /&gt;
| 25&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AnSky|AnSky]] &lt;br /&gt;
| 14 &lt;br /&gt;
| 106&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual Worlds Grid|Virtual Worlds Grid]] &lt;br /&gt;
| 527 &lt;br /&gt;
| 30 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/3DGrid World|3DGrid World (formerly The SecondLearning Grid)]]&lt;br /&gt;
| 4 &lt;br /&gt;
| 55 &lt;br /&gt;
| 46&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Sofitek|Sofitek]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 21 &lt;br /&gt;
| 21&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Dorenas World|Dorenas World]] &lt;br /&gt;
| 143&lt;br /&gt;
| 448&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Speculoos|Speculoos]] &lt;br /&gt;
| 30&lt;br /&gt;
| 50 &lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Pathlandia|Pathlandia]] &lt;br /&gt;
| 4 &lt;br /&gt;
| 1 &lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Austria|Austria]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 6 &lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Psychedelia|Psychedelia]] &lt;br /&gt;
| 7 &lt;br /&gt;
| 7 &lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/M001|M001]]&lt;br /&gt;
| 10&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/HyperGrid Plaza|HyperGrid Plaza]] &lt;br /&gt;
| 1&lt;br /&gt;
| 100&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [http://adreans-world.from-fl.com/home/ Adreans-World]&lt;br /&gt;
| 147&lt;br /&gt;
| 518 &lt;br /&gt;
| 43&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.jopensim.com jOpenSimWorld]&lt;br /&gt;
| 39&lt;br /&gt;
| 327&lt;br /&gt;
| 39&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/RevWorld|Rev World]]&lt;br /&gt;
| 56 &lt;br /&gt;
| 1461&lt;br /&gt;
| 256&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Littlefield_Grid|Littlefield Grid]]&lt;br /&gt;
| 351&lt;br /&gt;
| 2078&lt;br /&gt;
| 383&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Alife Virtual|Alife Virtual]] &lt;br /&gt;
| 500&lt;br /&gt;
| 10000&lt;br /&gt;
| 1000&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Athabasca University|Athabasca University]]&lt;br /&gt;
| 16 &lt;br /&gt;
| 15 (in development stage)&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/IgnisFatuus|Ignis Fatuus]] &lt;br /&gt;
| 47 &lt;br /&gt;
| 14&lt;br /&gt;
| 72&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DigiWorldz|DigiWorldz]]&lt;br /&gt;
| 6907&lt;br /&gt;
| 8582&lt;br /&gt;
| 2315&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/gimisaOS|gimisaOS]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 1 &lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DSGrid|DSGrid]]&lt;br /&gt;
| 17 &lt;br /&gt;
| 52 &lt;br /&gt;
| 71&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Regno di Camlaan|Regno di Camlaan]] &lt;br /&gt;
| 8&lt;br /&gt;
| 19&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [http://partydestinationgrid.com Party Destination Grid] &lt;br /&gt;
| 120 &lt;br /&gt;
| 1500 &lt;br /&gt;
| 1050&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/pathway_universe|pathway universe]]&lt;br /&gt;
| 26&lt;br /&gt;
| 60&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Neverworld_Grid|Neverworld Grid ]]&lt;br /&gt;
| 328&lt;br /&gt;
| 1221&lt;br /&gt;
| 383&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Zone Nations|Zone Nations®]]&lt;br /&gt;
| 31&lt;br /&gt;
| 6107&lt;br /&gt;
| 3678&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.vibel.eu Vibel]&lt;br /&gt;
| 15&lt;br /&gt;
| 839&lt;br /&gt;
| 839&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Anetteswelt|Anetteswelt]]&lt;br /&gt;
| 143&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/openmanniland|openmanniland - OpenSim 0.9.2.0, oswp Webinterface and DTL/NSL MoneyServer]]&lt;br /&gt;
| 10&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ReactionGrid|ReactionGrid]]&lt;br /&gt;
| 76&lt;br /&gt;
| 9756&lt;br /&gt;
| 406&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GorGrid|GorGrid]]&lt;br /&gt;
| 10&lt;br /&gt;
| 31&lt;br /&gt;
| 58&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Outworldz|Outworldz]]&lt;br /&gt;
| 170&lt;br /&gt;
| 826&lt;br /&gt;
| 161&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inactive Public grids  ==&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = inactive &lt;br /&gt;
| text = This is a list of Grids that been inactive for a few days and or have claimed to be inactive by the owner. &amp;lt;!-- MAJ le 30/12/2011 --&amp;gt;[[Category:Grid List]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
! Grid Name &lt;br /&gt;
! # Regions &lt;br /&gt;
! Approx # Users &lt;br /&gt;
! Unique last 30days&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cybergrid|Cybergrid]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 44 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/MOSES|MOSES: Military Open Simulator Enterprise Strategy]] &lt;br /&gt;
| 117 &lt;br /&gt;
| 227 &lt;br /&gt;
| 102&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SirinHGpole-Grid|SirinHGpole-Grid]] (regions merged into OSGrid)&lt;br /&gt;
| 238&lt;br /&gt;
| 120&lt;br /&gt;
| 70&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/The New World Grid|The New World Grid]] &lt;br /&gt;
| 330 &lt;br /&gt;
| 5200 &lt;br /&gt;
| 590&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Uvatar|Uvatar]] &lt;br /&gt;
| &amp;amp;nbsp;??? &lt;br /&gt;
| &amp;amp;nbsp;??? &lt;br /&gt;
| 0 &amp;lt;!-- Logins are disabled. Last update to the website was in 2012, many unfixed errors to the site. --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cyberlandia|Cyberlandia]] &lt;br /&gt;
| 185 &lt;br /&gt;
| 1600 &lt;br /&gt;
| 269&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/CloneLife|Clone Life]]&lt;br /&gt;
| 31&lt;br /&gt;
| 6107&lt;br /&gt;
| 3678&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.goreanlifestyle.com/ Gorean Life Style]&lt;br /&gt;
|30&lt;br /&gt;
|50&lt;br /&gt;
|45&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/COSIE Grid|COSIE Grid]] &lt;br /&gt;
| 6 &lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/H omeland3D|Homeland3D]] &lt;br /&gt;
| 40 &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.meetinstantly.com/ MeetInstantly]&lt;br /&gt;
| 32&lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
|[[Grid List/Traduverse|Traduverse]]&lt;br /&gt;
| 49&lt;br /&gt;
| 27&lt;br /&gt;
| 27&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Regno di Camlaan|Regno di Camlaan]] &lt;br /&gt;
| 8&lt;br /&gt;
| 19&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AndromedaGrid|Andromeda Grid]] &lt;br /&gt;
| 10&lt;br /&gt;
| 4 &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EduGrid|EduGrid]] &lt;br /&gt;
| 15&lt;br /&gt;
| 2000&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
|[https://web.archive.org/web/20110602161855/http://virtualhighway.us:80/ Virtual Highway]&lt;br /&gt;
| 706&lt;br /&gt;
| 6318&lt;br /&gt;
| 285&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Ice Grid|Ice Grid]] &lt;br /&gt;
| 40 &lt;br /&gt;
| 32 &lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ART|ART]] &lt;br /&gt;
| 3(real) &lt;br /&gt;
| ? (real)&lt;br /&gt;
| 150(real)&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Stone Grid|Stone Grid]] &lt;br /&gt;
| 3&lt;br /&gt;
| 4 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/LifeStyle3D - ItalianGrid|LifeStyle3D - ItalianGrid]] &lt;br /&gt;
| 32&lt;br /&gt;
| 350 &lt;br /&gt;
| 108&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/My3dLife|My3DLife]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 20 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DaseinWorld|DaseinWorld]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 3 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OpenSim Creations Grid|OpenSim Creations Grid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 11&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/StarGates Matrix|StarGates Matrix]] &lt;br /&gt;
| 5 &lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/You3D|You3D]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 6 &lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtual Realms Grid|Virtual Realms Grid]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 10 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Gor Grid|Gor Grid]] &lt;br /&gt;
| 8 &lt;br /&gt;
| 10 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Enakai|Enakai]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 14 &lt;br /&gt;
| 34&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Greeklife|GreekLife]] &lt;br /&gt;
| 30&lt;br /&gt;
| 50&lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EverWorlds.com|EverWorlds: Bringing People Together (formerly Destiny Zero)]] &lt;br /&gt;
| 17 &lt;br /&gt;
| 2 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/IcaruSRealmS|=IcaruS= RealmS]] &lt;br /&gt;
| 26 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| 14&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/lpgrid.com|Lost Paradise]] &lt;br /&gt;
| 2847&lt;br /&gt;
| 820&lt;br /&gt;
| 670&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Valhalla Virtual|Valhalla Virtual]] &lt;br /&gt;
| 9 &lt;br /&gt;
| 25 &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Cyber Wrld|Cyber Wrld]] &lt;br /&gt;
| 5 &lt;br /&gt;
| 8 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/FleepGrid|FleepGrid]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 150 &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Lisat|ArtGridOnLine]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 48 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/EU-Grid|EU-Grid]] &lt;br /&gt;
| 10 &lt;br /&gt;
| 350 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/GiantGrid|GiantGrid]] &lt;br /&gt;
| 169 &lt;br /&gt;
| 261 &lt;br /&gt;
| 157&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/pseudospace|Pseudospace]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 46 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Metapocalypse|Metapocalypse Grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/UFSGrid|UFSGrid]] &lt;br /&gt;
| 36 &lt;br /&gt;
| 897 &lt;br /&gt;
| +/-50&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Unica|Unica]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 60 &lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/LISAT|Lost-in-Space-and-Time]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Rezzable Visions|Rezzable Visions]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/SimValley NL|SimValley NL]] &lt;br /&gt;
| 1087 &lt;br /&gt;
| 364 &lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Your2Live|Your2Live]] &lt;br /&gt;
| 3 &lt;br /&gt;
| 8 &lt;br /&gt;
| *&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OPENSIM NL|OpenSim NL]] &lt;br /&gt;
| 9 &lt;br /&gt;
| 426 &lt;br /&gt;
| 34&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VirtualFrance3D|VirtualFrance3D]] &lt;br /&gt;
| 16 &lt;br /&gt;
| 143 &lt;br /&gt;
| 31&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Twisted Sky|Twisted Sky]] &lt;br /&gt;
| 60 &lt;br /&gt;
| 290 &lt;br /&gt;
| 68&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/REDISIS|redOasis (formerly RedIsis)]] &lt;br /&gt;
| 130 &lt;br /&gt;
| 60 &lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/PearGrid|PearGrid]] &lt;br /&gt;
| 18 &lt;br /&gt;
| 34 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Island Oasis|Island Oasis]] &lt;br /&gt;
| 212&lt;br /&gt;
| 9107&lt;br /&gt;
| 860&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/HAVEN: Your World|HAVEN: Your World]] &lt;br /&gt;
| 13 &lt;br /&gt;
| 11 &lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Flatlandia.cc|Flatlandia]] &lt;br /&gt;
| 33 &lt;br /&gt;
| 177 &lt;br /&gt;
| 110&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/TertiaryGrid|Tertiary Grid]] &lt;br /&gt;
| 41 &lt;br /&gt;
| 379&lt;br /&gt;
| 42&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Annuna Grid|Annuna Grid]] &lt;br /&gt;
| 60 &lt;br /&gt;
| 60 &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VeeSome|VeeSome]] &lt;br /&gt;
| 48 &lt;br /&gt;
| 106 &lt;br /&gt;
| 53&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/VirtuaLife|Virtualife]]&lt;br /&gt;
| 132 &lt;br /&gt;
| 1000 &lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Avatar Hangout|Avatar Hangout (with OMC)]] &lt;br /&gt;
| 73 &lt;br /&gt;
| 8,626 &lt;br /&gt;
| 58&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/DGP Grid|DGP Grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[Grid List/tescos.org.uk|tescos.org.uk (curency ƒ)]] &lt;br /&gt;
| 30 &lt;br /&gt;
| 20 &lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Role Play Worlds|Role Play Worlds - Your Fantasy, your world]] &lt;br /&gt;
| 129 &lt;br /&gt;
| 2276 &lt;br /&gt;
| 298&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Avatrian|Avatrian]] &lt;br /&gt;
| 11 &lt;br /&gt;
| 25 &lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OSBEST|OSBEST]] &lt;br /&gt;
| 12 &lt;br /&gt;
| 8 &lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/MCM Realm|MCM Realm]] &lt;br /&gt;
| 22 &lt;br /&gt;
| 73 &lt;br /&gt;
| 23&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Oasis Grid|Oasis Grid]] &lt;br /&gt;
| 89 &lt;br /&gt;
| 3068 &lt;br /&gt;
| 228&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AtMeeting|AtMeeting Grid]] &lt;br /&gt;
| 20 &lt;br /&gt;
| 30 &lt;br /&gt;
| 25&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/OpenUtopia|OpenUtopia Grid]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 3 &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Virtualgames3d|Virtualgames3d]] &lt;br /&gt;
| 140 &lt;br /&gt;
| 1350 &lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Grid4Us|Grid4Us]] &lt;br /&gt;
| 22 &lt;br /&gt;
| 130 &lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/K-grid|K-grid]] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Le Monde de Darwin|Le Monde de Darwin]] &lt;br /&gt;
| 73 &lt;br /&gt;
| 83 &lt;br /&gt;
| 36&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/NeXtLife|NeXtLife Grid]] &lt;br /&gt;
| 15 &lt;br /&gt;
| 7 &lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Sensation Games|Sensation Games]] &lt;br /&gt;
| 1 &lt;br /&gt;
| 2 &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/SLI-Grid|SLI-Grid]] &lt;br /&gt;
| 5 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| TGGrid &lt;br /&gt;
| 11 &lt;br /&gt;
| 9 &lt;br /&gt;
| 13&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/4AllGrid|4AllGrid]] &lt;br /&gt;
| 68&lt;br /&gt;
| 6&lt;br /&gt;
| 23&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/AlphaTowne|Alpha Towne]] &lt;br /&gt;
| 308 &lt;br /&gt;
| 1172 &lt;br /&gt;
| 909&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/AstralGrid|AstralGrid]]&lt;br /&gt;
| 70&lt;br /&gt;
| 40&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Avination|Avination]]&lt;br /&gt;
| 110&lt;br /&gt;
| 300&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/EduverseGrid|EduverseGrid]]&lt;br /&gt;
| 147 &lt;br /&gt;
| 400&lt;br /&gt;
| Data Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/German Grid|German Grid]] &lt;br /&gt;
| 107 &lt;br /&gt;
| 2353 &lt;br /&gt;
| 385&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Heritage Key|Heritage Key]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/ccdbbs.com|LPgrid]]&lt;br /&gt;
| 345&lt;br /&gt;
| 331&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[NewtonGrid]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/RPGRID_NL|RPGRID NL]]&lt;br /&gt;
| 30&lt;br /&gt;
| 141&lt;br /&gt;
| 16&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/ScienceSim|ScienceSim]] &lt;br /&gt;
| 25 &lt;br /&gt;
| 30 &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SkyLifeGrid|SkyLifeGrid]]&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/slitalia|Slitalia]]&lt;br /&gt;
| 7&lt;br /&gt;
| 10&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/SunlightGrid|SunlightGrid]]&lt;br /&gt;
| 167&lt;br /&gt;
| 503&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Taekwondoverse|Taekwondoverse]]&lt;br /&gt;
| 162 &lt;br /&gt;
| 400&lt;br /&gt;
| Data Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/Virtual_Life|Virtual Life]]&lt;br /&gt;
| 34&lt;br /&gt;
| 1004&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/VirtuLife|VirtuLife]]&lt;br /&gt;
| 21&lt;br /&gt;
| 10&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/virtyou|virtyou]] &lt;br /&gt;
| 110 &lt;br /&gt;
| 1676 &lt;br /&gt;
| 70&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/World4US|World4US]]&lt;br /&gt;
| 25&lt;br /&gt;
| 37&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/digsynth.com|World of the Free]] &lt;br /&gt;
| 0 &lt;br /&gt;
| 0 &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid_List/YrGrid|YrGrid]]&lt;br /&gt;
| 33&lt;br /&gt;
| 2150&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid List/Zairus Grid|Zairus Grid]] &lt;br /&gt;
| 72 &lt;br /&gt;
| 10&lt;br /&gt;
| 3&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Office Hour ==&lt;br /&gt;
&lt;br /&gt;
Each week on Tuesday, OSGrid hosts an official Office Hour where the OpenSimulator developers meet and discuss the weeks software development activities. This is a good place to get to know what is going on with OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
!Grid&lt;br /&gt;
!Region&lt;br /&gt;
!Time&lt;br /&gt;
|-&lt;br /&gt;
|[http://osgrid.org/ OSGrid]&lt;br /&gt;
|Wright Plaza&lt;br /&gt;
|Tuesday 11:00AM Pacific Time (USA)&lt;br /&gt;
|-&lt;br /&gt;
|[http://logicamp.org/ logicamp MainGrid]&lt;br /&gt;
|Logicamp&lt;br /&gt;
|Friday 11:00 - 12:00 GMT+1&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.lfgrid.com Littlefield Grid]&lt;br /&gt;
|Monthly Grid Status Meeting - Smithville Region - lfgrid.com:8002:smithville&lt;br /&gt;
|First Friday of the Month 1:30PM PSD&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.hypergrid.org Metropolis Metaversum]&lt;br /&gt;
|Weekly &amp;quot;Stammtisch&amp;quot; Meeting on Region *CenterWorld*&lt;br /&gt;
|Every Wednesday 21:00 - 22:00 &amp;lt;br&amp;gt;(GMT/UTC + 1)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Grid Test Hours ==&lt;br /&gt;
&lt;br /&gt;
Several grids provide valuable testing information for the project, each run a special 'test' hour to test capabilities of the platform. These are run at the same time every week. It may also be a good chance to meet people who can answer questions you may have.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
!Grid&lt;br /&gt;
!Region&lt;br /&gt;
!Time&lt;br /&gt;
|-&lt;br /&gt;
|[http://francogrid.org/ FrancoGrid]&lt;br /&gt;
|Orion&lt;br /&gt;
|Everydays 2100GMT+1&lt;br /&gt;
|-&lt;br /&gt;
|[http://logicamp.org/ Logicamp]&lt;br /&gt;
|Logicamp &lt;br /&gt;
|Generally Mondays 0900 GMT+1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
* [[Grid Associations]]&lt;br /&gt;
* [[Public Hypergrid Nodes|HyperGrid Nodes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Grids]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2021-04-13T23:05:36Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */ From https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
If solving the problem by configuring your router turns out not to be possible, you can work around it by setting up some IPTable rules on the computer you're using to browse the web (assuming it's a GNU/Linux OS). For details see the NAT Loopback [[Iptables-script]].&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM1602G || Not Working || Arris Touchstone from Spectrum&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR700 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk Pro Gaming XR300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX80/ RAX75 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX50/ RAX45 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX40/ RAX35 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX20/ RAX15 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RAX200 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk RS400 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R9000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8500 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8300 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R8000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7960P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7900 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7500v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7300DST ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7200/ R7350/ R7400/ R7450 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7000 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900P ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900V1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R7100LG ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6900v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v3 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6700v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6400v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6300v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6260/R6330/ R6350/ R6850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6250 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6220/ R6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6120 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6080 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6050/JR6150 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Nighthawk R6020 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR850 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR750 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR50v1 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR40 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR20 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Orbi  RBR10 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C3700v2 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6220 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7100V ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C7800 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
|Netgear || Cable Modem C6230 ||Works || [https://kb.netgear.com/000049578/Which-NETGEAR-routers-support-NAT-loopback]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AX1500 Wifi 6 || Not Working || TCP does loop back, but not UDP between regions. Works if you add one entry per port, (no 8004-8100) but its limited in the number of entries. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
[[NAT_Loopback|Windows 10 NAT Loopback notes]]&lt;br /&gt;
&lt;br /&gt;
External links:&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html Windows XP NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/|Windows 7 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=yIrDvVjyiMk|Windows 8, 8.1, 10 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
See also: [[Network_Settings#DynDNS_loopback|Using DynDNS for NAT Loopback with Windows, MacOS, or Linux]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Talk:Server_Commands</id>
		<title>Talk:Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Talk:Server_Commands"/>
				<updated>2021-03-25T16:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
debug packet &amp;lt;level&amp;gt;  and emergency-monitoring  seem to do nothing other than throw an error&lt;br /&gt;
&lt;br /&gt;
--[[User:Ferd Frederix|Mikebert]] 2021-03-25 11:46:00 SL+2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The help in the server console lists a couple of 'export' commands as well, which aren't mentioned on this page:&lt;br /&gt;
* export&lt;br /&gt;
* export-map&lt;br /&gt;
It would be nice to get some detail on these commands. In particular (what I'm looking for at the moment) is to know how to update each region in the world map.  The minimap shows the current terrain, but the world map is still showing the default terrain. [[User:Karora|Karora]] 22:36, 12 February 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Also missing to explain &amp;quot;link-mapping&amp;quot;&lt;br /&gt;
--[[User:Mikebert|Mikebert]] 06:19, 2 March 2009 (UTC)&lt;br /&gt;
----&lt;br /&gt;
I am deleting the final section [Other] as it no longer applies.&lt;br /&gt;
I am eternally grateful to ....darn! can't seem to find the log entry now&lt;br /&gt;
am thinking melanie... but I can't say for sure&lt;br /&gt;
command line entries on console have been buffered for quite a while now.&lt;br /&gt;
This section is ... I think the word is deprecated :-)&lt;br /&gt;
--[[User:PocoLoco|PocoLoco]] 07:47, 11 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
from irc:&lt;br /&gt;
	terrain load doesn't need 256x256 anymore.&lt;br /&gt;
	I you have a sim with multiple regions and you want to set all regions on that sim to be from one larger image you can use 'terrain load &amp;lt;file&amp;gt; &amp;lt;width in regions&amp;gt; &amp;lt;height in regions&amp;gt; &amp;lt;regionX&amp;gt; &amp;lt;regionY&amp;gt;&lt;br /&gt;
	miyanokouji	where regionX and regionY are the coordinates of the bottom-left region.&lt;br /&gt;
&lt;br /&gt;
[[User:Markuser|Markuser]] 16:28, 9 June 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2021-03-25T16:44:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Terrain Commands */  Add note on terrain load&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
* land clear - Clears all parcels on the land.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID,m which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file. (see note1)&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
Note1 : If you have a sim with multiple regions and you want to set all regions on that sim to be from one larger image you can use 'terrain load &amp;lt;file&amp;gt; &amp;lt;width in regions&amp;gt; &amp;lt;height in regions&amp;gt; &amp;lt;regionX&amp;gt; &amp;lt;regionY&amp;gt; where regionX and regionY are the coordinates of the bottom-left region.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset &amp;lt;ID&amp;gt; - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0 (dead link)&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - simulator frames per second&lt;br /&gt;
* PhyFPS - physics frames per second&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2021-03-25T16:41:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* terrain modify */  dead link?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
* land clear - Clears all parcels on the land.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID,m which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset &amp;lt;ID&amp;gt; - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0 (dead link)&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - simulator frames per second&lt;br /&gt;
* PhyFPS - physics frames per second&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/FSAssets_Service</id>
		<title>FSAssets Service</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/FSAssets_Service"/>
				<updated>2021-01-20T22:18:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Migration */  Add timeout parameter for large blog issues and timeouts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|FSAssets_Service}}&lt;br /&gt;
=FS Assets=&lt;br /&gt;
FSAssets is intended for larger grids where the size of the database is expected to exceed 50GB. This option will save the assets to the file system as opposed to the default service which stores assets as blobs in the database. This option also provides deduplication abilities, each asset is hashed when it is received for storage and if the asset already exists, the asset service will link to the existing file rather than store two copies.&lt;br /&gt;
&lt;br /&gt;
==Config Options==&lt;br /&gt;
To enable FSAssets, open Robust.ini or Robust.HG.ini depending on whether you are running a standard or hypergrid enabled grid and find the AssetService section. Change the LocalServiceModule from the current option to:&lt;br /&gt;
&lt;br /&gt;
 LocalServiceModule = &amp;quot;OpenSim.Services.FSAssetService.dll:FSAssetConnector&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also uncomment the following required settings, these are specific to FSAssets:&lt;br /&gt;
&lt;br /&gt;
 BaseDirectory = &amp;quot;./fsassets/data&amp;quot;&lt;br /&gt;
 SpoolDirectory = &amp;quot;./fsassets/tmp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The following are optional FSAsset config options:&lt;br /&gt;
&lt;br /&gt;
 ;FallbackService = &amp;quot;OpenSim.Services.AssetService.dll:AssetService&amp;quot;&lt;br /&gt;
 ;DaysBetweenAccessTimeUpdates = 30&lt;br /&gt;
&lt;br /&gt;
 ;StorageProvider = &amp;quot;&amp;quot;&lt;br /&gt;
 ;ConnectionString = &amp;quot;&amp;quot;&lt;br /&gt;
 ;Realm = &amp;quot;fsassets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* '''BaseDirectory'''&lt;br /&gt;
::This is the folder in which the asset data will be saved.&lt;br /&gt;
* '''SpoolDirectory'''&lt;br /&gt;
::The spool directory is a folder used for temporary storage while the asset is hashed and compressed before it gets moved to the BaseDirectory. This must be on the same file system as the base directory.&lt;br /&gt;
* '''FallbackService'''&lt;br /&gt;
::If you are upgrading from the default asset service, uncomment this and set the default asset connector. This will allow FSAssets to retrieve an existing asset from the old service and add it to the BaseDirectory. The fallback service is checked when an asset is requested but not found by FSAssets.&lt;br /&gt;
* '''DaysBetweenAccessTimeUpdates'''&lt;br /&gt;
::By default, the access time is updated each time an asset is requested. This option can be used to skip this update for assets that already have a recent access time and reduce calls to the database.&lt;br /&gt;
* '''StorageProvider'''&lt;br /&gt;
::To change where the metadata is saved you can set a specific storage provider and connection string. If this is disabled, the default storage provider given in the database section will be used to save metadata.&lt;br /&gt;
* '''ConnectionString'''&lt;br /&gt;
::DB connection string for the optional StorageProvider mentioned above.&lt;br /&gt;
* '''Realm'''&lt;br /&gt;
::The table name to save metadata in the database. Default is 'fsassets'&lt;br /&gt;
&lt;br /&gt;
==Migration==&lt;br /&gt;
While FSAssets will use the FallBackService if set, to convert any existing assets when they are requested and not found, this will not automatically convert all the old assets to the new service. To convert all assets from the default service there is a console command provided:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 import &amp;lt;conn&amp;gt; &amp;lt;table&amp;gt; [&amp;lt;start&amp;gt; &amp;lt;count&amp;gt;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The import command expects a database connection string and the name of the legacy asset table to be passed as parameters. The following example shows how to start the import process for a MySQL database, just change the connection details to match your database schema, username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 import &amp;quot;Data Source=localhost;Database=SCHEMA;User ID=USER;Password=PASS;Old Guids=true;&amp;quot; assets&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Depending on the size of your existing assets table, the import process will take some time to complete. The optional parameters, start and count allow you to specify the position and number of rows to convert.&lt;br /&gt;
&lt;br /&gt;
If the import command fails with a timeout error., add &amp;quot;command timeout=300;&amp;quot; to the connection string:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import &amp;quot;Data Source=localhost;Port=3306;Database=Robust;User ID=SomeRobustuser;Password=Somerobustpassword;Old Guids=true;Command Timeout=300;&amp;quot; assets&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The timeout is in minutes, and the default is only 30 seconds.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid Assets==&lt;br /&gt;
If your grid has hypergrid enabled, you probably have it setup to use the HGAssetService for sharing assets with other grids. In this situation you will need to change the HGAssetService section of your Robust.ini to point to the FSAssets version of the HGAssetService known as HGFSAssetService.&lt;br /&gt;
&lt;br /&gt;
To enable the HGFSAssetService, find the HGAssetService section of your Robust.ini, the LocalServiceModule should be changed to:&lt;br /&gt;
&lt;br /&gt;
  LocalServiceModule = &amp;quot;OpenSim.Services.HypergridService.dll:HGFSAssetService&amp;quot;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2020-12-04T05:18:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */ add ax 1500&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
If solving the problem by configuring your router turns out not to be possible, you can work around it by setting up some IPTable rules on the computer you're using to browse the web (assuming it's a GNU/Linux OS). For details see the NAT Loopback [[Iptables-script]].&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM1602G || Not Working || Arris Touchstone from Spectrum&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AX1500 Wifi 6 || Not Working || TCP does loop back, but not UDP between regions. Works if you add one entry per port, (no 8004-8100) but its limited in the number of entries. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
[[NAT_Loopback|Windows 10 NAT Loopback notes]]&lt;br /&gt;
&lt;br /&gt;
External links:&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html Windows XP NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/|Windows 7 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=yIrDvVjyiMk|Windows 8, 8.1, 10 NAT Loopback]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
See also: [[Network_Settings#DynDNS_loopback|Using DynDNS for NAT Loopback with Windows, MacOS, or Linux]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2020-11-10T20:36:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Land Commands */  add land clear as it was missing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
* land clear - Clears all parcels on the land.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID,m which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset &amp;lt;ID&amp;gt; - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2020-08-09T03:59:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */  TM1602G add&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM1602G || Not Working || Arris Touchstone from Spectrum&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/OsSetSitActiveRange</id>
		<title>OsSetSitActiveRange</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/OsSetSitActiveRange"/>
				<updated>2020-07-20T04:04:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: passive voice change to active voice, punctuation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{osslfunc&lt;br /&gt;
|function_syntax=osSetSitActiveRange(float range)&lt;br /&gt;
|csharp_syntax=&lt;br /&gt;
|description= sets a limit on how far a avatar can be to have a sit request accepted, or disable sits.&lt;br /&gt;
* range &amp;gt; 0:  sit request is silently ignored if a avatar is further than range from the prim. &lt;br /&gt;
* range == 0: disables this limit. Region default is used. Currently range is unlimited if a sit target is set or physics can sit the avatar, otherwise 10m.&lt;br /&gt;
* range &amp;lt; 0: sits are disabled. Requests are silently ignored.&lt;br /&gt;
The range value is stored in the prim, even if the script is removed&lt;br /&gt;
|threat_level= None&lt;br /&gt;
|permissions= true&lt;br /&gt;
|delay=0&lt;br /&gt;
|ossl_example=&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
// Example of osSetSitActiveRange&lt;br /&gt;
&lt;br /&gt;
vector target = &amp;lt;0.0, 0.3, 0.55&amp;gt;;&lt;br /&gt;
vector rotate = &amp;lt;0.0, 0.0, 90.0&amp;gt;;&lt;br /&gt;
float active_range = 5.0;&lt;br /&gt;
key avatar;&lt;br /&gt;
&lt;br /&gt;
debug(string name)&lt;br /&gt;
{&lt;br /&gt;
    active_range = osGetSitActiveRange();&lt;br /&gt;
    llOwnerSay(&amp;quot;active_range for avatar &amp;quot; + name + &amp;quot; is &amp;quot; + (string)active_range);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llUnSit(llAvatarOnSitTarget());&lt;br /&gt;
        llSetClickAction(CLICK_ACTION_SIT);&lt;br /&gt;
        llSitTarget(target, llEuler2Rot((rotate * DEG_TO_RAD)));&lt;br /&gt;
        osSetSitActiveRange(active_range);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if (change &amp;amp; CHANGED_LINK)&lt;br /&gt;
        {&lt;br /&gt;
            key user = llAvatarOnSitTarget();&lt;br /&gt;
&lt;br /&gt;
            if (user != NULL_KEY)&lt;br /&gt;
            {&lt;br /&gt;
                avatar = user;&lt;br /&gt;
                debug(osKey2Name(avatar));&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            else if (user == NULL_KEY)&lt;br /&gt;
            {&lt;br /&gt;
                debug(osKey2Name(avatar));&lt;br /&gt;
                avatar = NULL_KEY;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                llResetScript();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|additional_info=This function was added in 0.9.2.0&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Talk:Offline_Instant_Messaging_v2</id>
		<title>Talk:Offline Instant Messaging v2</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Talk:Offline_Instant_Messaging_v2"/>
				<updated>2020-05-15T19:51:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Created page with &amp;quot;This page is just the defaults for Offline IM off. Does anyone have a working setup?  ~~~  Ferd Frederix/Fred Beckhusen&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is just the defaults for Offline IM off. Does anyone have a working setup?&lt;br /&gt;
&lt;br /&gt;
[[User:Ferd Frederix|Ferd Frederix]] ([[User talk:Ferd Frederix|talk]]) &lt;br /&gt;
Ferd Frederix/Fred Beckhusen&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Estate_Support</id>
		<title>Estate Support</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Estate_Support"/>
				<updated>2019-08-21T20:33:58Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Introduction */  Minort formatting, get rid obsoilete info about commands that are now here.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Estates in OpenSimulator are supported at the simulator level - these are not stored in a ROBUST service.&lt;br /&gt;
&lt;br /&gt;
Estates are supported in the region console, or when setting up a new estate when a new region is setup.  Commands for deletion of estates is currently not possible. At the moment, the only way to do this is by manipulating the region database directly.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
== Sample usage to change a Region to another Estate ==&lt;br /&gt;
&lt;br /&gt;
 # estate show&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
 # show names&lt;br /&gt;
 UUID Name HomeURL&lt;br /&gt;
 00000000-0000-0000-0000-000000000000 Unknown User&lt;br /&gt;
 461efe20-c098-4685-ab41-ef761538d3bc Test User&lt;br /&gt;
 # estate create 461efe20-c098-4685-ab41-ef761538d3bc New Estate&lt;br /&gt;
 Estate 105 created as &amp;quot;New Estate&amp;quot;&lt;br /&gt;
 # estate link region 105 8c5fdd1b-d25a-4852-97b2-2369d5b99adf&lt;br /&gt;
 Region 8c5fdd1b-d25a-4852-97b2-2369d5b99adf is now attached to estate 105&lt;br /&gt;
 # estate show&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 New Estate 105 Test User&lt;br /&gt;
&lt;br /&gt;
== Change the name of an Estate ==&lt;br /&gt;
&lt;br /&gt;
An estate can be renamed through the &amp;quot;estate set name&amp;quot; command.&lt;br /&gt;
 # estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt;&lt;br /&gt;
== Change the owner of an Estate ==&lt;br /&gt;
An estate can have a new owner assigned through the &amp;quot;estate set owner&amp;quot; command.&lt;br /&gt;
This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
 # estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
 # estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use a Viewer ==&lt;br /&gt;
&lt;br /&gt;
Another option is to login to the OpenSimulator installation with a viewer and look at the &amp;quot;Covenant&amp;quot; tab of the &amp;quot;About Land&amp;quot; box.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
Alternatively, one could execute the following database command to show owners of all estates referenced by the simulator:&lt;br /&gt;
&lt;br /&gt;
 select PrincipalID, FirstName, LastName, EstateID, EstateName from UserAccounts, estate_settings as es where PrincipalID=es.EstateOwner;&lt;br /&gt;
&lt;br /&gt;
= Tasks =&lt;br /&gt;
&lt;br /&gt;
'''TODO: Need to add more tasks as necessary:&lt;br /&gt;
  * delete estate&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
= Database tables =&lt;br /&gt;
&lt;br /&gt;
* estate_groups - groups allowed on the estate.&lt;br /&gt;
* [[estate_managers]] - managers of the estate.&lt;br /&gt;
* estate_map - relates IDs of regions to the estate ID.&lt;br /&gt;
* [[Estate_settings]] - holds all estate properties (estate owner, estate name, etc.).&lt;br /&gt;
* estate_users - residents allowed in the estate.&lt;br /&gt;
* estateban - residents banned from the estate.&lt;br /&gt;
&lt;br /&gt;
= Old notes =&lt;br /&gt;
&lt;br /&gt;
This is the old page contents.  It may be useful for historical information.&lt;br /&gt;
&lt;br /&gt;
== SVN r5525 introduced estate support into OpenSimulator. ==&lt;br /&gt;
&lt;br /&gt;
Updating to this or a later revison will create estate support in your instance. It will convert the previous settings file to a set of database tables.&lt;br /&gt;
&lt;br /&gt;
=== The following tables are created ===&lt;br /&gt;
 &lt;br /&gt;
 regionsettings (this will be dropped and recreated if it existed)&lt;br /&gt;
 estate_settings&lt;br /&gt;
 estate_map&lt;br /&gt;
 estatebans&lt;br /&gt;
 estate_users&lt;br /&gt;
 estate_groups&lt;br /&gt;
 estate_managers&lt;br /&gt;
&lt;br /&gt;
These tables will be created in the region datastore by default.&lt;br /&gt;
&lt;br /&gt;
On conversion, it will set up an environment as close as possible to what existed before.&lt;br /&gt;
&lt;br /&gt;
It auto-creates one estate per region, with default estate IDs, starting from 100. All new estates will be parented by estate 100 as well.&lt;br /&gt;
It then places the region in it, converts the old region bans to new estate bans for that estate and sets the new estate flags to defaults.&lt;br /&gt;
All the information is saved in the database in the new tables.&lt;br /&gt;
&lt;br /&gt;
Region settings are now really by region, no longer per instance.&lt;br /&gt;
&lt;br /&gt;
This patch causes all regions to revert to the settings from estate_settings.xml. This will repair the loss of ground textures some people have reported with the last patch. However, per-region settings made with the last patch will revert to the settings from estate_settings.xml. This is a trade off and was done to make the most common migration case more robust.&lt;br /&gt;
&lt;br /&gt;
== Estate owners ==&lt;br /&gt;
&lt;br /&gt;
Estate owners are now supported, but have to be entered in the database manually, since no support for this exists in the client. Set the EstateOwner field in estate_settings to the UUID of the user you want to be the estate owner. It will become effective in each region at the next region restart.&lt;br /&gt;
&lt;br /&gt;
== Fixing Estate IDs ==&lt;br /&gt;
&lt;br /&gt;
Previous versions of OpenSimulator did automatically create estates with an EstateID equal to 1 and that ID is stored in the OpenSimulator database. Unfortunately SL based viewer do not work properly with EStateID values between 1 and 5, because these numbers are reserved for Linden Labs internal use.&lt;br /&gt;
&lt;br /&gt;
In the Estate tab of the Estate Manager the estate managers and allowed and banned avatars lists are grayed out, for estates using these reserved EstateID values. To fix this problem, run the SQL statements below to adjust the EstateIDs the following way:&lt;br /&gt;
&lt;br /&gt;
 Old New&lt;br /&gt;
 ---------&lt;br /&gt;
 1 --&amp;gt; 100&lt;br /&gt;
 2 --&amp;gt; 101&lt;br /&gt;
 3 --&amp;gt; 102&lt;br /&gt;
 4 --&amp;gt; 103&lt;br /&gt;
 5 --&amp;gt; 104&lt;br /&gt;
&lt;br /&gt;
Execute the following command while OpenSimulator is not running:&lt;br /&gt;
 mysql -u&amp;lt;user&amp;gt; -p&amp;lt;password&amp;gt; &amp;lt;database&amp;gt; &amp;lt; FixEstateID.sql&lt;br /&gt;
&lt;br /&gt;
SQL statements in FixEstateID.sql:&lt;br /&gt;
 UPDATE estate_groups SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_map SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_users SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estateban SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_map SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_users SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estateban SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_map SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_users SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estateban SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_map SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_users SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estateban SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_map SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_users SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estateban SET EstateID=104 WHERE EstateID=5;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Estate_Support</id>
		<title>Estate Support</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Estate_Support"/>
				<updated>2019-08-21T20:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Estate support */  Add details from home page, and 0.8.rc patch  http://opensimulator.org/mantis/view.php?id=7046  (tested as working fkb)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
'''Documentation is a work-in-progress'''&lt;br /&gt;
&lt;br /&gt;
Estates in OpenSimulator are supported at the simulator level - these are not stored in a ROBUST service.&lt;br /&gt;
&lt;br /&gt;
Tools for manipulating estates in OpenSimulator are currently extremely poor.  The only support in the console is a mechanism for setting up a new estate when a new region is setup.  Commands for better managing estates (creation, deletion, etc.) must be added in the future.  At the moment, the only way to do this is by manipulating the region database directly.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sample usage to change a Region to another Estate ==&lt;br /&gt;
&lt;br /&gt;
 # estate show&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
 # show names&lt;br /&gt;
 UUID Name HomeURL&lt;br /&gt;
 00000000-0000-0000-0000-000000000000 Unknown User&lt;br /&gt;
 461efe20-c098-4685-ab41-ef761538d3bc Test User&lt;br /&gt;
 # estate create 461efe20-c098-4685-ab41-ef761538d3bc New Estate&lt;br /&gt;
 Estate 105 created as &amp;quot;New Estate&amp;quot;&lt;br /&gt;
 # estate link region 105 8c5fdd1b-d25a-4852-97b2-2369d5b99adf&lt;br /&gt;
 Region 8c5fdd1b-d25a-4852-97b2-2369d5b99adf is now attached to estate 105&lt;br /&gt;
 # estate show&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 New Estate 105 Test User&lt;br /&gt;
== Change the name of an Estate ==&lt;br /&gt;
An estate can be renamed through the &amp;quot;estate set name&amp;quot; command.&lt;br /&gt;
 # estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt;&lt;br /&gt;
== Change the owner of an Estate ==&lt;br /&gt;
An estate can have a new owner assigned through the &amp;quot;estate set owner&amp;quot; command.&lt;br /&gt;
This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
 # estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
 # estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt;&lt;br /&gt;
== Use a Viewer ==&lt;br /&gt;
Another option is to login to the OpenSimulator installation with a viewer and look at the &amp;quot;Covenant&amp;quot; tab of the &amp;quot;About Land&amp;quot; box.&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
Alternatively, one could execute the following database command to show owners of all estates referenced by the simulator:&lt;br /&gt;
&lt;br /&gt;
 select PrincipalID, FirstName, LastName, EstateID, EstateName from UserAccounts, estate_settings as es where PrincipalID=es.EstateOwner;&lt;br /&gt;
&lt;br /&gt;
= Tasks =&lt;br /&gt;
&lt;br /&gt;
'''TODO: Need to add more tasks as necessary:&lt;br /&gt;
  * delete estate&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
= Database tables =&lt;br /&gt;
&lt;br /&gt;
* estate_groups - groups allowed on the estate.&lt;br /&gt;
* [[estate_managers]] - managers of the estate.&lt;br /&gt;
* estate_map - relates IDs of regions to the estate ID.&lt;br /&gt;
* [[Estate_settings]] - holds all estate properties (estate owner, estate name, etc.).&lt;br /&gt;
* estate_users - residents allowed in the estate.&lt;br /&gt;
* estateban - residents banned from the estate.&lt;br /&gt;
&lt;br /&gt;
= Old notes =&lt;br /&gt;
&lt;br /&gt;
This is the old page contents.  It may be useful for historical information.&lt;br /&gt;
&lt;br /&gt;
== SVN r5525 introduced estate support into OpenSimulator. ==&lt;br /&gt;
&lt;br /&gt;
Updating to this or a later revison will create estate support in your instance. It will convert the previous settings file to a set of database tables.&lt;br /&gt;
&lt;br /&gt;
=== The following tables are created ===&lt;br /&gt;
 &lt;br /&gt;
 regionsettings (this will be dropped and recreated if it existed)&lt;br /&gt;
 estate_settings&lt;br /&gt;
 estate_map&lt;br /&gt;
 estatebans&lt;br /&gt;
 estate_users&lt;br /&gt;
 estate_groups&lt;br /&gt;
 estate_managers&lt;br /&gt;
&lt;br /&gt;
These tables will be created in the region datastore by default.&lt;br /&gt;
&lt;br /&gt;
On conversion, it will set up an environment as close as possible to what existed before.&lt;br /&gt;
&lt;br /&gt;
It auto-creates one estate per region, with default estate IDs, starting from 100. All new estates will be parented by estate 100 as well.&lt;br /&gt;
It then places the region in it, converts the old region bans to new estate bans for that estate and sets the new estate flags to defaults.&lt;br /&gt;
All the information is saved in the database in the new tables.&lt;br /&gt;
&lt;br /&gt;
Region settings are now really by region, no longer per instance.&lt;br /&gt;
&lt;br /&gt;
This patch causes all regions to revert to the settings from estate_settings.xml. This will repair the loss of ground textures some people have reported with the last patch. However, per-region settings made with the last patch will revert to the settings from estate_settings.xml. This is a trade off and was done to make the most common migration case more robust.&lt;br /&gt;
&lt;br /&gt;
== Estate owners ==&lt;br /&gt;
&lt;br /&gt;
Estate owners are now supported, but have to be entered in the database manually, since no support for this exists in the client. Set the EstateOwner field in estate_settings to the UUID of the user you want to be the estate owner. It will become effective in each region at the next region restart.&lt;br /&gt;
&lt;br /&gt;
== Fixing Estate IDs ==&lt;br /&gt;
&lt;br /&gt;
Previous versions of OpenSimulator did automatically create estates with an EstateID equal to 1 and that ID is stored in the OpenSimulator database. Unfortunately SL based viewer do not work properly with EStateID values between 1 and 5, because these numbers are reserved for Linden Labs internal use.&lt;br /&gt;
&lt;br /&gt;
In the Estate tab of the Estate Manager the estate managers and allowed and banned avatars lists are grayed out, for estates using these reserved EstateID values. To fix this problem, run the SQL statements below to adjust the EstateIDs the following way:&lt;br /&gt;
&lt;br /&gt;
 Old New&lt;br /&gt;
 ---------&lt;br /&gt;
 1 --&amp;gt; 100&lt;br /&gt;
 2 --&amp;gt; 101&lt;br /&gt;
 3 --&amp;gt; 102&lt;br /&gt;
 4 --&amp;gt; 103&lt;br /&gt;
 5 --&amp;gt; 104&lt;br /&gt;
&lt;br /&gt;
Execute the following command while OpenSimulator is not running:&lt;br /&gt;
 mysql -u&amp;lt;user&amp;gt; -p&amp;lt;password&amp;gt; &amp;lt;database&amp;gt; &amp;lt; FixEstateID.sql&lt;br /&gt;
&lt;br /&gt;
SQL statements in FixEstateID.sql:&lt;br /&gt;
 UPDATE estate_groups SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_map SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_users SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estateban SET EstateID=100 WHERE EstateID=1;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_map SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_users SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estateban SET EstateID=101 WHERE EstateID=2;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_map SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_users SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estateban SET EstateID=102 WHERE EstateID=3;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_map SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_users SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estateban SET EstateID=103 WHERE EstateID=4;&lt;br /&gt;
 UPDATE estate_groups SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_managers SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_map SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_settings SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estate_users SET EstateID=104 WHERE EstateID=5;&lt;br /&gt;
 UPDATE estateban SET EstateID=104 WHERE EstateID=5;&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2019-08-21T20:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Estate Commands  Add state create from http://opensimulator.org/mantis/view.php?id=7046 - and reformatted set owner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.  &lt;br /&gt;
Sample usage: &lt;br /&gt;
 estate show&amp;lt;enter&amp;gt;&lt;br /&gt;
 Estate information for region TestRegion&lt;br /&gt;
 Estate Name ID Owner&lt;br /&gt;
 My Estate 103 Test User&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's name.&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms; this one uses the owner's UUID.&lt;br /&gt;
* estate create &amp;lt;owner UUID&amp;gt; &amp;lt;estate name&amp;gt; - Must be a user UUID,m which you can get from 'show names'&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2019-08-11T19:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table Archer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || Archer C2 || Not Working || TCP does loop back, but not UDP. Firmware as of 2019-08-11. &lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || &lt;br /&gt;
[http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2019-08-11T01:03:57Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* revert llUDP changes as not in current code.  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2019-08-11T01:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* fix broken link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
These are console commands which are useful in debugging or investigating the LLUDP protocol. For more information, see [[LLUDP_ClientStack]]&lt;br /&gt;
&lt;br /&gt;
* debug lludp packet [--default | --all] &amp;lt;level&amp;gt; [&amp;lt;avatar-first-name&amp;gt; &amp;lt;avatar-last-name&amp;gt;] - Turn on packet debugging.  In OpenSimulator 0.7.5 and previous this command was &amp;quot;debug packet&amp;quot;. &amp;quot;--default&amp;quot; applies the new logging level to all avatar that login after that point. &amp;quot;--all&amp;quot; applies it to all existing avatars as well.&lt;br /&gt;
* debug lludp pool &amp;lt;on|off&amp;gt; - Turn object pooling within the lludp component on or off.&lt;br /&gt;
* debug lludp start &amp;lt;in|out|all&amp;gt; - Control LLUDP packet processing.&lt;br /&gt;
* debug lludp status - Return status of LLUDP packet processing.&lt;br /&gt;
* debug lludp stop &amp;lt;in|out|all&amp;gt; - Stop LLUDP packet processing.&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2019-08-11T00:59:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* added hard to find Debug UDP commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
These are console commands which are useful in debugging or investigating the LLUDP protocol. For more information, see [[LLUDP_ClientStack&amp;amp;action]]&lt;br /&gt;
&lt;br /&gt;
* debug lludp packet [--default | --all] &amp;lt;level&amp;gt; [&amp;lt;avatar-first-name&amp;gt; &amp;lt;avatar-last-name&amp;gt;] - Turn on packet debugging.  In OpenSimulator 0.7.5 and previous this command was &amp;quot;debug packet&amp;quot;. &amp;quot;--default&amp;quot; applies the new logging level to all avatar that login after that point. &amp;quot;--all&amp;quot; applies it to all existing avatars as well.&lt;br /&gt;
* debug lludp pool &amp;lt;on|off&amp;gt; - Turn object pooling within the lludp component on or off.&lt;br /&gt;
* debug lludp start &amp;lt;in|out|all&amp;gt; - Control LLUDP packet processing.&lt;br /&gt;
* debug lludp status - Return status of LLUDP packet processing.&lt;br /&gt;
* debug lludp stop &amp;lt;in|out|all&amp;gt; - Stop LLUDP packet processing.&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide or single region if you use change region.&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Debugging</id>
		<title>Debugging</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Debugging"/>
				<updated>2019-08-11T00:51:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: show connections remove useless old rev info.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
=General=&lt;br /&gt;
&lt;br /&gt;
In general, OpenSimulator is a difficult system to debug due to its high concurrency, complexity and the lack of good tools for Mono on the Linux/Mac side.  We won't go through general information about using debuggers here, you can find it elsewhere on the net.  However, one thing to note is that the debugger must be capable of ignoring the SelfDeleteException - this is currently used by the XEngine script engine to kill scripts aborted via the llDie() LSL command.&lt;br /&gt;
&lt;br /&gt;
=Thread Dumps=&lt;br /&gt;
&lt;br /&gt;
If the simulator or some aspect of it appears to be frozen, one possibility is that threads are in deadlock for some reason.  In this case, a dump of all threads can provide useful information.&lt;br /&gt;
&lt;br /&gt;
In Mono, you can get this dump by sending the SIGQUIT unix signal to the Mono process.  You can do this either with CTRL + \ on the console or by a command such as &lt;br /&gt;
&lt;br /&gt;
 kill -SIGQUIT &amp;lt;pid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This dump may be very large.  If you are reported this trace for debug purposes, it is essential that it is captured and reported accurately.&lt;br /&gt;
&lt;br /&gt;
If at all possible, please start Mono with the --debug switch so that line numbers are added to traces (there is no major performance penalty on using this switch).  This is sometimes the only way to pin down which parts of the code threads may be deadlocked on.&lt;br /&gt;
&lt;br /&gt;
Sending SIGQUIT to Mono may make it unstable.  If you do this, you are advised to restart the process in question after all useful debugging information has been captured.&lt;br /&gt;
&lt;br /&gt;
'''Not sure how to achieve the same result on Windows, if this is possible at all.  If someone knows would be great to get this section filled in.'''&lt;br /&gt;
&lt;br /&gt;
=Internal tools=&lt;br /&gt;
&lt;br /&gt;
There are also logging statements through the OpenSimulator code, some of which are commented out.  Generally these can be uncommented to provide extra useful information, though you may have to resort to adding new log statements.&lt;br /&gt;
&lt;br /&gt;
There are also some internal methods that might be useful.&lt;br /&gt;
&lt;br /&gt;
* Util.PrintCallStack() - This will print the call stack at the time the method is executed before continuing execution.  Unfortunately, due to Mono limitations can only work on the current thread.&lt;br /&gt;
&lt;br /&gt;
=Specific areas=&lt;br /&gt;
However, there are a few things we say about debugging specific OpenSimulator issues.  This section will be expanded as time goes on.&lt;br /&gt;
&lt;br /&gt;
== Initial connection ==&lt;br /&gt;
This trips people up a lot because of the complex interplay between different server processes in grid mode and between simulator and viewer, with viewers on both the local LAN and over the Internet.  Problems here are generally due to configuration rather than OpenSimulator code issues.  See [[Troubleshooting]] for more details.&lt;br /&gt;
&lt;br /&gt;
== Problems after connection established ==&lt;br /&gt;
Here are some commands that can help you get more information is you have problems when a connection has already been established (e.g. avatars stopping in place), etc.  You can get more help on any of these commands by typing &amp;quot;help &amp;lt;command-name&amp;gt;&amp;quot; on the simulator console.&lt;br /&gt;
&lt;br /&gt;
* debug packet &amp;lt;0-256&amp;gt; [&amp;lt;first-name&amp;gt;] [&amp;lt;last-name&amp;gt;] - this command logs various incoming and outgoing packets depending on the packet level (0-256).  This can help determine whether there is any packet flow between simulator and client at all.&lt;br /&gt;
&lt;br /&gt;
* show queues [&amp;lt;full&amp;gt;] - this command shows packet in, out and resent statistics for particular clients, as well as the packets being queued.  Monitoring the in and outbound packet numbers will show if packets are getting through between simulator and viewer.  If resent is climbing rapidly then its likely you have connection issues since the simulator is having to resend lots of packets that aren't being acknowledged by the viewer.  If the Q numbers increase without going down then clients may have extremely small bandwidth limits or the outgoing network connection from the simulator may be overwhelmed.&lt;br /&gt;
&lt;br /&gt;
* show users - show users active on the simulator&lt;br /&gt;
&lt;br /&gt;
* show connections - show information about individual client connections, including their IP address and whether they are active.&lt;br /&gt;
&lt;br /&gt;
== Threadpool Activity ==&lt;br /&gt;
&lt;br /&gt;
A lot of the work in OpenSim is done in tasks that are run on a general-purpose threadpool. You can [[General-Purpose Threadpool|enable logging that shows activity in this threadpool]].&lt;br /&gt;
&lt;br /&gt;
== HTTP Activity ==&lt;br /&gt;
&lt;br /&gt;
Use this console command to enable logging of HTTP requests and responses in OpenSim or Robust:&lt;br /&gt;
&lt;br /&gt;
 debug http in|out|all [&amp;lt;level&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If in or all and&lt;br /&gt;
  level &amp;lt;= 0 then no extra logging is done.&lt;br /&gt;
  level &amp;gt;= 1 then short warnings are logged when receiving bad input data.&lt;br /&gt;
  level &amp;gt;= 2 then long warnings are logged when receiving bad input data.&lt;br /&gt;
  level &amp;gt;= 3 then short notices about all incoming non-poll HTTP requests are logged.&lt;br /&gt;
  level &amp;gt;= 4 then the time taken to fulfill the request is logged.&lt;br /&gt;
  level &amp;gt;= 5 then a sample from the beginning of the data is logged.&lt;br /&gt;
  level &amp;gt;= 6 then the entire data is logged.&lt;br /&gt;
  no level is specified then the current level is returned.&lt;br /&gt;
&lt;br /&gt;
If out or all and&lt;br /&gt;
  level &amp;gt;= 3 then short notices about all outgoing requests going through WebUtil are logged.&lt;br /&gt;
  level &amp;gt;= 4 then the time taken to fulfill the request is logged.&lt;br /&gt;
  level &amp;gt;= 5 then a sample from the beginning of the data is logged.&lt;br /&gt;
  level &amp;gt;= 6 then the entire data is logged.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In particular, to get a good idea of the communications flow turn on debug level 5 on both the simulator and Robust to see short snippets from each request and response. This will also show HTTP requests between the viewer and the Simulator.&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Warp3DImageModule</id>
		<title>Warp3DImageModule</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Warp3DImageModule"/>
				<updated>2019-07-18T18:31:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: RenderMinHeight, RenderMaxHeight from source code settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Warp3DImageModule-Example-OpenVue.jpg|256px|thumb|Example Warp3DImageModule map cell - OpenVue]] &lt;br /&gt;
[[Image:Warp3DImageModule-Example-OpenVCE.jpg|256px|thumb|Example Warp3DImageModule map cell - OpenVCE]]&lt;br /&gt;
[[Image:Comparemap3dmodule.png|256px|thumb|Comparative Map - Arya on FrancoGrid]]&lt;br /&gt;
&lt;br /&gt;
'''Note: Unfortunately, warp maptile generation has been leaking very large amounts of memory and that is still the case at the present time (February 2014).  If you want to use this option, we strongly recommend that you only generate the image once at startup per simulator session.'''&lt;br /&gt;
&lt;br /&gt;
Improved rendering of the OpenSim.ini map tiles is possible by using &amp;quot;Warp3DImageModule&amp;quot; (rather than the default &amp;quot;MapImageModule&amp;quot;) for the MapImageModule for any region server. The Warp3dRender engine is included in the standard OpenSimulator build (from version 0.7.1).&lt;br /&gt;
&lt;br /&gt;
 Include in OpenSim.ini [Startup] section:&lt;br /&gt;
 MapImageModule = Warp3DImageModule&lt;br /&gt;
 TextureOnMapTile = true&lt;br /&gt;
 DrawPrimOnMapTile = true&lt;br /&gt;
&lt;br /&gt;
Optional settings to remove skyboxes or underwater items is to add these:&lt;br /&gt;
&lt;br /&gt;
RenderMinHeight = -100  ; ranges from -100 upwards&lt;br /&gt;
RenderMaxHeight = 4096  ; ranges from 100 to 4096 max.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use URL requests of this form for each of your regions...&lt;br /&gt;
&lt;br /&gt;
http://regionserver:port/index.php?method=regionImageUUID&lt;br /&gt;
&lt;br /&gt;
Get the region UUID for each region you want to get the map tile&lt;br /&gt;
for... then use the Opensim.exe running host name and port you are&lt;br /&gt;
using for that (usually the port for the first region in that&lt;br /&gt;
instance). Note its NOT the Robust port if you are using a grid, its&lt;br /&gt;
the region server port. Then add the UUID directly (with all hyphens&lt;br /&gt;
removed) on the end of the URL root.&lt;br /&gt;
&lt;br /&gt;
* An example served live from the Openvue Grid is http://virtual.aiai.ed.ac.uk:9000/index.php?method=regionImage9c8b6f8f81784a6992dc9feba4646e6b&lt;br /&gt;
&lt;br /&gt;
* A combination to show a grid map is at http://virtual.aiai.ed.ac.uk:8002/resources/map.html&lt;br /&gt;
&lt;br /&gt;
The map cells are served at a resolution of 256x256.&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Server_Commands</id>
		<title>Server Commands</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Server_Commands"/>
				<updated>2019-01-25T17:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Estate Commands */  add estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
= What are server commands? =&lt;br /&gt;
&lt;br /&gt;
Server commands are those you can type on the console to make the server do various things.&lt;br /&gt;
&lt;br /&gt;
Commands can be divided up into those that apply to the simulator (simulator commands) and those that apply to grid services (service commands).&lt;br /&gt;
&lt;br /&gt;
On a standalone system, both simulator and service commands will be available on the single standalone system console.&lt;br /&gt;
&lt;br /&gt;
On a grid architecture, the simulator commands will be available on the simulators, whilst the service commands will be available on the ROBUST console.&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': some commands may not work as expected, some may not work at all, and there is a chance that you may even lose all your settings/contents. This summary quickly goes out of date - the best place to find commands is by typing &amp;quot;help&amp;quot; on the region console.&lt;br /&gt;
&lt;br /&gt;
Except where noted, this list should be accurate for OpenSimulator 0.7.1 onwards.&lt;br /&gt;
&lt;br /&gt;
= Commands =&lt;br /&gt;
&lt;br /&gt;
== General Server Commands ==&lt;br /&gt;
&lt;br /&gt;
These commands are available in both simulator and robust consoles.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* command-script [scriptfile] - Runs a command script containing console commands.&lt;br /&gt;
* quit - shutdown the server.&lt;br /&gt;
* show info - show server information (version and startup path).  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show uptime - show server startup time and uptime.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* show version - show server version.  Before OpenSimulator 0.7.5 this is only available on the simulator console.&lt;br /&gt;
* shutdown - synonym for quit&lt;br /&gt;
* get log level - In OpenSimulator 0.7.5 and later, print the current console logging level.  In OpenSimulator 0.7.4 and earlier please use the &amp;quot;set log level&amp;quot; command instead without a level parameter.&lt;br /&gt;
* set log level [level] - change the console logging level only. For example, off or debug. See [[Logging]] for more information.  In OpenSimulator 0.7.4 and earlier, if called without the level argument prints the current level.  In OpenSimulator 0.7.5 and later please use the &amp;quot;get log level&amp;quot; command instead.  Only available on ROBUST console from OpenSimulator 0.7.5.&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
&lt;br /&gt;
* debug http [&amp;lt;level&amp;gt;] - Turn on/off extra logging for HTTP request debugging.  Only available on robust console from commit 94517c8 (dev code post 0.7.3.1).  In current development code (for OpenSimulator 0.7.5) this is debug http in|out|all [&amp;lt;level&amp;gt;] since outbound HTTP messages can also now be logged (this was only possible for inbound before). For more information on this command, see [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
* debug threadpool level &amp;lt;level&amp;gt; - Turn on/off logging of activity in the main threadpool. For more information, see [[General-Purpose Threadpool]].&lt;br /&gt;
&lt;br /&gt;
== Simulator Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* debug packet &amp;lt;level&amp;gt; - Turn on packet debugging, where OpenSimulator prints out summaries of incoming and outgoing packets for viewers, depending on the level set&lt;br /&gt;
* emergency-monitoring - turn emergency debugging monitoring mode on or off.&lt;br /&gt;
* help [&amp;lt;command&amp;gt;] - Get general command list or more detailed help on a specific command or set of commands&lt;br /&gt;
* link-mapping - Set a local grid co-ordinate to link to a remote hypergrid &lt;br /&gt;
* link-region - Link a HyperGrid region. Not sure how this differs from link-mapping&lt;br /&gt;
* modules list - List modules&lt;br /&gt;
* modules load &amp;lt;name&amp;gt; - Load a module&lt;br /&gt;
* modules unload &amp;lt;name&amp;gt; - Unload a module&lt;br /&gt;
* monitor report - Returns a variety of statistics about the current region and/or simulator&lt;br /&gt;
* set terrain heights &amp;lt;corner&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain texture heights on corner #&amp;lt;corner&amp;gt; to &amp;lt;min&amp;gt;/&amp;lt;max&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate. Corner # SW = 0, NW = 1, SE = 2, NE = 3.&lt;br /&gt;
* set terrain texture &amp;lt;number&amp;gt; &amp;lt;uuid&amp;gt; [&amp;lt;x&amp;gt;] [&amp;lt;y&amp;gt;] - Sets the terrain &amp;lt;number&amp;gt; to &amp;lt;uuid&amp;gt;, if &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; are specified, it will only set it on regions with a matching coordinate. Specify -1 in &amp;lt;x&amp;gt; or &amp;lt;y&amp;gt; to wildcard that coordinate.&lt;br /&gt;
* show caps - show all registered capabilities URLs&lt;br /&gt;
:NOTE: In OpenSimulator 0.7.1, &amp;quot;show capabilities&amp;quot; is shown as a result for help command, but actually only &amp;quot;show caps&amp;quot; will be accepted. ([http://opensimulator.org/mantis/view.php?id=5467 #5467])&lt;br /&gt;
* set water height # - sets the height simulator wide (rather than single regions as viewer tools do).&lt;br /&gt;
* show circuits - Show agent circuit data&lt;br /&gt;
* show connections - show connections data&lt;br /&gt;
* show http-handlers - show all registered http handlers&lt;br /&gt;
* show hyperlinks - list hg regions&lt;br /&gt;
* show modules - show module data&lt;br /&gt;
* show pending-objects - show number of objects in the pending queues of all viewers&lt;br /&gt;
* show pqueues [full] - show priority queue data for each client. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* show queues - Show queue data for agent connections.&lt;br /&gt;
* show threads - shows the persistent threads registered with the system. Does not include threadpool threads. &lt;br /&gt;
* show throttles [full] - Show throttle data for each client connection, and the maximum allowed for each connection by the server. Without the 'full' option, only root agents are shown. With the 'full' option child agents are also shown.&lt;br /&gt;
* unlink-region &amp;lt;local name&amp;gt; - unlink a hypergrid region&lt;br /&gt;
&lt;br /&gt;
=== Appearance Commands ===&lt;br /&gt;
&lt;br /&gt;
* appearance show - Show information about avatar appearance. Currently just checks whether the baked texture is &amp;quot;OK&amp;quot; or &amp;quot;corrupt&amp;quot;. Still in development. Only exists in development code at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Archive Commands ===&lt;br /&gt;
&lt;br /&gt;
* load iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Load user inventory archive. See [[Inventory Archives]].&lt;br /&gt;
* load oar [filename] - load an OpenSimulator archive. This entirely replaces the current region. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* load xml [-newIDs [&amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;]] - Load a region's data from XML format (0.7.*: DEPRECATED and may be REMOVED soon. Use &amp;quot;load xml2&amp;quot; instead)&lt;br /&gt;
:those xml are the result of the export save or *export save-all&lt;br /&gt;
* load xml2 [filename] - optional parameters not supported for XML2 format as at 1-Jul-2008 &lt;br /&gt;
* save iar &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;inventory path&amp;gt; &amp;lt;password&amp;gt; [&amp;lt;archive path&amp;gt;] - Save user inventory archive. See [[Inventory Archives]]&lt;br /&gt;
* save oar [filename] - save the current region to an OpenSimulator archive. Default filename is '''region.oar'''. See [[OpenSim Archives]].&lt;br /&gt;
* save prims xml2 [&amp;lt;prim name&amp;gt; &amp;lt;file name&amp;gt;] - Save named prim to XML2&lt;br /&gt;
* save xml [filename] - save prims to XML &lt;br /&gt;
* save xml2 [filename] - save prims to XML (Format 2 - rearrangement of some nodes, to make loading/saving easier) &lt;br /&gt;
&lt;br /&gt;
=== Asset Commands ===&lt;br /&gt;
&lt;br /&gt;
The fcache commands only currently appearance if you are using the fcache asset cache.  This is the default on OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
* fcache assets - Attempt a deep scan and cache of all assets in all scenes&lt;br /&gt;
* fcache clear [file] [memory] - Remove all assets in the cache.  If file or memory is specified then only this cache is cleared.&lt;br /&gt;
* fcache expire &amp;lt;datetime&amp;gt; - Purge cached assets older then the specified date/time&lt;br /&gt;
* fcache status - Display cache status&lt;br /&gt;
* j2k decode &amp;lt;ID&amp;gt; - Do JPEG2000 decoding of an asset.&lt;br /&gt;
&lt;br /&gt;
=== Config Commands ===&lt;br /&gt;
&lt;br /&gt;
* config get [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Get the current configuration, either for a particular key, a particular section or the whole config.&lt;br /&gt;
* config save &amp;lt;path&amp;gt; - Save the current configuration to a file.&lt;br /&gt;
* config set &amp;lt;section&amp;gt; &amp;lt;key&amp;gt; - Set a particular configuration value. On the whole, this is useless since neither OpenSimulator nor modules dynamically reload config values.&lt;br /&gt;
* config show [&amp;lt;section&amp;gt;] [&amp;lt;key&amp;gt;] - Synonym for 'config get'&lt;br /&gt;
&lt;br /&gt;
=== Land Commands ===&lt;br /&gt;
&lt;br /&gt;
* land show - Shows all parcels on the current region.&lt;br /&gt;
&lt;br /&gt;
=== Map Commands ===&lt;br /&gt;
&lt;br /&gt;
* export-map [&amp;lt;path&amp;gt;] - Save an image of the world map (default name is exportmap.jpg)&lt;br /&gt;
* generate map - Regenerates and stores map tile.  Only in development code post 0.7.6.&lt;br /&gt;
&lt;br /&gt;
=== Object Commands ===&lt;br /&gt;
&lt;br /&gt;
* backup - Persist currently unsaved object changes immediately instead of waiting for the normal persistence call.  This shouldn't normally be required - the simulator persists region objects automatically at regular intervals and on shutdown.&lt;br /&gt;
* delete object creator &amp;lt;UUID&amp;gt; - Delete a scene object by creator&lt;br /&gt;
* delete object name [--regex] &amp;lt;name&amp;gt; - Delete a scene object by name.&lt;br /&gt;
* delete object outside - Delete all scene objects outside region boundaries.  This is currently if z &amp;lt; 0 or z &amp;gt; 10000.  Object outside these bounds have been known to cause issues with OpenSimulator's use of some physics engines (such as the Open Dynamics Engine).&lt;br /&gt;
* delete object owner &amp;lt;UUID&amp;gt; - Delete a scene object by owner&lt;br /&gt;
* delete object uuid &amp;lt;UUID&amp;gt; - Delete a scene object by uuid.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* dump object id &amp;lt;UUID-or-localID&amp;gt; - Dump the serialization of the given object to a file for debug purposes.&lt;br /&gt;
* edit scale &amp;lt;name&amp;gt; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; - Change the scale of a named prim&lt;br /&gt;
* force update - Force the region to send all clients updates about all objects.&lt;br /&gt;
* show object name [--regex] &amp;lt;name&amp;gt; - Show details of scene objects with the given name.&lt;br /&gt;
* show object uuid &amp;lt;UUID&amp;gt; - Show details of a scene object with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
* show part name [--regex] &amp;lt;name&amp;gt; - Show details of scene object parts with the given name.&lt;br /&gt;
* show part uuid &amp;lt;UUID&amp;gt; - Show details of a scene object parts with the given UUID.  In current dev code (post 0.7.5) this is &amp;quot;show object id&amp;quot; and also allows a local ID.&lt;br /&gt;
&lt;br /&gt;
=== Estate Commands ===&lt;br /&gt;
* reload estate - reload estate data&lt;br /&gt;
* estate link region &amp;lt;estate ID&amp;gt; &amp;lt;region ID&amp;gt; - Attaches the specified region to the specified estate.&lt;br /&gt;
* estate show - This command will show the estate name, ID, and owner for regions currently running in the simulator. This list does not necessarily include all estates that are present in the database.&lt;br /&gt;
* estate set name &amp;lt;estate ID&amp;gt; &amp;lt;new name&amp;gt; - Rename an estate&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;FirstName&amp;gt; &amp;lt;LastName&amp;gt;&lt;br /&gt;
* estate set owner &amp;lt;estate ID&amp;gt; &amp;lt;owner UUID&amp;gt; - Change the owner of an estate. This command supports two forms, one using the owner's name, and one using the owner's ID.&lt;br /&gt;
&lt;br /&gt;
=== Region Commands ===&lt;br /&gt;
* change region &amp;lt;region name&amp;gt; - subsequent commands apply only to the specified region. If region name is &amp;quot;root&amp;quot; then all regions are selected&lt;br /&gt;
* create region [name] [filename] - Create a new region &lt;br /&gt;
* delete-region &amp;lt;name&amp;gt; - Delete a region from disk.&lt;br /&gt;
* region get - Post OpenSimulator 0.8.0.*.  Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* region restart abort [&amp;lt;message&amp;gt;] - Abort a scheduled region restart, with an optional message&lt;br /&gt;
* region restart bluebox &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. If one delta is given then the region is restarted in delta seconds time. A time to restart is sent to users in the region as a dismissable bluebox notice. If multiple deltas are given then a notice is sent when we reach each delta.&lt;br /&gt;
* region restart notice &amp;lt;message&amp;gt; &amp;lt;delta seconds&amp;gt;+ - Schedule a region restart. Same as above except showing a transient notice instead of a dismissable bluebox.&lt;br /&gt;
* region set - Post OpenSimulator 0.8.0.*.  Set certain region parameters.  Currently, can set&lt;br /&gt;
** agent-limit - The current avatar limit for the region.  More usually this is set via the region/estate dialog in a typical viewer.  This persists over simulator restarts.&lt;br /&gt;
** max-agent-limit - The maximum value that agent-limit can have.  Unfortunately, setting it here does not currently persist over server restarts.  For that to happen it must be separately set as the MaxAgents parameter in the region config file.&lt;br /&gt;
* remove-region - remove a region from the simulator&lt;br /&gt;
* restart - Restarts all sims in this instance&lt;br /&gt;
* restart region &amp;lt;regionname&amp;gt; - Restarts just one sim in an instance. Set the console to the region name first, with 'change region &amp;lt;regionname&amp;gt;', or all regions will restart.&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show neighbours - Shows the local regions' neighbours&lt;br /&gt;
* show ratings - Show rating data&lt;br /&gt;
* show region - Show region parameters (Region Name, Region UUID, Location, URI, Owner ID, Flags).&lt;br /&gt;
* show regions - Show regions data (Region Names, XLocation YLocation coordinates, Region Ports, Estate Names)&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
* debug scene - Turn on scene debugging&lt;br /&gt;
* rotate scene &amp;lt;degrees&amp;gt; - Rotates scene around 128,128 axis by x degrees where x=0-360.&lt;br /&gt;
* scale scene &amp;lt;factor&amp;gt; - Scales all scene objects by a factor where original size =1.0.&lt;br /&gt;
* translate scene &amp;lt;x,y,z&amp;gt; - Translate (move) the entire scene to a new coordinate. Useful for moving a scene to a different location on either a Mega or Variable region. &lt;br /&gt;
(please back up your region before using any of these commands and be aware of possible floating point errors the more they are used.)&lt;br /&gt;
 &lt;br /&gt;
=== Script Commands ===&lt;br /&gt;
&lt;br /&gt;
These currently only exist in git master OpenSimulator development code post the 0.7.2 release.&lt;br /&gt;
&lt;br /&gt;
* scripts resume [&amp;lt;script-item-uuid&amp;gt;] - Resumes all suspended scripts&lt;br /&gt;
* scripts show [&amp;lt;script-item-uuid&amp;gt;] - Show script information. &amp;lt;script-item-uuid&amp;gt; option only exists from git master 82f0e19 (2012-01-14) onwards (post OpenSimulator 0.7.2).&lt;br /&gt;
* scripts start [&amp;lt;script-item-uuid&amp;gt;] - Starts all stopped scripts&lt;br /&gt;
* scripts stop [&amp;lt;script-item-uuid&amp;gt;] - Stops all running scripts&lt;br /&gt;
* scripts suspend [&amp;lt;script-item-uuid&amp;gt;] - Suspends all running scripts&lt;br /&gt;
&lt;br /&gt;
=== Stats Commands ===&lt;br /&gt;
&lt;br /&gt;
* show stats - show useful statistical information for this server. See [[#Frame Statistics Values|Frame Statistics Values]] below for more information.&lt;br /&gt;
* stats show - a synonym for &amp;quot;show stats&amp;quot; (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
* stats record - record stats periodically to a separate log file.&lt;br /&gt;
* stats save - save a snapshot of current stats to a file (OpenSimulator dev code only post 19th March 2014).&lt;br /&gt;
&lt;br /&gt;
=== Terrain Commands ===&lt;br /&gt;
&lt;br /&gt;
Note that some of these may require a sim restart to show properly.&lt;br /&gt;
* terrain load - Loads a terrain from a specified file.&lt;br /&gt;
* terrain load-tile - Loads a terrain from a section of a larger file.&lt;br /&gt;
* terrain save - Saves the current heightmap to a specified file.&lt;br /&gt;
* terrain save-tile - Saves the current heightmap to the larger file.&lt;br /&gt;
* terrain fill - Fills the current heightmap with a specified value.&lt;br /&gt;
* terrain elevate - Raises the current heightmap by the specified amount.&lt;br /&gt;
* terrain lower - Lowers the current heightmap by the specified amount.&lt;br /&gt;
* terrain multiply - Multiplies the heightmap by the value specified.&lt;br /&gt;
* terrain bake - Saves the current terrain into the regions baked map.&lt;br /&gt;
* terrain revert - Loads the baked map terrain into the regions heightmap.&lt;br /&gt;
* terrain newbrushes - Enables experimental brushes which replace the standard terrain brushes.&lt;br /&gt;
* terrain show - Shows terrain height at a given co-ordinate.&lt;br /&gt;
* terrain stats - Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
* terrain effect - Runs a specified plugin effect&lt;br /&gt;
* terrain flip - Flips the current terrain about the X or Y axis&lt;br /&gt;
* terrain rescale - Rescales the current terrain to fit between the given min and max heights&lt;br /&gt;
* terrain min - Sets the minimum terrain height to the specified value.&lt;br /&gt;
* terrain max - Sets the maximum terrain height to the specified value.&lt;br /&gt;
* terrain modify - Provides several area-of-effect terraforming commands.&lt;br /&gt;
&lt;br /&gt;
=== Tree Commands ===&lt;br /&gt;
&lt;br /&gt;
* tree active - Change activity state for the trees module&lt;br /&gt;
* tree freeze - Freeze/Unfreeze activity for a defined copse&lt;br /&gt;
* tree load - Load a copse definition from an xml file&lt;br /&gt;
* tree plant - Start the planting on a copse&lt;br /&gt;
* tree rate - Reset the tree update rate (mSec)&lt;br /&gt;
* tree reload - Reload copse definitions from the in-scene trees&lt;br /&gt;
* tree remove - Remove a copse definition and all its in-scene trees&lt;br /&gt;
* tree statistics - Log statistics about the trees&lt;br /&gt;
&lt;br /&gt;
=== User Commands ===&lt;br /&gt;
&lt;br /&gt;
* alert &amp;lt;message&amp;gt; - send an in-world alert to everyone&lt;br /&gt;
* alert-user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; &amp;lt;message&amp;gt; - send an an in-world alert to a specific user&lt;br /&gt;
* bypass permissions &amp;amp;lt;true / false&amp;amp;gt; - Bypass in-world permission checks &lt;br /&gt;
* debug permissions - Turn on permissions debugging&lt;br /&gt;
* force permissions - Force permissions on or off.&lt;br /&gt;
* kick user &amp;lt;first&amp;gt; &amp;lt;last&amp;gt; [message]: - Kick a user off the simulator&lt;br /&gt;
* login disable - Disable user entry to this simulator&lt;br /&gt;
* login enable - Enable user entry to this simulator&lt;br /&gt;
* login status - Show whether logins to this simulator are enabled or disabled&lt;br /&gt;
* show users [full]- show info about currently connected users to this region. Without the 'full' option, only users actually on the region are shown. With the 'full' option child agents of users in neighbouring regions are also shown.&lt;br /&gt;
* teleport user &amp;lt;destination&amp;gt; - Teleport a user on this simulator to a specific destination.  Currently only in OpenSimulator development code after the 0.7.3.1 release (commit bf0b817).&lt;br /&gt;
&lt;br /&gt;
=== Windlight/[[LightShare]] Commands ===&lt;br /&gt;
&lt;br /&gt;
* windlight load - Load windlight profile from the database and broadcast&lt;br /&gt;
* windlight enable - Enable the windlight plugin&lt;br /&gt;
* windlight disable - Disable the windlight plugin&lt;br /&gt;
&lt;br /&gt;
== ROBUST Service Commands ==&lt;br /&gt;
&lt;br /&gt;
These can also be accessed on the simulator command console itself in standalone mode.&lt;br /&gt;
&lt;br /&gt;
=== Asset Service ===&lt;br /&gt;
&lt;br /&gt;
* delete asset - Delete an asset from the database. Doesn't appear to be implemented.&lt;br /&gt;
* dump asset &amp;lt;ID&amp;gt; - Dump an asset to the filesystem.  OpenSimulator 0.7.3 onwards.&lt;br /&gt;
* show digest &amp;lt;ID&amp;gt; - Show summary information about an asset. From OpenSimulator 0.7.3 onwards this will be renamed to &amp;quot;show asset&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Grid Service ===&lt;br /&gt;
&lt;br /&gt;
* set region flags &amp;lt;Region name&amp;gt; &amp;lt;flags&amp;gt; - Set database flags for region&lt;br /&gt;
* show region &amp;lt;Region name&amp;gt; - Show the details of a given region.  This command is renamed to &amp;quot;show region name&amp;quot; in development versions of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
The following commands currently only exist in development versions of OpenSimulator (post 0.7.3.1).  These are currently found in the &amp;quot;Regions&amp;quot; help section.&lt;br /&gt;
&lt;br /&gt;
* deregister region id &amp;lt;Region UUID&amp;gt; - Deregister a region manually.  This can be helpful if a region was not properly removed due to bad simulator shutdown and the simulator has not since been restarted or its region configuration has been changed.&lt;br /&gt;
* show region at &amp;lt;x-coord&amp;gt; &amp;lt;y-coord&amp;gt; - Show details on a region at the given co-ordinate.&lt;br /&gt;
* show region name &amp;lt;Region name&amp;gt; - Show details on a region&lt;br /&gt;
* show regions - Show details on all regions.  In standalone mode this version of the command is not currently available - the simulator version of &amp;quot;show regions&amp;quot; is used instead, which shows similar information.&lt;br /&gt;
&lt;br /&gt;
=== User Service ===&lt;br /&gt;
* create user [first] [last] [passw] [RegionX] [RegionY] [Email] - creates a new user and password&lt;br /&gt;
:or just: create user - and server prompts for all data&lt;br /&gt;
:&lt;br /&gt;
:'''Note for use of create user in standalone mode:''' use the user default coordinates&lt;br /&gt;
:of 1000,1000 for Start Region X and Y position otherwise server&lt;br /&gt;
:gives error of &amp;quot;[LOGIN]: Not found region&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* reset user password - reset a user's password.&lt;br /&gt;
* show account &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; - show account details for the given user name (0.7.2-dev)&lt;br /&gt;
&lt;br /&gt;
=== Login Service ===&lt;br /&gt;
* login level &amp;lt;value&amp;gt; - Set the miminim userlevel allowed to login (see [[Userlevel|User Level]]).&lt;br /&gt;
* login reset - reset the login level to its default value.&lt;br /&gt;
* login text &amp;lt;text to print during the login&amp;gt;&lt;br /&gt;
* set user level &amp;lt;firstname&amp;gt; &amp;lt;lastname&amp;gt; &amp;lt;level&amp;gt; - Set UserLevel for the user, which determines whether a user has a god account or can login at all (0.7.2-dev) (see [[Userlevel|User Level]]).&lt;br /&gt;
&lt;br /&gt;
== Details of Terrain Module Commands ==&lt;br /&gt;
&lt;br /&gt;
==== terrain load ====&lt;br /&gt;
Loads a terrain from a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain load-tile ====&lt;br /&gt;
Loads a terrain from a section of a larger file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
* file width (Integer)&lt;br /&gt;
	The width of the file in tiles&lt;br /&gt;
* file height (Integer)&lt;br /&gt;
	The height of the file in tiles&lt;br /&gt;
* minimum X tile (Integer)&lt;br /&gt;
	The X region coordinate of the first section on the file&lt;br /&gt;
* minimum Y tile (Integer)&lt;br /&gt;
	The Y region coordinate of the first section on the file&lt;br /&gt;
&lt;br /&gt;
==== terrain save ====&lt;br /&gt;
Saves the current heightmap to a specified file.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* filename (String)&lt;br /&gt;
	The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: .r32 (RAW32) .f32 (RAW32) .ter (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG) .bmp (BMP) .png (PNG) .gif (GIF) .tif (TIFF) .tiff (TIFF)&lt;br /&gt;
&lt;br /&gt;
==== terrain fill ====&lt;br /&gt;
Fills the current heightmap with a specified value.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The numeric value of the height you wish to set your region to.&lt;br /&gt;
&lt;br /&gt;
==== terrain elevate ====&lt;br /&gt;
Raises the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
&lt;br /&gt;
==== terrain lower ====&lt;br /&gt;
Lowers the current heightmap by the specified amount.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* amount (Double)&lt;br /&gt;
	The amount of height to remove from the terrain in meters.&lt;br /&gt;
&lt;br /&gt;
==== terrain multiply ====&lt;br /&gt;
Multiplies the heightmap by the value specified.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* value (Double)&lt;br /&gt;
	The value to multiply the heightmap by.&lt;br /&gt;
&lt;br /&gt;
==== terrain bake ====&lt;br /&gt;
Saves the current terrain into the regions revert map.&lt;br /&gt;
&lt;br /&gt;
==== terrain revert ====&lt;br /&gt;
Loads the revert map terrain into the regions heightmap.&lt;br /&gt;
&lt;br /&gt;
==== terrain newbrushes ====&lt;br /&gt;
Enables experimental brushes which replace the standard terrain brushes. WARNING: This is a debug setting and may be removed at any time.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* Enabled? (Boolean)&lt;br /&gt;
	true / false - Enable new brushes&lt;br /&gt;
&lt;br /&gt;
==== terrain stats ====&lt;br /&gt;
Shows some information about the regions heightmap for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
==== terrain effect ====&lt;br /&gt;
Runs a specified plugin effect&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
* name (String)&lt;br /&gt;
	The plugin effect you wish to run, or 'list' to see all plugins&lt;br /&gt;
&lt;br /&gt;
==== terrain modify ====&lt;br /&gt;
Allows area-of-effect and tapering with standard heightmap manipulations.&lt;br /&gt;
&lt;br /&gt;
General command usage:&lt;br /&gt;
:''terrain modify &amp;lt;operation&amp;gt; value [&amp;lt;mask&amp;gt;] [-taper=&amp;lt;value2&amp;gt;]''&lt;br /&gt;
&lt;br /&gt;
:Parameters&lt;br /&gt;
:* value: base value to use in applying operation&lt;br /&gt;
:* mask:&lt;br /&gt;
:** -rec=x1,y1,dx[,dy] creates a rectangular mask based at x1,y1&lt;br /&gt;
:** -ell=x0,y0,rx[,ry] creates an elliptical mask centred at x0,y0&lt;br /&gt;
:* taper:&lt;br /&gt;
:** rectangular masks taper as pyramids&lt;br /&gt;
:** elliptical masks taper as cones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terrain Manipulation (fill, min, max)&lt;br /&gt;
:* value represents target height (at centre of range)&lt;br /&gt;
:* value2 represents target height (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Movement (raise, lower, noise)&lt;br /&gt;
:* value represents a delta amount (at centre of range)&lt;br /&gt;
:* value2 represents a delta amount (at edges of range)&lt;br /&gt;
&lt;br /&gt;
Terrain Smoothing (smooth)&lt;br /&gt;
:The smoothing operation is somewhat different than the others, as it does not deal with elevation values, but rather with strength values (in the range of 0.01 to 0.99).  The algorithm is simplistic in averaging the values around a point, and is implemented as follows:&lt;br /&gt;
&lt;br /&gt;
:The &amp;quot;strength&amp;quot; parameter specifies how much of the result is from the original value (&amp;quot;strength&amp;quot; * map[x,y]).&lt;br /&gt;
:The &amp;quot;taper&amp;quot; parameter specifies how much of the remainder is from the first ring surrounding the point (1.0 - &amp;quot;strength&amp;quot;) * &amp;quot;taper&amp;quot;. There are 8 elements in the first ring.&lt;br /&gt;
:The remaining contribution is made from the second ring surrounding the point.  There are 16 elements in the second ring.&lt;br /&gt;
:e.g.&lt;br /&gt;
:''terrain modify smooth 0.5 -taper=0.6''&lt;br /&gt;
:* the original element will contribute 0.5 * map[x0,y0]&lt;br /&gt;
:* each element 1m from the point will contribute ((1-0.5)*0.6)/8 * map[x1,y1]&lt;br /&gt;
:* each element 2m from the point will contribute ((1-0.5)*0.4)/16 * map[x2,y2]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:The &amp;quot;taper&amp;quot; value may need to be exaggerated due to the integer math used in maps.&lt;br /&gt;
:e.g. To create a 512x512 var island:&lt;br /&gt;
:''terrain modify min 30 -ell=256,256,240 -taper=-29''&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
: https://www.youtube.com/watch?v=pehyqr3H8I0&lt;br /&gt;
&lt;br /&gt;
== Details of Hypergrid Commands ==&lt;br /&gt;
&lt;br /&gt;
For full details and explanations of Hypergrid Commands, see the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid#Linking_regions_.28Optional.29 Linking Regions] sections of the [http://opensimulator.org/wiki/Installing_and_Running_Hypergrid Installing and Running Hypergrid] page.&lt;br /&gt;
&lt;br /&gt;
'''show hyperlinks''' &lt;br /&gt;
&lt;br /&gt;
This command will show a list of all hypergrid linked regions.&lt;br /&gt;
&lt;br /&gt;
'''link-region &amp;lt;Xloc&amp;gt; &amp;lt;Yloc&amp;gt; &amp;lt;host&amp;gt; &amp;lt;port&amp;gt; &amp;lt;location-name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.&lt;br /&gt;
* replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the port of the region you want to link to&lt;br /&gt;
&lt;br /&gt;
E.g. link-region 8998 8998 osl2.nac.uci.edu 9006 OSGrid Gateway&lt;br /&gt;
&lt;br /&gt;
'''unlink-region &amp;lt;local region name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This command will unlink the specified hypergrid linked region - be sure to use the exact local name as reported by the &amp;quot;show hyperlinks&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
link-mapping&lt;br /&gt;
&lt;br /&gt;
== Frame Statistics Values ==&lt;br /&gt;
&lt;br /&gt;
The labels of the Frame Statistics values shown by the console command &amp;quot;show stats&amp;quot; are a bit cryptic. Here is a list of the meanings of these values:&lt;br /&gt;
&lt;br /&gt;
* Dilatn - time dilation&lt;br /&gt;
* SimFPS - sim FPS&lt;br /&gt;
* PhyFPS - physics FPS&lt;br /&gt;
* AgntUp - # of agent updates&lt;br /&gt;
* RootAg - # of root agents&lt;br /&gt;
* ChldAg - # of child agents&lt;br /&gt;
* Prims - # of total prims&lt;br /&gt;
* AtvPrm - # of active prims&lt;br /&gt;
* AtvScr - # of active scripts&lt;br /&gt;
* ScrLPS - # of script lines per second&lt;br /&gt;
* PktsIn - # of in packets per second&lt;br /&gt;
* PktOut - # of out packets per second&lt;br /&gt;
* PendDl - # of pending downloads&lt;br /&gt;
* PendUl - # of pending uploads&lt;br /&gt;
* UnackB - # of unacknowledged bytes&lt;br /&gt;
* TotlFt - total frame time&lt;br /&gt;
* NetFt - net frame time&lt;br /&gt;
* PhysFt - physics frame time&lt;br /&gt;
* OthrFt - other frame time&lt;br /&gt;
* AgntFt - agent frame time&lt;br /&gt;
* ImgsFt - image frame time&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;br /&gt;
[[Category:Help]]&lt;br /&gt;
[[Category:Configuration]]&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User:Ferd_Frederix</id>
		<title>User:Ferd Frederix</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User:Ferd_Frederix"/>
				<updated>2018-12-22T16:02:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: edit my page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fred Beckhusen, aka Ferd Frederix&lt;br /&gt;
&lt;br /&gt;
fred at outworldz.com&lt;br /&gt;
&lt;br /&gt;
[https://www.outworldz.com https://www.outworldz.com]&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Talk:OSSL_Enabling_Functions</id>
		<title>Talk:OSSL Enabling Functions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Talk:OSSL_Enabling_Functions"/>
				<updated>2018-12-22T15:59:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: Created page with &amp;quot;Needs update to master  --~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Needs update to master&lt;br /&gt;
&lt;br /&gt;
--[[User:Ferd Frederix|Ferd Frederix]] ([[User talk:Ferd Frederix|talk]]) 07:59, 22 December 2018 (PST)&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2018-12-22T15:56:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */  Netgear VMDG485&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || VMDG485 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || [http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2018-12-22T15:54:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* openWRT Routers: */  formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || [http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dahlia Trimble&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2018-12-22T15:50:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* openWRT Routers: */  Addded code to loopback older openwrt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || [http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
This may work for older WRT routers:&lt;br /&gt;
&lt;br /&gt;
insmod ipt_mark &lt;br /&gt;
&lt;br /&gt;
insmod xt_mark &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 &lt;br /&gt;
&lt;br /&gt;
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark &lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/NAT_Loopback_Routers</id>
		<title>NAT Loopback Routers</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/NAT_Loopback_Routers"/>
				<updated>2018-12-22T15:47:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ferd Frederix: /* Router / Modem Table */  TD-W8970 Cisco Linksys EA4500 Nighthawk AC1750 and AC1900&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}} {{content}}&lt;br /&gt;
&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
What is NAT Loopback and why is it needed to host a public Opensimulator Region?&lt;br /&gt;
&lt;br /&gt;
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as ''NAT Loopback'' functionality.&lt;br /&gt;
&lt;br /&gt;
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.&lt;br /&gt;
&lt;br /&gt;
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.&lt;br /&gt;
&lt;br /&gt;
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Router/Modem Table =&lt;br /&gt;
==== Router / Modem Table ====&lt;br /&gt;
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#57C604;font-size:10pt;font-weight:bold;border-bottom:1px solid;&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver. [http://forums.osgrid.org/viewtopic.php?f=5&amp;amp;t=3339&amp;amp;p=14576&amp;amp;hilit=actiontec#p14576 OsGrid Forum post]  showing how to get it to work on Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992 Verizon FiOS Router Model # 424WR] || Works || [http://www.dslreports.com/faq/verizonfios/3.1_Actiontec#15992] Verizon FIOS and Frontier networks with TV and Phone service may require bypassing the ActionTech with another router. Loopback does not work reliably between ports so teleports are unreliable without a loopback driver.&lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 Super G || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Airlink || Airlink 101 802.11G wireless || Works || older model, search for reference &lt;br /&gt;
|-&lt;br /&gt;
| Apple || [http://www.apple.com/airportextreme/ AirPort Extreme] || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Arris || TM502b || Works || [http://portforward.com/english/routers/port_forwarding/Arris/TM502b/]&lt;br /&gt;
|-&lt;br /&gt;
| Arris || BGW210-700 || Loopback is flaky || Software Version	1.7.17 [https://forums.att.com/t5/AT-T-Internet-Equipment/Port-forwarding-has-stopped-working-on-my-arris-bgw210-700/td-p/5617287]&lt;br /&gt;
|-&lt;br /&gt;
| Astoria Networks || Bright Box Wireless Router || Not Working || |&lt;br /&gt;
|-&lt;br /&gt;
| Asus  || [http://www.asus.com/Networks/Wireless_Routers/WL520gC/ WL-520GC] || Works || [http://portforward.com/english/routers/port_forwarding/Asus/WL-520GC/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| AVM || FRITZ!Box  || Works || [http://www.avm.de/en/Produkte/FRITZBox/index.html] Except 3790 VDSL Router (old stock)&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-2  || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-2 Docs] || Works || Also known as [http://www.sagemcom.com/index.php?id=1226&amp;amp;L=0 SAGEM 3464]. BBox-1 work, BBox-2 =  Method 1: flash the firmware (in this case we lose the guarantee provider)  Method 2: Configure Bbox Bridge mode and put a second router for OpenSim-Sim. [http://logicamp.forumpro.fr/t7-nat-loopback-b-box2-belgacom LOGICAMP tuto (in french)]&lt;br /&gt;
|-&lt;br /&gt;
| Belgacom BBox-3 || [https://www.proximus.be/support/fr/id_sfaqr_mdm_manual/particuliers/bienvenue-sur-le-support/internet/internet-a-la-maison/installation-et-cablage/guide-d-installation-du-modem-b-box-3v-b-box-3-etc.html BBox-3 Docs] || Works || The Technicolor Model of BBox-3 have Nat Loopback BUT the Sagem Model NOT. You can ask Belgacom to give you a Technicolor model or you can go change it in shop. (Last Update 01-01-2018).&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub V2 || Works || [http://portforward.com/english/routers/port_forwarding/BT/BT_Home_Hub_v2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| BT || BT Home Hub 3  (model B) || Works || [Tested using firmware V100R001C01B031SP12_L_B on standalone ]&lt;br /&gt;
|-&lt;br /&gt;
| BT || BT2700HGV || Works || [ http://portforward.com/english/routers/port_forwarding/BT/BT2700HGV/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Cisco || [http://www.cisco.com/en/US/products/ps9925/index.html RV042] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DGL-4500 DGL-4500] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4500/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=370 DGL-4300] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DGL-4300/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.ca/products/?tab=3&amp;amp;pid=DI-524&amp;amp;rev=DI-524 DI-524] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DI-524/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-600 DIR-600] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-600/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-601 DIR-601] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-601/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-625 DIR-625] || Not Working || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-625/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://support.dlink.com/ProductInfo.aspx?m=DIR-628 DIR-628]  || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-628/defaultguide.htm] &lt;br /&gt;
|- &lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-635 DIR-635] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-635/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/products/?pid=DIR-655 DIR-655] || Works || [http://portforward.com/english/routers/port_forwarding/Dlink/DIR-655/defaultguide.htm] Current hardware version &amp;quot;B&amp;quot; doesn't work.&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://us.dlink.com/us/en/home-solutions/connect/routers/dir-835-wireless-n750-dual-band-router.html DIR-835] || Not working || [https://portforward.com/d-link/dir-835/]&lt;br /&gt;
|-&lt;br /&gt;
| Dlink || [http://www.dlink.com/uk/en/home-solutions/connect/modems-and-gateways/dsl-2680-wireless-n-150-adsl2--home-router DSL-2680] || Not Working || &lt;br /&gt;
|-&lt;br /&gt;
| Dlink || DSL-3680 || Works || Needs manual configuration. Guide at [https://www.digitalnut.co.uk/blog/talktalk.html], backup at [http://franciknow.scot/vw/tech.html]&lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=71 Vigor120] || Works || Nat Loopback out of the box. Great router. &lt;br /&gt;
|-&lt;br /&gt;
| Draytek || [http://www.draytek.com/user/PdInfoDetail.php?Id=82 Vigor2710] || Works || [http://portforward.com/english/routers/port_forwarding/DrayTek/Vigor_2710n/defaultguide.htm] firmware 3.2.4.3 (or higher). &lt;br /&gt;
|-&lt;br /&gt;
| Inventel / Livebox || DV42190WA  || Works || Sold as Livebox 3420 by Orange/SFR in Europe. Set port forwarding for UDP and TCP separately &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys EA4500 || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/BEFSR41/  BEFSR41] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/BEFSR41/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || RT31P2  || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/RT31P2/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/APAC/en/support/AG241 AG241] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/AG241/defaultguide.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/EU/en/support/WAG200G WAG200G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG200G/default.htm] Firmware Version: 1.01.09 or better &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://en.wikipedia.org/wiki/Linksys_WRT54G_series WRT54G] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/WAG160N WAG160N] || Works || [http://portforward.com/english/routers/port_forwarding/Linksys/WAG160N/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v3]  || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| LinkSys/Cisco || [http://www.linksys.com/us/p/P-WRT1200AC/ WRT1200AC] || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://www.linksysbycisco.com/ANZ/en/products/E3000 E3000] || Works || [http://portforward.com/english/routers/port_forwarding/Cisco/Linksys-E3000/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || [http://homesupport.cisco.com/en-us/wireless/lbc/WAG54G WAG54G v2 - NZ/AU]  || Works || Faster processor, more memory and larger NAT table&lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || WAG120N  || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Linksys/Cisco || Linksys RT31P2  || Works ||&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1750 || Works || [https://portforward.com/netgear/ac1750-c6300/]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || Nighthawk AC1900 || Works || &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR834M || Works ||  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WNR2000 || Works || With firmware 1.2.3.7  Loop back now enabled 'out of the box'  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614 || Works || confirmed to work out of the box  &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || WGR614v9 || Works || with v9 firmware&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614  || Works || Version 3 or better &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || DG834G || Works || v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers. v5 unknown to work.&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS318  || Not Working || [http://www.netgear.com/service-provider/products/security/wired-VPN-firewalls/FVS318.aspx#two] &lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || Pro Safe VPN FVS338  || Works || Firmware 3.0.6-25 or over&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || WGR614  || Not Working || [http://www.netgear.com/home/products/wirelessrouters/simplesharing/WGR614.aspx] does not work with ISP required gateway modems&lt;br /&gt;
|-&lt;br /&gt;
| Netgear  || [http://support.netgear.com/app/products/family/a_id/8213 WNR3500 ] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNR3500/defaultguide.htm] NB restart after configuration &lt;br /&gt;
|-&lt;br /&gt;
| Netgear || RP614v3 and Newer revisions || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/RP614v3/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Netgear || [http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx WNDR3700] || Works || [http://portforward.com/english/routers/port_forwarding/Netgear/WNDR3700/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Pace Plc || 5268AC  || Works || [https://portforward.com/pace-plc/5268ac/]&lt;br /&gt;
|- &lt;br /&gt;
| SMC || [http://www.smc.com/index.cfm?event=viewProduct&amp;amp;cid=1&amp;amp;scid=17&amp;amp;localeCode=EN%5FUSA&amp;amp;pid=924 SMC-7004VBR] || Works || [http://portforward.com/english/routers/port_forwarding/SMC/SMC7004ABR/defaultguide.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Telstra Technicolor || TG799vac || Works ||  [https://portforward.com/technicolor/tg799vn/]&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || TG585 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585/default.htm] new ver. Only &lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-585i  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch585i/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-780 || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/ST780/default.htm] May need to enable loopback through telnet&lt;br /&gt;
|-&lt;br /&gt;
| Thomson SpeedTouch  || ST-516  || Works || [http://portforward.com/english/routers/port_forwarding/Thomson-Alcatel/SpeedTouch516/default.htm]May need to enable loopback through telnet &lt;br /&gt;
|-&lt;br /&gt;
| TP_LINK || [https://www.tp-link.com/au/products/details/cat-5030_TD-W8970.html TD-W8970] || Works || &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || TL-WR740N || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link || [http://www.tp-link.com/en/products/details/?categoryid=227&amp;amp;model=TL-R470T%2b TL-R470T+] || Works || All TP-Link wired routers are said to support loopback, including the wifi ones. This one has been confirmed by support staff.&lt;br /&gt;
|-&lt;br /&gt;
| Tp-Link || AC1750 || Works || uPnP forgets settings if port is not used - manually opening of ports works.&lt;br /&gt;
|-&lt;br /&gt;
| Scientific Atlanta  || WebSTAR-DPR2320 || Works || [http://portforward.com/english/routers/port_forwarding/Scientific-Atlanta/WebSTAR-DPR2320/default.htm] Google for more info &lt;br /&gt;
|-&lt;br /&gt;
| Ubee || DDW2600  || Works || [http://www.ubeeinteractive.com/index.php/products/product-overview/wireless_cable_router1/] Cable Router&lt;br /&gt;
|-&lt;br /&gt;
| ZyXel || C1000Z (CenturyLink) || Not Working || [https://www.donationcoder.com/forum/index.php?topic=36001.msg338991#msg338991]&lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR100A-72 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR100A-72/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 3Com / HP || 3CRWDR101A-75 || Works || [http://portforward.com/english/routers/port_forwarding/3com/3CRWDR101A-75/eMule.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-s || Not Working ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-B || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-B/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
| 2wire || 2701hg-D || Works || [http://portforward.com/english/routers/port_forwarding/2wire/2701HG-D/default.htm] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Notes on Some Routers =&lt;br /&gt;
&lt;br /&gt;
== D-Link ==&lt;br /&gt;
&lt;br /&gt;
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market.&amp;amp;nbsp; These routers range from 70$-180$ USD depending on where you live and purchase from. &lt;br /&gt;
&lt;br /&gt;
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed. &lt;br /&gt;
&lt;br /&gt;
'''Wireless Routers - Access Point Only'''&lt;br /&gt;
&lt;br /&gt;
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dlink.com/products/?pid=64 D-Link DGL-4500] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=530 D-Link DIR-655] &lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-635 D-Link DIR-635]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-601 D-Link DIR-601]&lt;br /&gt;
* [http://www.dlink.com/products/?pid=DIR-600 D-Link DIR-600]&lt;br /&gt;
* D-Link DI-524&lt;br /&gt;
&lt;br /&gt;
'''Routers With ADSL modem'''&lt;br /&gt;
No items to list currently&lt;br /&gt;
&lt;br /&gt;
Note: The DGL-4100 &amp;amp; DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.&lt;br /&gt;
&lt;br /&gt;
== Netgear ==&lt;br /&gt;
&lt;br /&gt;
* NETGEAR WNR834M&amp;amp;nbsp;: ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf &lt;br /&gt;
&lt;br /&gt;
* Netgear DG834G v3 with latest firmware &amp;amp; v4 upto firmware version v5.01.09 (according to [http://forum1.netgear.com/showthread.php?t=42641 this link], a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 &amp;amp; v4 are end of line in most markets. The v3 &amp;amp; v4 are proven good performers.&lt;br /&gt;
* Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.&lt;br /&gt;
* NETGEAR FVS338&amp;amp;nbsp;: loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).&lt;br /&gt;
&lt;br /&gt;
== Other routers &amp;amp;amp; Hardware ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* BT home hub V2&lt;br /&gt;
* If you are using a ZyXEL DSL router/modem from Embarq, please read [[OpenSim:Network_settings#A_solution_for_local_connections_when_you_are_using_NAT_and_Port_Forwarding|this configuration guide]]. This will show you how to reconfigure your DSL router/modem to fix this problem.&lt;br /&gt;
&lt;br /&gt;
= KNOWN&amp;amp;nbsp;non-functional for OpenSim: =&lt;br /&gt;
&lt;br /&gt;
* Netgear Pro Safe VPN FVS318&amp;amp;nbsp;: [http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx] &lt;br /&gt;
* NetGear WGR614 does not work with ISP required gateway modems&lt;br /&gt;
* Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT&amp;amp;nbsp;: http://www.dd-wrt.com/ )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= REFERENCE&amp;amp;nbsp;LINKS: =&lt;br /&gt;
&lt;br /&gt;
More Information Related to Routers and Solutions @: [http://osgrid.org/forums/viewtopic.php?f=8&amp;amp;t=2283 osgrid.org/forums/viewtopic.php]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Linux specific solutions =&lt;br /&gt;
== SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network. &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# vvvvv - Fix these! - vvvvv&lt;br /&gt;
IPTABLES=/usr/sbin/iptables&lt;br /&gt;
LAN_NETWORK=192.168.0.0/24&lt;br /&gt;
SERVER_IP=192.168.0.2&lt;br /&gt;
INTERNET_IP=100.100.100.100&lt;br /&gt;
REMOTING_PORT=8895&lt;br /&gt;
REGION_PORT=9000&lt;br /&gt;
# ^^^^^ - Fix these! - ^^^^^&lt;br /&gt;
&lt;br /&gt;
# First, the Destination NAT, anything going to the external address on our ports, we redirect to the server&lt;br /&gt;
# Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll&lt;br /&gt;
# need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
$IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP&lt;br /&gt;
&lt;br /&gt;
# Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first,&lt;br /&gt;
# otherwise, the server will try to talk directly to the client and the client will reject them&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
$IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
--[[User:Hell Fire|Hell Fire]]&lt;br /&gt;
&lt;br /&gt;
== DNS solution ==&lt;br /&gt;
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:&lt;br /&gt;
 nameserver 192.168.2.2&lt;br /&gt;
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.&lt;br /&gt;
&lt;br /&gt;
= openWRT Routers: =&lt;br /&gt;
&lt;br /&gt;
If you use openWRT firmware on your router, check here: [[Users:Thomax:nat-loopback|OpenWRT NATLoopback]]&lt;br /&gt;
&lt;br /&gt;
Table of openWRT supported Hardware, check here: [https://wiki.openwrt.org/toh/start openWRT]&lt;br /&gt;
&lt;br /&gt;
= Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install: =&lt;br /&gt;
&lt;br /&gt;
Please see this -&amp;gt; Windows XP: http://www.windowsnetworking.com/articles-tutorials/windows-xp/Install-Microsoft-Loopback-adapter-Windows-XP.html&lt;br /&gt;
&lt;br /&gt;
Windows 7: http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;br /&gt;
&lt;br /&gt;
Windows 8, 8.1, 10 https://www.youtube.com/watch?v=yIrDvVjyiMk&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more potential loopback solutions here: http://opensimulator.org/wiki/Network_Settings#DynDNS_loopback&lt;/div&gt;</summary>
		<author><name>Ferd Frederix</name></author>	</entry>

	</feed>