<?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=Tonyguards</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=Tonyguards"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Tonyguards"/>
		<updated>2026-04-17T17:06:16Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/Configuring_Regions</id>
		<title>Configuring Regions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuring_Regions"/>
				<updated>2013-03-22T06:20:53Z</updated>
		
		<summary type="html">&lt;p&gt;Tonyguards: Undo revision 32193 by Kenearlg (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
= OpenSimulator 0.7 and later =&lt;br /&gt;
&lt;br /&gt;
By default, regions are configured in a file named Regions.ini in the bin/Regions directory. If you started a completely fresh installation of OpenSim, it will ask you a series of questions to set up your first region. &lt;br /&gt;
&lt;br /&gt;
Here's an example of a Regions.ini file &lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
&lt;br /&gt;
This is a list of settings that must be present for a region to operate. When you start OpenSimulator for the first time without an existing Regions.ini file, you'll be asked for an entry for each setting in order to set up your initial region. For more details, see [[Configuration#Running OpenSimulator for the first time]]. &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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Big Fat Region] &lt;br /&gt;
| The name of the region.&lt;br /&gt;
|-&lt;br /&gt;
| RegionUUID &lt;br /&gt;
| The unique ID of the region.&lt;br /&gt;
|-&lt;br /&gt;
| Location &lt;br /&gt;
| The (x, y) location of the region on the grid.&lt;br /&gt;
|-&lt;br /&gt;
| InternalAddress &lt;br /&gt;
| 0.0.0.0 if you have more than one NIC on the server and you don't care which IP address OpenSimulator listens on (this is the usual setting). Alternatively, you can set to a specific IP.&lt;br /&gt;
|-&lt;br /&gt;
| InternalPort &lt;br /&gt;
| IP port for all incoming client connections.&lt;br /&gt;
|-&lt;br /&gt;
| AllowAlternatePorts &lt;br /&gt;
| Not Used. Leave it always False.&lt;br /&gt;
|-&lt;br /&gt;
| ExternalHostName &lt;br /&gt;
| External IP Address of the router or FQDN.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to add another region you can &lt;br /&gt;
&lt;br /&gt;
* enter another section in Regions.ini &lt;br /&gt;
* create another separate .ini file in bin/Regions &lt;br /&gt;
* create an old format OpenSimulator xml file (these still work with current OpenSim) &lt;br /&gt;
* or use the create region command on the region console (I don't recommend this since it seems to be a bit buggy).&lt;br /&gt;
&lt;br /&gt;
Here's an example where a second region has been added to Regions.ini &lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 &amp;amp;nbsp;&lt;br /&gt;
 [Greek Wedding]&lt;br /&gt;
 RegionUUID = 5c445740-6460-43d3-ba4c-444444445555&lt;br /&gt;
 Location = 1000,1001&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9001&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
&lt;br /&gt;
As you can see, the Second region is named Greek Wedding and has a different UUID. It has a different location (1000,1001) and a different InternalPort (9001). Other than that, the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.doxapest.co.id/index.php/pest-control-dan-anti-rayap&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Pest Control]&amp;lt;/span&amp;gt; details are the same. &lt;br /&gt;
&lt;br /&gt;
To create a new &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.pbtaxand.com/our-services/tax-advisory-services&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Konsultan Pajak]&amp;lt;/span&amp;gt; UUID you can either tweak an existing one by hand (e.g. by changing one character so that the new one is in the range [0-9][A-F] or a &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.propertykita.com/rumah.html&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Rumah Dijual]&amp;lt;/span&amp;gt; generator can be found at uuidgen webpage. On Unix, you can also use the &amp;lt;tt&amp;gt;uuidgen&amp;lt;/tt&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
As well as the critical entries above, there are some additional &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://vamostech.com/gps-tracking&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;GPS Tracker]&amp;lt;/span&amp;gt; optional ones that can change the properties of a region. These are &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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| MaxAgents &lt;br /&gt;
| The maximum number of agents that can be in the in the region at any given time. The default is 100. As of 4/22/2011 this option only exists in the current git master.&lt;br /&gt;
|-&lt;br /&gt;
| MaxPrims &lt;br /&gt;
| The maximum number of prims that the region will be listed as supporting. However, this limit is not currently enforced by OpenSimulator. Due to LL protocol constraints, the maximum limit that can be shown is 45000.&lt;br /&gt;
|-&lt;br /&gt;
| PhysicalPrimMax &lt;br /&gt;
| The maximum dimensions of a physical prim. This is a single number which applies to X, Y and Z co-ordinates. This will affect resizing of existing prims. Default is 10. This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| NonphysicalPrimMax &lt;br /&gt;
| The maximum dimensions for a non-physical prim. This is a single number which applies to X, Y and Z co-ordinates. This will affect resizing of existing prims. Default is 256. This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| ClampPrimSize &lt;br /&gt;
| If true then if a viewer attempts to create a prim which has any dimension larger than the NonphysicalPrimMax, then that dimension is reduced to NonphysicalPrimMax. Default is false; This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| RegionType &lt;br /&gt;
| The region type as shown in the Covenant tab of the Region/Estate dialog in a standard Second Life viewer. Not sure what this can be used for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
RegionIniGenerator(RIG1.1): A decent (sort of) GUI based region ini creator for use with 0.7+ INI style region data. Built on .NET 4 framework.&lt;br /&gt;
&lt;br /&gt;
== Other Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Configuring Multiple Regions on a Single Server Instance ===&lt;br /&gt;
&lt;br /&gt;
To configure multiple regions on one server (i.e. a 4x4 server), edit the Regions.ini file to include multiples of the single entry already there. Make sure the RegionUUID and InternalPort are different on each one, or it won't work. To load individual OAR files into each region, use the 'change region [regionname]' command and then 'load oar [oar-location]'.&lt;br /&gt;
&lt;br /&gt;
= OpenSimulator 0.6.7 to OpenSimulator 0.6.9 =&lt;br /&gt;
By default, regions are configured in a file named Regions.ini in the bin/Regions directory. If you started a completely fresh installation of OpenSim, it will ask you a series of questions to set up your first region.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a Regions.ini&lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
&lt;br /&gt;
This is the list describing the relation between the entries in Regions.ini and the questions during setup. For detail about each question, see [[Configuration#Running OpenSimulator for the first time]].&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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute&lt;br /&gt;
! Setup Console Question&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[Big Fat Region]&lt;br /&gt;
|New region name&lt;br /&gt;
|The name of the region.&lt;br /&gt;
|-&lt;br /&gt;
|RegionUUID&lt;br /&gt;
|Region UUID&lt;br /&gt;
|The unique ID of the region.&lt;br /&gt;
|-&lt;br /&gt;
|Location&lt;br /&gt;
|Region Location&lt;br /&gt;
|The location of the region on the grid.&lt;br /&gt;
|-&lt;br /&gt;
|InternalAddress&lt;br /&gt;
|Internal IP address&lt;br /&gt;
|0.0.0.0 or static internal IP address.&lt;br /&gt;
|-&lt;br /&gt;
|InternalPort&lt;br /&gt;
|Internal port&lt;br /&gt;
|IP port for all incoming client connections.&lt;br /&gt;
|-&lt;br /&gt;
|AllowAlternatePorts&lt;br /&gt;
|Allow alternate ports&lt;br /&gt;
|Not Used. Leave it always False.&lt;br /&gt;
|-&lt;br /&gt;
|ExternalHostName&lt;br /&gt;
|External host name&lt;br /&gt;
|External IP Address of the router or FQDN.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarFirstName&lt;br /&gt;
|Master Avatar first name&lt;br /&gt;
|(0.6.9 or earlier) The first name of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarLastName&lt;br /&gt;
|Master Avatar last name&lt;br /&gt;
|(0.6.9 or earlier) The last name of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarSandboxPassword&lt;br /&gt;
|Master Avatar sandbox password&lt;br /&gt;
|(0.6.9 or earlier) The password of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to add another region you can &lt;br /&gt;
&lt;br /&gt;
* enter another section in Regions.ini&lt;br /&gt;
* create another separate .ini file in bin/Regions&lt;br /&gt;
* create an old format OpenSimulator xml file (these still work with OpenSimulator 0.6.7)&lt;br /&gt;
* or use the create region command on the region console (I don't recommend this since it seems to be a bit buggy in 0.6.7).&lt;br /&gt;
&lt;br /&gt;
Here's an example where a second region has been added to Regions.ini&lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
 &amp;amp;nbsp;&lt;br /&gt;
 [Greek Wedding]&lt;br /&gt;
 RegionUUID = 5c445740-6460-43d3-ba4c-444444445555&lt;br /&gt;
 Location = 1000,1001&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9001&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
&lt;br /&gt;
As you can see, the Second region is named Greek Wedding and has a different UUID. It has a different location (1000,1001) and a different InternalPort (9001). Other than that, the details are the same.&lt;br /&gt;
&lt;br /&gt;
To create a new UUID you can either tweak an existing one by hand (e.g. by changing one character so that the new one is in the range [0-9][A-F] or a generator can be found at uidgen webpage. On Unix, you can also use the &amp;lt;tt&amp;gt;uuidgen&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
= OpenSimulator 0.6.6 and earlier =&lt;br /&gt;
&lt;br /&gt;
For running multiple regions on the same box, you simply make multiple copies of the 'default.xml' file inside the &amp;lt;tt&amp;gt;bin/Regions/&amp;lt;/tt&amp;gt; directory. You can do this by typing &amp;lt;tt&amp;gt;create region&amp;lt;/tt&amp;gt; at the OpenSimulator command prompt, using the script &amp;lt;tt&amp;gt;make.php&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;share/regions&amp;lt;/tt&amp;gt;, or you can generate the files by hand.&lt;br /&gt;
&lt;br /&gt;
If you want to create the files by hand:&lt;br /&gt;
&lt;br /&gt;
:first copy the default.xml file in the &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory, and name them anything you want (I name mine region.x.y.xml, where region is the name of the region, and x and y are the grid coords.)&lt;br /&gt;
:Open each xml file and edit the uuid (a generator can be found at uuidgen webpage or on unix, use the uuidgen command), region name, x &amp;amp; y positions, and internal IP port.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT!''' Regardless of the method you use to create your new region, the UUID, name, and grid coordinates ''must'' be unique for each region on a grid. The port assignment must be unique for each region that is running on a particular machine. The internal IP ''address'' and external host name must be the same for all regions.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;tt&amp;gt;sim_location_x&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;sim_location_y&amp;lt;/tt&amp;gt; should be adjacent integers if you want your regions to be adjacent, so you can run back and forth between them. '''IMPORTANT: THESE GRID COORDINATES ARE ''NOT'' IN METERS. THEY ARE SIM POSITIONS.''' (1000, 1000) is next to (1001,1000), (1000, 1001), and so forth. 1256, 2000, 2048 and similar values are '''not''' adjacent to 1000, they are very far away, so you would not see your sims from one another.&lt;br /&gt;
&lt;br /&gt;
Once you have 2 or more xml files in the bin/Regions folder, running a ''single'' copy of &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; will start up all of your sims! If you come across any errors, there is most likely an error in your xml files.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A powerful region generator is available at: [[RegionGenerator]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Tonyguards</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuring_Regions</id>
		<title>Configuring Regions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuring_Regions"/>
				<updated>2013-02-01T06:51:09Z</updated>
		
		<summary type="html">&lt;p&gt;Tonyguards: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
= OpenSimulator 0.7 and later =&lt;br /&gt;
&lt;br /&gt;
By default, regions are configured in a file named Regions.ini in the bin/Regions directory. If you started a completely fresh installation of OpenSim, it will ask you a series of questions to set up your first region. &lt;br /&gt;
&lt;br /&gt;
Here's an example of a Regions.ini file &lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
&lt;br /&gt;
This is a list of settings that must be present for a region to operate. When you start OpenSimulator for the first time without an existing Regions.ini file, you'll be asked for an entry for each setting in order to set up your initial region. For more details, see [[Configuration#Running OpenSimulator for the first time]]. &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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Big Fat Region] &lt;br /&gt;
| The name of the region.&lt;br /&gt;
|-&lt;br /&gt;
| RegionUUID &lt;br /&gt;
| The unique ID of the region.&lt;br /&gt;
|-&lt;br /&gt;
| Location &lt;br /&gt;
| The (x, y) location of the region on the grid.&lt;br /&gt;
|-&lt;br /&gt;
| InternalAddress &lt;br /&gt;
| 0.0.0.0 if you have more than one NIC on the server and you don't care which IP address OpenSimulator listens on (this is the usual setting). Alternatively, you can set to a specific IP.&lt;br /&gt;
|-&lt;br /&gt;
| InternalPort &lt;br /&gt;
| IP port for all incoming client connections.&lt;br /&gt;
|-&lt;br /&gt;
| AllowAlternatePorts &lt;br /&gt;
| Not Used. Leave it always False.&lt;br /&gt;
|-&lt;br /&gt;
| ExternalHostName &lt;br /&gt;
| External IP Address of the router or FQDN.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to add another region you can &lt;br /&gt;
&lt;br /&gt;
* enter another section in Regions.ini &lt;br /&gt;
* create another separate .ini file in bin/Regions &lt;br /&gt;
* create an old format OpenSimulator xml file (these still work with current OpenSim) &lt;br /&gt;
* or use the create region command on the region console (I don't recommend this since it seems to be a bit buggy).&lt;br /&gt;
&lt;br /&gt;
Here's an example where a second region has been added to Regions.ini &lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 &amp;amp;nbsp;&lt;br /&gt;
 [Greek Wedding]&lt;br /&gt;
 RegionUUID = 5c445740-6460-43d3-ba4c-444444445555&lt;br /&gt;
 Location = 1000,1001&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9001&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
&lt;br /&gt;
As you can see, the Second region is named Greek Wedding and has a different UUID. It has a different location (1000,1001) and a different InternalPort (9001). Other than that, the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.doxapest.co.id/index.php/pest-control-dan-anti-rayap&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Pest Control]&amp;lt;/span&amp;gt; details are the same. &lt;br /&gt;
&lt;br /&gt;
To create a new &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.pbtaxand.com/our-services/tax-advisory-services&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Konsultan Pajak]&amp;lt;/span&amp;gt; UUID you can either tweak an existing one by hand (e.g. by changing one character so that the new one is in the range [0-9][A-F] or a &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://www.propertykita.com/rumah.html&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;Rumah Dijual]&amp;lt;/span&amp;gt; generator can be found at uuidgen webpage. On Unix, you can also use the &amp;lt;tt&amp;gt;uuidgen&amp;lt;/tt&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
As well as the critical entries above, there are some additional &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://vamostech.com/gps-tracking&amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;GPS Tracker]&amp;lt;/span&amp;gt; optional ones that can change the properties of a region. These are &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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| MaxAgents &lt;br /&gt;
| The maximum number of agents that can be in the in the region at any given time. The default is 100. As of 4/22/2011 this option only exists in the current git master.&lt;br /&gt;
|-&lt;br /&gt;
| MaxPrims &lt;br /&gt;
| The maximum number of prims that the region will be listed as supporting. However, this limit is not currently enforced by OpenSimulator. Due to LL protocol constraints, the maximum limit that can be shown is 45000.&lt;br /&gt;
|-&lt;br /&gt;
| PhysicalPrimMax &lt;br /&gt;
| The maximum dimensions of a physical prim. This is a single number which applies to X, Y and Z co-ordinates. This will affect resizing of existing prims. Default is 10. This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| NonphysicalPrimMax &lt;br /&gt;
| The maximum dimensions for a non-physical prim. This is a single number which applies to X, Y and Z co-ordinates. This will affect resizing of existing prims. Default is 256. This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| ClampPrimSize &lt;br /&gt;
| If true then if a viewer attempts to create a prim which has any dimension larger than the NonphysicalPrimMax, then that dimension is reduced to NonphysicalPrimMax. Default is false; This setting can also be used in the [Startup] section of OpenSim.ini. If the region setting exists then it will override the OpenSim.ini setting.&lt;br /&gt;
|-&lt;br /&gt;
| RegionType &lt;br /&gt;
| The region type as shown in the Covenant tab of the Region/Estate dialog in a standard Second Life viewer. Not sure what this can be used for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
RegionIniGenerator(RIG1.1): A decent (sort of) GUI based region ini creator for use with 0.7+ INI style region data. Built on .NET 4 framework.&lt;br /&gt;
&lt;br /&gt;
== Other Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Configuring Multiple Regions on a Single Server Instance ===&lt;br /&gt;
&lt;br /&gt;
To configure multiple regions on one server (i.e. a 4x4 server), edit the Regions.ini file to include multiples of the single entry already there. Make sure the RegionUUID and InternalPort are different on each one, or it won't work. To load individual OAR files into each region, use the 'change region [regionname]' command and then 'load oar [oar-location]'.&lt;br /&gt;
&lt;br /&gt;
= OpenSimulator 0.6.7 to OpenSimulator 0.6.9 =&lt;br /&gt;
By default, regions are configured in a file named Regions.ini in the bin/Regions directory. If you started a completely fresh installation of OpenSim, it will ask you a series of questions to set up your first region.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a Regions.ini&lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
&lt;br /&gt;
This is the list describing the relation between the entries in Regions.ini and the questions during setup. For detail about each question, see [[Configuration#Running OpenSimulator for the first time]].&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; class=&amp;quot;sortable&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute&lt;br /&gt;
! Setup Console Question&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[Big Fat Region]&lt;br /&gt;
|New region name&lt;br /&gt;
|The name of the region.&lt;br /&gt;
|-&lt;br /&gt;
|RegionUUID&lt;br /&gt;
|Region UUID&lt;br /&gt;
|The unique ID of the region.&lt;br /&gt;
|-&lt;br /&gt;
|Location&lt;br /&gt;
|Region Location&lt;br /&gt;
|The location of the region on the grid.&lt;br /&gt;
|-&lt;br /&gt;
|InternalAddress&lt;br /&gt;
|Internal IP address&lt;br /&gt;
|0.0.0.0 or static internal IP address.&lt;br /&gt;
|-&lt;br /&gt;
|InternalPort&lt;br /&gt;
|Internal port&lt;br /&gt;
|IP port for all incoming client connections.&lt;br /&gt;
|-&lt;br /&gt;
|AllowAlternatePorts&lt;br /&gt;
|Allow alternate ports&lt;br /&gt;
|Not Used. Leave it always False.&lt;br /&gt;
|-&lt;br /&gt;
|ExternalHostName&lt;br /&gt;
|External host name&lt;br /&gt;
|External IP Address of the router or FQDN.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarFirstName&lt;br /&gt;
|Master Avatar first name&lt;br /&gt;
|(0.6.9 or earlier) The first name of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarLastName&lt;br /&gt;
|Master Avatar last name&lt;br /&gt;
|(0.6.9 or earlier) The last name of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|MasterAvatarSandboxPassword&lt;br /&gt;
|Master Avatar sandbox password&lt;br /&gt;
|(0.6.9 or earlier) The password of the master avatar.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to add another region you can &lt;br /&gt;
&lt;br /&gt;
* enter another section in Regions.ini&lt;br /&gt;
* create another separate .ini file in bin/Regions&lt;br /&gt;
* create an old format OpenSimulator xml file (these still work with OpenSimulator 0.6.7)&lt;br /&gt;
* or use the create region command on the region console (I don't recommend this since it seems to be a bit buggy in 0.6.7).&lt;br /&gt;
&lt;br /&gt;
Here's an example where a second region has been added to Regions.ini&lt;br /&gt;
&lt;br /&gt;
 [Big Fat Region]&lt;br /&gt;
 RegionUUID = 5ce85740-6460-43d3-ba4c-29207b010072&lt;br /&gt;
 Location = 1000,1000&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9000&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
 &amp;amp;nbsp;&lt;br /&gt;
 [Greek Wedding]&lt;br /&gt;
 RegionUUID = 5c445740-6460-43d3-ba4c-444444445555&lt;br /&gt;
 Location = 1000,1001&lt;br /&gt;
 InternalAddress = 0.0.0.0&lt;br /&gt;
 InternalPort = 9001&lt;br /&gt;
 AllowAlternatePorts = False&lt;br /&gt;
 ExternalHostName = 192.168.1.2&lt;br /&gt;
 MasterAvatarFirstName = Justin&lt;br /&gt;
 MasterAvatarLastName = Clark-Casey&lt;br /&gt;
 MasterAvatarSandboxPassword = yeahokay&lt;br /&gt;
&lt;br /&gt;
As you can see, the Second region is named Greek Wedding and has a different UUID. It has a different location (1000,1001) and a different InternalPort (9001). Other than that, the details are the same.&lt;br /&gt;
&lt;br /&gt;
To create a new UUID you can either tweak an existing one by hand (e.g. by changing one character so that the new one is in the range [0-9][A-F] or a generator can be found at uidgen webpage. On Unix, you can also use the &amp;lt;tt&amp;gt;uuidgen&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
= OpenSimulator 0.6.6 and earlier =&lt;br /&gt;
&lt;br /&gt;
For running multiple regions on the same box, you simply make multiple copies of the 'default.xml' file inside the &amp;lt;tt&amp;gt;bin/Regions/&amp;lt;/tt&amp;gt; directory. You can do this by typing &amp;lt;tt&amp;gt;create region&amp;lt;/tt&amp;gt; at the OpenSimulator command prompt, using the script &amp;lt;tt&amp;gt;make.php&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;share/regions&amp;lt;/tt&amp;gt;, or you can generate the files by hand.&lt;br /&gt;
&lt;br /&gt;
If you want to create the files by hand:&lt;br /&gt;
&lt;br /&gt;
:first copy the default.xml file in the &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory, and name them anything you want (I name mine region.x.y.xml, where region is the name of the region, and x and y are the grid coords.)&lt;br /&gt;
:Open each xml file and edit the uuid (a generator can be found at uuidgen webpage or on unix, use the uuidgen command), region name, x &amp;amp; y positions, and internal IP port.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT!''' Regardless of the method you use to create your new region, the UUID, name, and grid coordinates ''must'' be unique for each region on a grid. The port assignment must be unique for each region that is running on a particular machine. The internal IP ''address'' and external host name must be the same for all regions.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;tt&amp;gt;sim_location_x&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;sim_location_y&amp;lt;/tt&amp;gt; should be adjacent integers if you want your regions to be adjacent, so you can run back and forth between them. '''IMPORTANT: THESE GRID COORDINATES ARE ''NOT'' IN METERS. THEY ARE SIM POSITIONS.''' (1000, 1000) is next to (1001,1000), (1000, 1001), and so forth. 1256, 2000, 2048 and similar values are '''not''' adjacent to 1000, they are very far away, so you would not see your sims from one another.&lt;br /&gt;
&lt;br /&gt;
Once you have 2 or more xml files in the bin/Regions folder, running a ''single'' copy of &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; will start up all of your sims! If you come across any errors, there is most likely an error in your xml files.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A powerful region generator is available at: [[RegionGenerator]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Tonyguards</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Jp2_batch_converter_for_windows</id>
		<title>Jp2 batch converter for windows</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Jp2_batch_converter_for_windows"/>
				<updated>2012-12-18T08:54:36Z</updated>
		
		<summary type="html">&lt;p&gt;Tonyguards: &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;
== Description ==&lt;br /&gt;
For how, why and where it is made for: please refer to the wikipage of the [[jp2 batch converter|original script]].&lt;br /&gt;
&lt;br /&gt;
This is a modification of that script to make the system commands work on windows systems.&lt;br /&gt;
Also a helpful /help explanation and optional /D command to delete the old files is added.&lt;br /&gt;
&lt;br /&gt;
Note: these are some quick adjustments to the original, it may or may not work, depending on your setup. It did work here.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
* This script is a perl script, so you first should go and install that. ([http://www.perl.org/get.html www.perl.org])&lt;br /&gt;
&lt;br /&gt;
* The ImageMagick executables for windows. ([http://www.imagemagick.org www.imagemagick.org])&lt;br /&gt;
Please note that the 'convert.exe' executable conflicts with the FAT-to-NTFS batch command of windows.&lt;br /&gt;
This script will therefor seek a 'imconvert.exe' file in the PATH. Please rename it, or adjust the lines that start with:&lt;br /&gt;
 system(&amp;quot;imconvert ...&lt;br /&gt;
&lt;br /&gt;
* Openjpegs J2K Codec executables, more specifically: image_to_j2k.exe. ([http://www.openjpeg.org/index.php?menu=download www.openjpeg.org])&lt;br /&gt;
&lt;br /&gt;
* References to all executables in the PATH environment variable. &lt;br /&gt;
This can be set trough Right-click My Computer-&amp;gt;Properties: Advanced tab-&amp;gt;Environment variables.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
The script takes 2 arguments&lt;br /&gt;
&lt;br /&gt;
* An optional /D argument, if added the script will also delete the old image files&lt;br /&gt;
&lt;br /&gt;
* A required directory specified.&lt;br /&gt;
&lt;br /&gt;
* Or, you could start it with a /help command, which gives about the same info as this page.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
Execute this from command prompt, optionally adding a /D argument for also deleting the source images.&lt;br /&gt;
 perl jp2batch.pl /D &amp;quot;c:\directory\with\images\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
# jp2batch.pl&lt;br /&gt;
# OpenSimulator jp2 texture preparation script (for windows)&lt;br /&gt;
# Converts jpg/jpeg/bmp/tga files to valid jp2(jk2) files for SL&lt;br /&gt;
# Author: Phrearch, modified by Jeroen Waisman for Windows systems&lt;br /&gt;
# Credits: Tedd1, Phrearch&lt;br /&gt;
&lt;br /&gt;
$dirs=0;&lt;br /&gt;
$files=0;&lt;br /&gt;
$delete=0;&lt;br /&gt;
&lt;br /&gt;
sub Scan {&lt;br /&gt;
    my ($dir) = @_;&lt;br /&gt;
    local ($substr);&lt;br /&gt;
    $substr = substr($dir, -1);&lt;br /&gt;
    if(($substr eq &amp;quot;/&amp;quot;) || ($substr eq &amp;quot;\\&amp;quot;)) {&lt;br /&gt;
        $dir = substr($dir, 0, -1);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (-d $dir) {&lt;br /&gt;
        &amp;amp;ScanDirectory($dir);&lt;br /&gt;
        print &amp;quot;Directories scanned:$dirs\nFiles processed:$files\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        print &amp;quot;Non-existent directory $dir\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
sub ScanDirectory {&lt;br /&gt;
    my ($workdir) = @_;&lt;br /&gt;
    local (@names);&lt;br /&gt;
    $dirs++;&lt;br /&gt;
    opendir(DIR, $workdir) or die &amp;quot;Unable to open $workdir:$!\n&amp;quot;;&lt;br /&gt;
    @names = readdir(DIR) or die &amp;quot;Unable to read $workdir:$!\n&amp;quot;;&lt;br /&gt;
    closedir(DIR);&lt;br /&gt;
    foreach my $tmpName (@names) {&lt;br /&gt;
        my $name = $workdir.&amp;quot;\\&amp;quot;.$tmpName;&lt;br /&gt;
        #\. or \.. in directory&lt;br /&gt;
        if ($tmpName =~ /^\.\.?$/) {&lt;br /&gt;
            next;&lt;br /&gt;
        }&lt;br /&gt;
        #directory&lt;br /&gt;
        elsif (-d $name) {&lt;br /&gt;
            print &amp;quot;Entering directory $name\n&amp;quot;;&lt;br /&gt;
            &amp;amp;ScanDirectory($name);&lt;br /&gt;
            next;&lt;br /&gt;
        }	&lt;br /&gt;
        #jpg or jpeg&lt;br /&gt;
        elsif ($tmpName =~ /^(.*)\.([jJ][pP][eE]?[gG]|[bB][mM][pP]|[tT][gG][aA]|[tT][iI][fF][fF]?|[rR][aA][wW])$/) {&lt;br /&gt;
            $filename = $1;&lt;br /&gt;
            $ext = lc($2);&lt;br /&gt;
            $rawname = $workdir.&amp;quot;\\&amp;quot;.$filename;&lt;br /&gt;
            $files++;&lt;br /&gt;
            print &amp;quot;\n----- Processing $filename.$ext -----&amp;quot;;&lt;br /&gt;
            &amp;amp;Convert($rawname,$ext,$filename);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
sub Convert {&lt;br /&gt;
    my ($rawname, $ext, $filename) = @_;&lt;br /&gt;
    my @imageXY = split('x',`identify -format &amp;quot;%wx%h&amp;quot; &amp;quot;$rawname.$ext&amp;quot;`); &lt;br /&gt;
    my $imageX = pop(@imageXY);&lt;br /&gt;
    my $imageY = pop(@imageXY);&lt;br /&gt;
    my $optX;&lt;br /&gt;
    my $optY;&lt;br /&gt;
    my $ar;&lt;br /&gt;
    my $optar;&lt;br /&gt;
&lt;br /&gt;
    #landscape or square, search for optimal X&lt;br /&gt;
    if (($imageX &amp;gt;= $imageY) &amp;amp;&amp;amp; ($imageX != 0)) {&lt;br /&gt;
        $ar = sprintf(&amp;quot;%.4f&amp;quot;,$imageY / $imageX);&lt;br /&gt;
        $optar =  &amp;amp;supportedAR($ar);&lt;br /&gt;
        $optX = &amp;amp;supportedXY($imageX);&lt;br /&gt;
        $optY = $optX * $optar;&lt;br /&gt;
        #both aspectratio and resolution are correct&lt;br /&gt;
        if(($imageX!=$optRes) || ($ar!=$optar)) {&lt;br /&gt;
            print &amp;quot;\nResizing ($imageX\xx$imageY =&amp;gt; $optY\xx$optX)... &amp;quot;;&lt;br /&gt;
            system(&amp;quot;imconvert -resize ${optX}x${optY}! \&amp;quot;$rawname.$ext\&amp;quot; \&amp;quot;$rawname.$ext\&amp;quot;&amp;quot;);&lt;br /&gt;
            print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    #portrait, search for optimal Y&lt;br /&gt;
    elsif($imageY != 0) {&lt;br /&gt;
        $ar = sprintf(&amp;quot;%.4f&amp;quot;,$imageX / $imageY);&lt;br /&gt;
        $optar =  &amp;amp;supportedAR($ar);&lt;br /&gt;
        $optY = &amp;amp;supportedXY($imageY);&lt;br /&gt;
        $optX = $optY * $optar;&lt;br /&gt;
        #Needs conversion&lt;br /&gt;
        if(($imageY!=$optRes) || ($ar!=$optar)) {&lt;br /&gt;
            print &amp;quot;\nResizing ($imageX\xx$imageY =&amp;gt; $optX\xx$optY)... &amp;quot;;&lt;br /&gt;
            system(&amp;quot;imconvert -resize ${optX}x${optY}! \&amp;quot;$rawname.$ext\&amp;quot; \&amp;quot;$rawname.$ext\&amp;quot;&amp;quot;);&lt;br /&gt;
            print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if ($ext =~ /^(?:[jJ][pP][eE]?[gG])$/) {&lt;br /&gt;
        print &amp;quot;\nConverting $ext to valid openjpeg (tga) format to handle... &amp;quot;;&lt;br /&gt;
        system(&amp;quot;imconvert -format tga \&amp;quot;$rawname.$ext\&amp;quot; \&amp;quot;$rawname.tga\&amp;quot;&amp;quot;);&lt;br /&gt;
        print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
        if($delete==1) {&lt;br /&gt;
            print &amp;quot;\nDeleting old file... &amp;quot;;&lt;br /&gt;
            system(&amp;quot;del \&amp;quot;$rawname.$ext\&amp;quot;&amp;quot;);&lt;br /&gt;
            print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
            $delete=3;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            $delete=2;&lt;br /&gt;
        }&lt;br /&gt;
        $ext=&amp;quot;tga&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    print &amp;quot;\nCreating .j2k (jpeg2000) file... &amp;quot;;&lt;br /&gt;
    system(&amp;quot;image_to_j2k -i \&amp;quot;$rawname.$ext\&amp;quot; -o \&amp;quot;$rawname.j2k\&amp;quot; -r 20,10,1&amp;quot;);&lt;br /&gt;
    print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    print &amp;quot;\nRenaming .j2k file to .jp2... &amp;quot;;&lt;br /&gt;
    # We cannot rename if there is already such an file, so find the file-number that CAN be named to&lt;br /&gt;
    if(-e &amp;quot;$rawname.jp2&amp;quot;) {&lt;br /&gt;
        $num = 1;&lt;br /&gt;
        while(-e &amp;quot;$rawname $num.jp2&amp;quot;) {&lt;br /&gt;
            $num++;&lt;br /&gt;
        }&lt;br /&gt;
        system(&amp;quot;rename \&amp;quot;$rawname.j2k\&amp;quot; \&amp;quot;$filename $num.jp2\&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    if($delete&amp;gt;0) {&lt;br /&gt;
        if($delete&amp;gt;1) {&lt;br /&gt;
            print &amp;quot;Deleting temporary .tga file... &amp;quot;;&lt;br /&gt;
            system(&amp;quot;del \&amp;quot;$rawname.$ext\&amp;quot;&amp;quot;);&lt;br /&gt;
            print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
            if($delete==3) {&lt;br /&gt;
                $delete=1;&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
                $delete=0;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            print &amp;quot;Deleting old file... &amp;quot;;&lt;br /&gt;
            system(&amp;quot;del \&amp;quot;$rawname.$ext\&amp;quot;&amp;quot;);&lt;br /&gt;
            print &amp;quot;Done\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    print &amp;quot;--------------------------------\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
sub supportedAR {&lt;br /&gt;
    my ($ar) = @_;&lt;br /&gt;
    my @arReference=(1.0,0.5,0.25,0.125,0.0625);&lt;br /&gt;
    my $arOptimal;&lt;br /&gt;
    my $arDivTemp=1.0;&lt;br /&gt;
    my $arDiv;&lt;br /&gt;
    #Get optimal aspect ratio&lt;br /&gt;
    foreach (@arReference) {&lt;br /&gt;
        $arDiv=abs($ar-$_);&lt;br /&gt;
        if($arDiv &amp;lt; $arDivTemp) {&lt;br /&gt;
            $arDivTemp=$arDiv;&lt;br /&gt;
            $arOptimal=$_;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return $arOptimal;&lt;br /&gt;
} &lt;br /&gt;
sub supportedXY {&lt;br /&gt;
    my ($res) = @_;&lt;br /&gt;
    my @resReference=(64.0,128.0,256.0,512.0,1024.0);&lt;br /&gt;
    my $resOptimal;&lt;br /&gt;
    my $resDivTemp=4096.0;&lt;br /&gt;
    my $resDiv;&lt;br /&gt;
    #Get optimal axis resolution&lt;br /&gt;
    foreach (@resReference) {&lt;br /&gt;
        $resDiv=abs($res-$_);&lt;br /&gt;
        if($resDiv &amp;lt; $resDivTemp) {&lt;br /&gt;
            $resDivTemp=$resDiv;&lt;br /&gt;
            $resOptimal=$_;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return $resOptimal;&lt;br /&gt;
} &lt;br /&gt;
if (@ARGV&amp;gt;1) {&lt;br /&gt;
    if((@ARGV[0] eq &amp;quot;/D&amp;quot;) || (@ARGV[0] eq &amp;quot;/d&amp;quot;)) {&lt;br /&gt;
        print &amp;quot;Processing &amp;quot;.@ARGV[1].&amp;quot;... (deleting old files) \n\n&amp;quot;;&lt;br /&gt;
        $delete = 1;&lt;br /&gt;
        &amp;amp;Scan(@ARGV[1]);&lt;br /&gt;
    }&lt;br /&gt;
    elsif((@ARGV[1] eq &amp;quot;/D&amp;quot;) || (@ARGV[1] eq &amp;quot;/d&amp;quot;)) {&lt;br /&gt;
        print &amp;quot;Processing &amp;quot;.@ARGV[0].&amp;quot;... (deleting old files) \n\n&amp;quot;;&lt;br /&gt;
        $delete = 1;&lt;br /&gt;
        &amp;amp;Scan(@ARGV[0]);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        print &amp;quot;Syntax error\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;Provide just one directory argument, optionally with a /D argument...\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
elsif (@ARGV&amp;gt;0) {&lt;br /&gt;
    if((@ARGV[0] eq &amp;quot;help&amp;quot;) || (@ARGV[0] eq &amp;quot;?&amp;quot;)) {&lt;br /&gt;
        print &amp;quot;\nBatch convert images to opensim-compatible .jp2 files\nWorks for: .jpg/.jpeg, .bmp, .tga, .tif/.tiff or .raw files\n\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;perl jp2batch.pl [/D] [station:][path]dir\n\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  dir       Directory (and sub-directories) to search for image files.\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  -D        If provided, old files will be deleted.\n\n\n\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;Dependencies, these executables should be available in the PATH or directory of the script.\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  ImageMagick library functions: (note that I renamed one executable)\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  Available at http://www.imagemagick.org/\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;    imconvert.exe       originaly named convert.exe, but renamed due to a Windows batch-command conflict.\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;    identify.exe\n\n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  OpenJpeg2000 library's J2K Codec: \n\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  Available at http://www.openjpeg.org/\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;    image_to_j2k.exe\n\n\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    elsif((@ARGV[1] eq &amp;quot;/D&amp;quot;) || (@ARGV[1] eq &amp;quot;/d&amp;quot;)) {&lt;br /&gt;
        print &amp;quot;Syntax error\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;You must provide a directory to process, optionally with a /D argument...\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        print &amp;quot;Processing &amp;quot;.@ARGV[0].&amp;quot;...\n\n&amp;quot;;&lt;br /&gt;
        $delete = 0;&lt;br /&gt;
        &amp;amp;Scan(@ARGV[0]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
    print &amp;quot;Syntax error\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;Provide a directory to process, optionally with '/D' argument...\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
Ofcourse almost all credit goes to the original author of this script. I just adjusted a few commands to make it work on Windows systems.&lt;br /&gt;
[http://saranasukses.com/outsourcing-indonesia.html Outsourcing Indonesia]&lt;/div&gt;</summary>
		<author><name>Tonyguards</name></author>	</entry>

	</feed>