<?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=Petewall</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=Petewall"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Petewall"/>
		<updated>2026-08-22T09:38:14Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<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>2016-02-02T19:18:58Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: /* Router / Modem Table */ Added ZyXel C1000Z&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 assit 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;centre&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Make''' || '''Model''' || '''Status''' || '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.actiontec.com/support/product_details.php?pid=71 GT701-WG] || Works || [http://portforward.com/english/routers/port_forwarding/Actiontec/GT701WG/default.htm]&lt;br /&gt;
|-&lt;br /&gt;
| Actiontec || [http://www.actiontec.com/products/product.php?pid=189 Verizon FiOS Router Model # 424WR] || Works || [http://www.actiontec.com/support/product_details.php?pid=189#q23]  Set TCP and UDP separately &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;
| 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  || [http://support.en.belgacom.be/app/answers/detail/a_id/14453/~/how-to-install-and-manage-my-wireless-modem%3F 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 firmare (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;
| 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://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://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;
| 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 || [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.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 || 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 || 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  || 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;
| 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;
| 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 || 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;
| 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;
= 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>Petewall</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/0.7.3.1_Release</id>
		<title>0.7.3.1 Release</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/0.7.3.1_Release"/>
				<updated>2015-07-09T03:27:42Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|0.8.1_Release}}&lt;br /&gt;
=Release Notes=&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator 0.7.3.1 is a minor point release.  It contains a number of minor fixes on top of [[0.7.3_Release|OpenSimulator 0.7.3]].  These are listed in sections below.&lt;br /&gt;
&lt;br /&gt;
As ever, OpenSimulator is a highly complex piece of alpha software. It's very likely but not guaranteed to work and various usage scenarios (standalone, grid, hypergrid, etc.) in combination with different dependencies (e.g. different versions of mono on Linux/Mac) can produce unexpected or unstable behaviour. If it breaks you get to keep both pieces.&lt;br /&gt;
&lt;br /&gt;
If you are upgrading from a version prior to 0.7.x, make sure to read the [[0.7 Release]] notes. There have been extensive changes in OpenSimulator from 0.6.x to 0.7.&lt;br /&gt;
&lt;br /&gt;
When you are upgrading, we strongly recommend that you start off with the default configuration files and port over any changes you made to your older version of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
As this is a wiki page, please feel free to update it with more information about migration or other issues as and when these come to light.&lt;br /&gt;
&lt;br /&gt;
You can download this release of OpenSimulator from http://opensimulator.org/wiki/Download&lt;br /&gt;
&lt;br /&gt;
== Migration ==&lt;br /&gt;
&lt;br /&gt;
* Except for the MSSQL database plugin, there are no data migration changes between 0.7.3.1 and 0.7.3.  For SQLite and MySQL one can go back from 0.7.3.1 to 0.7.3 without any database issues.  The same may be true for MSSQL but this is untested.  As always, please backup your databases before updating OpenSimulator.&lt;br /&gt;
* As this a minor point release, configuration files can simply be copied from 0.7.3 instead of manually merging in changes.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* Sometimes creating body parts or clothing fails with no error message. This is not consistent - work around is simply to try again.&lt;br /&gt;
* In a stock Linden Lab viewer 2/3, various tabs and buttons will point back to the Linden Lab website. In particular, the profile data will try to fetch from the Linden Lab website. It's not known currently how/whether this can be changed in the stock viewer.&lt;br /&gt;
* No form of prim equivalence is implemented for meshes.&lt;br /&gt;
* Loading scripts from the simulator library does not work properly.&lt;br /&gt;
* Multiple attachments on a single attachment point not supported. However, in viewers which do support multiple attachments, the enforcing of a single attachment on the simulator end should be much smoother.&lt;br /&gt;
* If the WebStats module is enabled (it is disabled by default) and the simulator has more than one region and a user teleports to another region on that simulator then a non-terminal sqlite storage exception will be thrown every time the viewer updates the stats (each viewer does this every 5 minutes).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator requires:&lt;br /&gt;
&lt;br /&gt;
* .NET Framework 3.5 when running under Windows.&lt;br /&gt;
* At least Mono 2.4.3 when running under Mono (Linux or Mac). Mono 2.6.x and Mono 2.10.x onwards work well. Mono 2.8.x versions are reported as less stable in some situations.  The current mono alpha releases (mono 2.11.x) do not yet run OpenSimulator in a stable fashion.&lt;br /&gt;
&lt;br /&gt;
== Changes ==&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
* The MSSQL database plugin has been updated to support telehubs.&lt;br /&gt;
* The MSSQL database plugin has fixes for friends lookups.&lt;br /&gt;
* The MSSQL database plugin now supports Hypergrid-style item creator storage.&lt;br /&gt;
&lt;br /&gt;
=== Physics ===&lt;br /&gt;
* Rare race condition fixed if two different regions tried to generate a mesh collision physics proxy simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Regions ===&lt;br /&gt;
* More region access controls added at the simulator level.  DisallowForeigners prevents Hypergrid visitors from visiting certain regions.  DisallowResidents allows only administrators and managers to visit a given region.  See the [AuthorizationService] section in bin/config-include/StandaloneCommon.ini.example and GridCommon.ini.example for more details.&lt;br /&gt;
* simple_build_permissions option added to [Startup] section of OpenSim.ini which allows owners and those on the access list of a parcel to build even when the general parcel setting is to disallow object creation.  See OpenSim.ini.example for more details.&lt;br /&gt;
&lt;br /&gt;
=== Terrain ===&lt;br /&gt;
* [Terrain] section added in config that provides an option to start new regions with either the traditional tiny centre island (pinhead island) or a flat terrain.  The default is still pinhead island.&lt;br /&gt;
&lt;br /&gt;
=== Voice ===&lt;br /&gt;
* Parcels are now voice enabled by default, instead of being voice disabled.  This gets around a viewer bug where the viewer will continually request a voice channel on voice-disabled parcels if voice is available on that simulator.&lt;br /&gt;
&lt;br /&gt;
=== NPC ===&lt;br /&gt;
* The osNpcLoadAppearance() now correctly creates NPC attachments.  This was a regression in 0.7.3 compared to 0.7.2.&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
* Off by one line number bug fixed in script error reporting to viewer.&lt;br /&gt;
* Sensor, dataserver, min and max threadpool statistics added to &amp;quot;xengine status&amp;quot; diagnostic command.&lt;br /&gt;
* Bug fixed where llDie() called in objects running more than one script could result in script engine errors.&lt;br /&gt;
* Bug fixed where simultaneous calls to llDie() from multiple scripts in an object could cause unnecessary script thread aborts.&lt;br /&gt;
* Top scripts viewer report improved to show a scaled representative script execution time rather than the script lines per second.  This still isn't perfect but does give an idea of which scripts are expensive to run when compared to others.&lt;br /&gt;
* Owner name display fixed in top colliders and top scripts viewer reports.&lt;br /&gt;
* llGiveInventory() fixed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Release Notes]]&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/0.7.3.1_Release</id>
		<title>0.7.3.1 Release</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/0.7.3.1_Release"/>
				<updated>2015-07-09T03:27:17Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|0.8.1_Release}}&lt;br /&gt;
=Release Notes=&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator 0.7.3.1 is a minor point release.  It contains a number of minor fixes on top of [[0.7.3_Release|OpenSimulator 0.7.3]].  These are listed in sections below.&lt;br /&gt;
&lt;br /&gt;
As ever, OpenSimulator is a highly complex piece of alpha software. It's very likely but not guaranteed to work and various usage scenarios (standalone, grid, hypergrid, etc.) in combination with different dependencies (e.g. different versions of mono on Linux/Mac) can produce unexpected or unstable behaviour. If it breaks you get to keep both pieces.&lt;br /&gt;
&lt;br /&gt;
If you are upgrading from a version prior to 0.7.x, make sure to read the [[0.7 Release]] notes. There have been extensive changes in OpenSimulator from 0.6.x to 0.7.&lt;br /&gt;
&lt;br /&gt;
When you are upgrading, we strongly recommend that you start off with the default configuration files and port over any changes you made to your older version of OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
As this is a wiki page, please feel free to update it with more information about migration or other issues as and when these come to light.&lt;br /&gt;
&lt;br /&gt;
You can download this release of OpenSimulator from http://opensimulator.org/wiki/Download&lt;br /&gt;
&lt;br /&gt;
== Migration ==&lt;br /&gt;
&lt;br /&gt;
* Except for the MSSQL database plugin, there are no data migration changes between 0.7.3.1 and 0.7.3.  For SQLite and MySQL one can go back from 0.7.3.1 to 0.7.3 without any database issues.  The same may be true for MSSQL but this is untested.  As always, please backup your databases before updating OpenSimulator.&lt;br /&gt;
* As this a minor point release, configuration files can simply be copied from 0.7.3 instead of manually merging in changes.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* Sometimes creating body parts or clothing fails with no error message. This is not consistent - work around is simply to try again.&lt;br /&gt;
* In a stock Linden Lab viewer 2/3, various tabs and buttons will point back to the Linden Lab website. In particular, the profile data will try to fetch from the Linden Lab website. It's not known currently how/whether this can be changed in the stock viewer.&lt;br /&gt;
* No form of prim equivalence is implemented for meshes.&lt;br /&gt;
* Loading scripts from the simulator library does not work properly.&lt;br /&gt;
* Multiple attachments on a single attachment point not supported. However, in viewers which do support multiple attachments, the enforcing of a single attachment on the simulator end should be much smoother.&lt;br /&gt;
* If the WebStats module is enabled (it is disabled by default) and the simulator has more than one region and a user teleports to another region on that simulator then a non-terminal sqlite storage exception will be thrown every time the viewer updates the stats (each viewer does this every 5 minutes).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator requires:&lt;br /&gt;
&lt;br /&gt;
* .NET Framework 3.5 when running under Windows.&lt;br /&gt;
* At least Mono 2.4.3 when running under Mono (Linux or Mac). Mono 2.6.x and Mono 2.10.x onwards work well. Mono 2.8.x versions are reported as less stable in some situations.  The current mono alpha releases (mono 2.11.x) do not yet run OpenSimulator in a stable fashion.&lt;br /&gt;
&lt;br /&gt;
== Changes ==&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
* The MSSQL database plugin has been updated to support telehubs.&lt;br /&gt;
* The MSSQL database plugin has fixes for friends lookups.&lt;br /&gt;
* The MSSQL database plugin now supports Hypergrid-style item creator storage.&lt;br /&gt;
&lt;br /&gt;
=== Physics ===&lt;br /&gt;
* Rare race condition fixed if two different regions tried to generate a mesh collision physics proxy simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Regions ===&lt;br /&gt;
* More region access controls added at the simulator level.  DisallowForeigners prevents Hypergrid visitors from visiting certain regions.  DisallowResidents allows only administrators and managers to visit a given region.  See the [AuthorizationService] section in bin/config-include/StandaloneCommon.ini.example and GridCommon.ini.example for more details.&lt;br /&gt;
* simple_build_permissions option added to [Startup] section of OpenSim.ini which allows owners and those on the access list of a parcel to build even when the general parcel setting is to disallow object creation.  See OpenSim.ini.example for more details.&lt;br /&gt;
&lt;br /&gt;
=== Terrain ===&lt;br /&gt;
* [Terrain] section added in config that provides an option to start new regions with either the traditional tiny centre island (pinhead island) or a flat terrain.  The default is still pinhead island.&lt;br /&gt;
&lt;br /&gt;
=== Voice ===&lt;br /&gt;
* Parcels are now voice enabled by default, instead of being voice disabled.  This gets around a viewer bug where the viewer will continually request a voice channel on voice-disabled parcels if voice is available on that simulator.&lt;br /&gt;
&lt;br /&gt;
=== NPC ===&lt;br /&gt;
* The osNpcLoadAppearance() now correctly creates NPC attachments.  This was a regression in 0.7.3 compared to 0.7.2.&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
* Off by one line number bug fixed in script error reporting to viewer.&lt;br /&gt;
* Sensor, dataserver, min and max threadpool statistics added to &amp;quot;xengine status&amp;quot; diagnostic command.&lt;br /&gt;
* Bug fixed where llDie() called in objects running more than one script could result in script engine errors.&lt;br /&gt;
* Bug fixed where simultaneous calls to llDie() from multiple scripts in an object could cause unnecessary script thread aborts.&lt;br /&gt;
* Top scripts viewer report improved to show a scaled representative script execution time rather than the script lines per second.  This still isn't perfect but does give an idea of which scripts are expensive to run when compared to others.&lt;br /&gt;
* Owner name display fixed in top colliders and top scripts viewer reports.&lt;br /&gt;
* llGiveInventory() fixed.&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Talk:JsonStore_Module</id>
		<title>Talk:JsonStore Module</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Talk:JsonStore_Module"/>
				<updated>2014-12-03T21:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: Created page with &amp;quot;The path for enabling the JSON store has changed.  This page says it's in OpenSim.ini, but when I checked 0.8.0.3, it's in OpenSimDefaults.ini.  Should we change it or mention...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The path for enabling the JSON store has changed.  This page says it's in OpenSim.ini, but when I checked 0.8.0.3, it's in OpenSimDefaults.ini.  Should we change it or mention the two different paths?&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Release_Notes</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Release_Notes"/>
				<updated>2014-12-03T18:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: /* OpenSimulator 0.8 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A summary of OpenSimulator releases and release notes wiki pages associated with each release.&lt;br /&gt;
&lt;br /&gt;
* [[Release Cycle|Details of the Release Cycle]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.8 ==&lt;br /&gt;
* 11-Nov-2014: [[0.8.0.3_Release|OpenSimulator 0.8.0.3]]&lt;br /&gt;
* 16-Oct-2014: [[0.8.0.2_Release|OpenSimulator 0.8.0.2]]&lt;br /&gt;
* 22-Aug-2014: [[0.8.0.1_Release|OpenSimulator 0.8.0.1]]&lt;br /&gt;
* 17-Jun-2014: [[0.8_Release|OpenSimulator 0.8]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.7 ==&lt;br /&gt;
&lt;br /&gt;
* 1-Feb-2013: [[0.7.6.1_Release|OpenSimulator 0.7.6.1]]&lt;br /&gt;
* 4-Oct-2013: [[0.7.6_Release|OpenSimulator 0.7.6]]&lt;br /&gt;
* 9-Feb-2013: [[0.7.5_Release|OpenSimulator 0.7.5]]&lt;br /&gt;
* 5-Jan-2013: [[0.7.5_Release|OpenSimulator 0.7.5-rc1]]&lt;br /&gt;
* Aug-2012: [[0.7.4_Release|OpenSimulator 0.7.4]]&lt;br /&gt;
* Mar-2012: [[0.7.3_Release|OpenSimulator 0.7.3]]&lt;br /&gt;
* Oct-2011: [[0.7.2 Release|OpenSimulator 0.7.2]] &lt;br /&gt;
* 27-May-2011: [[0.7.1.1 Release|OpenSimulator 0.7.1.1]] &lt;br /&gt;
* 4-May-2011: [[0.7.1 Release|OpenSimulator 0.7.1]]&lt;br /&gt;
* 10-Sep-2010: [[0.7.0.2 Release|OpenSimulator 0.7.0.2]]&lt;br /&gt;
* 9-Aug-2010: [[0.7.0.1 Release|OpenSimulator 0.7.0.1]]&lt;br /&gt;
* 22-Jul-2010: [[0.7 Release|OpenSimulator 0.7]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.6 ==&lt;br /&gt;
&lt;br /&gt;
* 14-May-2010: OpenSimulator 0.6.9&lt;br /&gt;
* 15-Jan-2010: OpenSimulator 0.6.8&lt;br /&gt;
* 14-Oct-2009: OpenSimulator 0.6.7&lt;br /&gt;
* 30-Jun-2009: [[0.6.6-release|OpenSimulator 0.6.6]]&lt;br /&gt;
* 28-May-2009: OpenSimulator 0.6.5.1&lt;br /&gt;
* 25-May-2009: [[0.6.5-release|OpenSimulator 0.6.5]]&lt;br /&gt;
* 5-Apr-2009: [[0.6.4.1-release|OpenSimulator 0.6.4.1]]&lt;br /&gt;
* [[0.6.4-release|OpenSimulator 0.6.4]]&lt;br /&gt;
* [[0.6.3-release|OpenSimulator 0.6.3]]&lt;br /&gt;
* [[0.6.2-release|OpenSimulator 0.6.2]]&lt;br /&gt;
* [[0.6.1-release|OpenSimulator 0.6.1]]&lt;br /&gt;
* [[0.6.0-release|OpenSimulator 0.6.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.5 ==&lt;br /&gt;
* [[0.5.11-release|OpenSimulator 0.5.11]]&lt;br /&gt;
* [[0.5.10-release|OpenSimulator 0.5.10]]&lt;br /&gt;
* [[0.5.9-release|OpenSimulator 0.5.9]]&lt;br /&gt;
* [[0.5.8-release|OpenSimulator 0.5.8]]&lt;br /&gt;
* [[0.5.7-release|OpenSimulator 0.5.7]]&lt;br /&gt;
* [[0.5.6-release|OpenSimulator 0.5.6]]&lt;br /&gt;
* [[0.5.5-release|OpenSimulator 0.5.5]]&lt;br /&gt;
* [[0.5.4-release|OpenSimulator 0.5.4]]&lt;br /&gt;
* [[0.5.1-release|OpenSimulator 0.5.1]]&lt;br /&gt;
* [[0.5.0-release|OpenSimulator 0.5.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.4 ==&lt;br /&gt;
* [[0.4.5.3-stable|OpenSimulator 0.4.5.3]]&lt;br /&gt;
* [[0.4.5.2-stable|OpenSimulator 0.4.5.2]]&lt;br /&gt;
* [[0.4.5.1-stable|OpenSimulator 0.4.5.1]]&lt;br /&gt;
* [[0.4.5-release|OpenSimulator 0.4.5]]&lt;br /&gt;
* [[0.4.0-rc|OpenSimulator 0.4.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.3 ==&lt;br /&gt;
* [[0.3.2-release|OpenSimulator 0.3.2]]&lt;br /&gt;
* [[0.3.1-devel|OpenSimulator 0.3.1]]&lt;br /&gt;
* [[0.3.0-devel|OpenSimulator 0.3.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.2 ==&lt;br /&gt;
* [[0.2.1-release|OpenSimulator 0.2.1]]&lt;br /&gt;
* [[0.2.0-release|OpenSimulator 0.2.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.1 ==&lt;br /&gt;
* [[0.1.0-release|OpenSimulator 0.1.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.0 ==&lt;br /&gt;
* [[0.0.0-release|OpenSimulator 0.0.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Release Notes]]&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

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

	<entry>
		<id>http://opensimulator.org/wiki/Monitoring</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Monitoring"/>
				<updated>2014-07-26T03:49:57Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: /* Web Statistics Module */ Fixing link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of monitoring OpenSimulator. All of these relate to monitoring the simulator itself - there is currently no good way to extract statistics from ROBUST hosted services.&lt;br /&gt;
&lt;br /&gt;
This is an area under active evolution and there is currently a high degree of inconsistency between monitoring and statistics solutions.  This should improve over time.&lt;br /&gt;
&lt;br /&gt;
See [[Client side monitoring]] for information on stats which can be seen via the viewer.&lt;br /&gt;
&lt;br /&gt;
= Internal monitoring =&lt;br /&gt;
&lt;br /&gt;
== Web Statistics Module ==&lt;br /&gt;
A typical second life viewer will periodically send various performance metrics to the simulator (cpu usage, memory used by scene objects in the client, etc.).  This can be recorded by OpenSimulator in an SQLite database for further analysis.  This module also provides separate functionality to see some simulator information in web page format, though this functionality should in the future be moved into a separate module.  See [[Web Statistics Module]] for more information.&lt;br /&gt;
&lt;br /&gt;
== show stats ==&lt;br /&gt;
This is a new statistics gathering mechanism slowly being added to OpenSimulator to integrate previous separate and ad-hoc mechanisms.  It also has an experimental facility for recording this statistics to file for later analysis.  See [[show stats]] for more information.&lt;br /&gt;
&lt;br /&gt;
== show queues ==&lt;br /&gt;
This console command displays data on the UDP packets transferred between the simulator and the viewer.  A high number of resends as a proportion of total sends (say over 15%) for a single user can indicate a bad network connection between a particular viewer and the simulator.  A high number of resends for all viewers could indicate a generally bad connection to the simulator.&lt;br /&gt;
&lt;br /&gt;
== xengine status ==&lt;br /&gt;
This console command displays some information on the XEngine script engine, including the number of events queued for processing, the number of active sensors, etimers, etc.  If the number of events queued is persistently high then this could indicate an overloaded simulator.&lt;br /&gt;
&lt;br /&gt;
= External monitoring =&lt;br /&gt;
These are mechanisms which allow you to extract data about a simulator using external calls.&lt;br /&gt;
&lt;br /&gt;
== SimStatus ==&lt;br /&gt;
&lt;br /&gt;
If a simulator is running, a GET request to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;http://&amp;lt;sim-ip&amp;gt;:&amp;lt;sim-http-port&amp;gt;/simstatus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will return&lt;br /&gt;
&lt;br /&gt;
 OK&lt;br /&gt;
&lt;br /&gt;
in UTF8 if the simulator is running and the port is reachable by the network.&lt;br /&gt;
&lt;br /&gt;
== Monitoring Module ==&lt;br /&gt;
&lt;br /&gt;
The monitoring module allows one to retrieve region statistics via a URL. Unlike [[XSimStatus]] and [[UXSimStatus]] one can retrieve statistics per scene rather than just statistics for the scene which sents its stats data last.&lt;br /&gt;
&lt;br /&gt;
In OpenSimulator 0.7.2 this is always active. Data is provided in XML format. This is the recommended monitoring module.&lt;br /&gt;
&lt;br /&gt;
See [[Monitoring Module]]&lt;br /&gt;
&lt;br /&gt;
== Web Statistics Module ==&lt;br /&gt;
&lt;br /&gt;
The Web Statistics Module is a module in OpenSimulator that can provide human readable HTML pages of monitor stated updated dynamically via AJAX. It also stores some historical data (as mentioned above) which is not extractable via external calls. See [[Web Statistics Module]] for more details.&lt;br /&gt;
&lt;br /&gt;
== XSimStatus ==&lt;br /&gt;
&lt;br /&gt;
This old facility provides a way to retrieve some very basic region data and some more detailed information about the simulator as a whole. The data is returns is of low quality. It is always active. Data is provided in JSON format.&lt;br /&gt;
&lt;br /&gt;
See [[XSimStatus]].&lt;br /&gt;
&lt;br /&gt;
== UXSimStatus ==&lt;br /&gt;
&lt;br /&gt;
This returns identical data to the main simulator part of XSimStatus but allows you to explicitly set the URL for retrieving monitoring data rather than having to retrieve a handler with a random UUID. Data is provided in JSON format.&lt;br /&gt;
&lt;br /&gt;
See [[UXSimStatus]]&lt;br /&gt;
&lt;br /&gt;
= Other stats facilities =&lt;br /&gt;
&lt;br /&gt;
[[OsGetRegionStats]]&lt;br /&gt;
&lt;br /&gt;
[[ServerStats]]&lt;br /&gt;
&lt;br /&gt;
[[Cacti]]&lt;br /&gt;
&lt;br /&gt;
[[Collectd]]&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Release_Notes</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Release_Notes"/>
				<updated>2014-06-11T14:18:06Z</updated>
		
		<summary type="html">&lt;p&gt;Petewall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A summary of OpenSimulator releases and release notes wiki pages associated with each release.&lt;br /&gt;
&lt;br /&gt;
* [[Release Cycle|Details of the Release Cycle]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.8 ==&lt;br /&gt;
* Currently in development: [[0.8_Release|OpenSimulator 0.8]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.7 ==&lt;br /&gt;
&lt;br /&gt;
* 4-Oct-2013: [[0.7.6_Release|OpenSimulator 0.7.6]]&lt;br /&gt;
* 9-Feb-2013: [[0.7.5_Release|OpenSimulator 0.7.5]]&lt;br /&gt;
* 5-Jan-2013: [[0.7.5_Release|OpenSimulator 0.7.5-rc1]]&lt;br /&gt;
* Aug-2012: [[0.7.4_Release|OpenSimulator 0.7.4]]&lt;br /&gt;
* Mar-2012: [[0.7.3_Release|OpenSimulator 0.7.3]]&lt;br /&gt;
* Oct-2011: [[0.7.2 Release|OpenSimulator 0.7.2]] &lt;br /&gt;
* 27-May-2011: [[0.7.1.1 Release|OpenSimulator 0.7.1.1]] &lt;br /&gt;
* 4-May-2011: [[0.7.1 Release|OpenSimulator 0.7.1]]&lt;br /&gt;
* 10-Sep-2010: [[0.7.0.2 Release|OpenSimulator 0.7.0.2]]&lt;br /&gt;
* 9-Aug-2010: [[0.7.0.1 Release|OpenSimulator 0.7.0.1]]&lt;br /&gt;
* 22-Jul-2010: [[0.7 Release|OpenSimulator 0.7]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.6 ==&lt;br /&gt;
&lt;br /&gt;
* 14-May-2010: OpenSimulator 0.6.9&lt;br /&gt;
* 15-Jan-2010: OpenSimulator 0.6.8&lt;br /&gt;
* 14-Oct-2009: OpenSimulator 0.6.7&lt;br /&gt;
* 30-Jun-2009: [[0.6.6-release|OpenSimulator 0.6.6]]&lt;br /&gt;
* 28-May-2009: OpenSimulator 0.6.5.1&lt;br /&gt;
* 25-May-2009: [[0.6.5-release|OpenSimulator 0.6.5]]&lt;br /&gt;
* 5-Apr-2009: [[0.6.4.1-release|OpenSimulator 0.6.4.1]]&lt;br /&gt;
* [[0.6.4-release|OpenSimulator 0.6.4]]&lt;br /&gt;
* [[0.6.3-release|OpenSimulator 0.6.3]]&lt;br /&gt;
* [[0.6.2-release|OpenSimulator 0.6.2]]&lt;br /&gt;
* [[0.6.1-release|OpenSimulator 0.6.1]]&lt;br /&gt;
* [[0.6.0-release|OpenSimulator 0.6.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.5 ==&lt;br /&gt;
* [[0.5.11-release|OpenSimulator 0.5.11]]&lt;br /&gt;
* [[0.5.10-release|OpenSimulator 0.5.10]]&lt;br /&gt;
* [[0.5.9-release|OpenSimulator 0.5.9]]&lt;br /&gt;
* [[0.5.8-release|OpenSimulator 0.5.8]]&lt;br /&gt;
* [[0.5.7-release|OpenSimulator 0.5.7]]&lt;br /&gt;
* [[0.5.6-release|OpenSimulator 0.5.6]]&lt;br /&gt;
* [[0.5.5-release|OpenSimulator 0.5.5]]&lt;br /&gt;
* [[0.5.4-release|OpenSimulator 0.5.4]]&lt;br /&gt;
* [[0.5.1-release|OpenSimulator 0.5.1]]&lt;br /&gt;
* [[0.5.0-release|OpenSimulator 0.5.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.4 ==&lt;br /&gt;
* [[0.4.5.3-stable|OpenSimulator 0.4.5.3]]&lt;br /&gt;
* [[0.4.5.2-stable|OpenSimulator 0.4.5.2]]&lt;br /&gt;
* [[0.4.5.1-stable|OpenSimulator 0.4.5.1]]&lt;br /&gt;
* [[0.4.5-release|OpenSimulator 0.4.5]]&lt;br /&gt;
* [[0.4.0-rc|OpenSimulator 0.4.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.3 ==&lt;br /&gt;
* [[0.3.2-release|OpenSimulator 0.3.2]]&lt;br /&gt;
* [[0.3.1-devel|OpenSimulator 0.3.1]]&lt;br /&gt;
* [[0.3.0-devel|OpenSimulator 0.3.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.2 ==&lt;br /&gt;
* [[0.2.1-release|OpenSimulator 0.2.1]]&lt;br /&gt;
* [[0.2.0-release|OpenSimulator 0.2.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.1 ==&lt;br /&gt;
* [[0.1.0-release|OpenSimulator 0.1.0]]&lt;br /&gt;
&lt;br /&gt;
== OpenSimulator 0.0 ==&lt;br /&gt;
* [[0.0.0-release|OpenSimulator 0.0.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Release Notes]]&lt;/div&gt;</summary>
		<author><name>Petewall</name></author>	</entry>

	</feed>