<?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/index.php?action=history&amp;feed=atom&amp;title=User%3AFly-man-%2FWebbased_Regions</id>
		<title>User:Fly-man-/Webbased Regions - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=User%3AFly-man-%2FWebbased_Regions"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Fly-man-/Webbased_Regions&amp;action=history"/>
		<updated>2026-04-17T19:12:47Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Fly-man-/Webbased_Regions&amp;diff=10845&amp;oldid=prev</id>
		<title>Fly-man-: New page: '''How to create a region server that uses the Web to get his regions:''' ----  1: Create a database called regionxml  &lt;pre&gt;CREATE DATABASE regionxml&lt;/pre&gt;  2: Create 2 tables that hold al...</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Fly-man-/Webbased_Regions&amp;diff=10845&amp;oldid=prev"/>
				<updated>2009-02-15T17:46:57Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &amp;#039;&amp;#039;&amp;#039;How to create a region server that uses the Web to get his regions:&amp;#039;&amp;#039;&amp;#039; ----  1: Create a database called regionxml  &amp;lt;pre&amp;gt;CREATE DATABASE regionxml&amp;lt;/pre&amp;gt;  2: Create 2 tables that hold al...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''How to create a region server that uses the Web to get his regions:'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1: Create a database called regionxml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE DATABASE regionxml&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Create 2 tables that hold all the information for the regionserver and regions themselves&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE TABLE regionservers (&lt;br /&gt;
  `IP` varchar(20) NOT NULL,&lt;br /&gt;
  `ServerID` int(1) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`IP`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `xmlregions` (&lt;br /&gt;
  `sim_UUID` varchar(50) NOT NULL,&lt;br /&gt;
  `sim_name` varchar(255) NOT NULL,&lt;br /&gt;
  `sim_location_x` int(6) NOT NULL,&lt;br /&gt;
  `sim_location_y` int(6) NOT NULL,&lt;br /&gt;
  `internal_ip_address` varchar(20) NOT NULL default '0.0.0.0',&lt;br /&gt;
  `regionserver` int(1) NOT NULL,&lt;br /&gt;
  `master_avatar_uuid` varchar(50) NOT NULL default '00000000-0000-0000-0000-000000000000',&lt;br /&gt;
  `master_avatar_first` varchar(255) NOT NULL,&lt;br /&gt;
  `master_avatar_last` varchar(255) NOT NULL,&lt;br /&gt;
  `master_avatar_pass` varchar(255) NOT NULL,&lt;br /&gt;
  `lastmap_uuid` varchar(50) NOT NULL,&lt;br /&gt;
  `lastmap_refresh` int(11) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`sim_UUID`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3: Fill in your region server and give them a number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT INTO `regionservers` VALUES ('&amp;lt;IP&amp;gt;', &amp;lt;number&amp;gt;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Fill the xmlregion table with the region info you need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT INTO `xmlregions` VALUES ('&amp;lt;UUID&amp;gt;', '&amp;lt;region name&amp;gt;', &amp;lt;X&amp;gt;, &amp;lt;Y&amp;gt;, '0.0.0.0', &amp;lt;regionserver&amp;gt;, '00000000-0000-0000-0000-000000000000', &lt;br /&gt;
'&amp;lt;master_first&amp;gt;', '&amp;lt;master_last&amp;gt;', '&amp;lt;master_password&amp;gt;', '', 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Use these settings in your OpenSim.ini to get the region to poll the Grid server for regions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; Determine where OpenSimulator looks for the files which tell it which regions to server&lt;br /&gt;
; Defaults to &amp;quot;filesystem&amp;quot; if this setting isn't present&lt;br /&gt;
; region_info_source = &amp;quot;filesystem&amp;quot;&lt;br /&gt;
region_info_source = &amp;quot;web&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Determines where the region XML files are stored if you are loading these from the filesystem.  &lt;br /&gt;
; Defaults to bin/Regions in your OpenSimulator installation directory&lt;br /&gt;
; regionload_regionsdir=&amp;quot;C:\somewhere\xmlfiles\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Determines the page from which regions xml is retrieved if you are loading these from the web&lt;br /&gt;
; The XML here has the same format as it does on the filesystem (including the &amp;lt;Root&amp;gt; tag), &lt;br /&gt;
; except that everything is also enclosed in a &amp;lt;Regions&amp;gt; tag.&lt;br /&gt;
regionload_webserver_url = &amp;quot;http://grid/opensim/regions.php&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The region.php file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
include(&amp;quot;database.inc.php&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Setup the database connection&lt;br /&gt;
mysql_connect($host,$username,$password);&lt;br /&gt;
mysql_select_db($database);&lt;br /&gt;
&lt;br /&gt;
// Getting the region server credits&lt;br /&gt;
$external = ($_SERVER['HTTP_X_FORWARDED_FOR']) ?  $_SERVER['HTTP_X_FORWARDED_FOR'] :  $_SERVER['REMOTE_ADDR'];&lt;br /&gt;
&lt;br /&gt;
$requestregion = &amp;quot;SELECT ServerID from regionservers where IP = '$external'&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$trapregion = mysql_query($requestregion);&lt;br /&gt;
&lt;br /&gt;
while ($regions = mysql_fetch_row($trapregion))&lt;br /&gt;
{&lt;br /&gt;
 $region = $regions[0];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Getting all region info for the calling server&lt;br /&gt;
$sql = &amp;quot;SELECT sim_UUID,sim_name,sim_location_x,sim_location_y,master_avatar_uuid,&lt;br /&gt;
        master_avatar_first,master_avatar_last,master_avatar_pass,&lt;br /&gt;
        lastmap_uuid,lastmap_refresh FROM&lt;br /&gt;
        $table WHERE regionserver = $region&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$result = mysql_query($sql);&lt;br /&gt;
&lt;br /&gt;
// Set the Start for the XML&lt;br /&gt;
echo &amp;quot;&amp;lt;Regions&amp;gt;\r\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Additional port info set here&lt;br /&gt;
$port = 9000;&lt;br /&gt;
&lt;br /&gt;
// Fill the XML with the region from the database&lt;br /&gt;
while ($row = mysql_fetch_row($result))&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;&amp;lt;Root&amp;gt;\r\n&amp;quot;;&lt;br /&gt;
    echo '&amp;lt;Config sim_UUID=&amp;quot;'.$row[0].'&amp;quot; sim_name=&amp;quot;'.$row[1].'&amp;quot; sim_location_x=&amp;quot;'.$row[2].'&amp;quot; sim_location_y=&amp;quot;'.$row[3].'&amp;quot; internal_ip_address=&amp;quot;0.0.0.0&amp;quot; internal_ip_port=&amp;quot;'.$port.'&amp;quot; external_host_name=&amp;quot;'.$external.'&amp;quot; master_avatar_uuid=&amp;quot;'.$row[4].'&amp;quot; master_avatar_first=&amp;quot;'.$row[5].'&amp;quot; master_avatar_last=&amp;quot;'.$row[6].'&amp;quot; master_avatar_pass=&amp;quot;'.$row[7].'&amp;quot;/&amp;gt;';&lt;br /&gt;
    echo &amp;quot;\r\n&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;lt;/Root&amp;gt;\r\n&amp;quot;;&lt;br /&gt;
    $port = $port + 1;&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;/Regions&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fly-man-</name></author>	</entry>

	</feed>