<?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=Dale+Mahalko</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=Dale+Mahalko"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Dale_Mahalko"/>
		<updated>2026-05-26T19:40:09Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/Physics</id>
		<title>Physics</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Physics"/>
				<updated>2010-04-04T09:37:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: what collision geometry is, how modern game engines make use of it, and how Second Life doesn't. OpenSim could allow it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, Open Simulator uses an extremely simple physics engine which only allows you to stand on the ground. All objects using the basic physics engine appear to be phantom, and the only way to make them act as solids is to use some other more sophisticated physics engine, such as the [[Open Dynamics Engine]].&lt;br /&gt;
&lt;br /&gt;
Note that physics processing is one of the biggest sources of region simulator lag. If you use a better engine to make objects appear to be solid, you will most likely want to isolate the region simulator and physics engine on its own physical hardware so that lag in the physics engine does not also slow down your asset and inventory servers.&lt;br /&gt;
&lt;br /&gt;
== The role of the physics engine ==&lt;br /&gt;
One of the primary functions of the simulator is to provide an experience that approximates real life. This typically requires making the objects in the 3D world appear to be solid and ''real''.&lt;br /&gt;
&lt;br /&gt;
As far as the simulator database engine is concerned, it simply knows the positions of objects in the simulated 3D space and knows the references to textures for each surface of the objects. The database engine does not know anything about gravity, pushes, or collisions.&lt;br /&gt;
&lt;br /&gt;
It is technically possible to connect to a simulator without a physics engine, but the avatars would appear to float in space without gravity and can pass through any object including other avatars, and move in any direction to the coordinate limits of the simulated space.&lt;br /&gt;
&lt;br /&gt;
The primary task of the physics engine is to move objects affected by forces and to resolve collisions. Collisions occur when two physical objects collide or are simply touching each other.&lt;br /&gt;
&lt;br /&gt;
Most objects in the simulator are pinned in space and do not move. They do not normally require any physics processing time.  However, when a physical moving object collides with a pinned object, the pinned object is temporarily treated as if it were physical and collisions are calculated against it. Since it cannot move, the only resolving forces are applied to the movable object.&lt;br /&gt;
&lt;br /&gt;
In certain unresolvable situations (described below) a physical moving object causing continuous high simulator load may be defensively changed by the simulator into a nonphysical or phantom object, so that the simulator does not become stuck in a continuous high-load state.&lt;br /&gt;
&lt;br /&gt;
== Gravity and the ground ==&lt;br /&gt;
&lt;br /&gt;
The single biggest force in the simulator is gravity, which causes physical objects to move downward (Z axis in the 3D coordinate system), typically following Earth-based experience of accelerating to a terminal falling velocity of 9.81 meters per second.&lt;br /&gt;
&lt;br /&gt;
There is also a deformable plane surface in each sim which is the lowest point any object can descend. We call this the ground or the ''surface patch''. If the ground did not exist, physical objects in the simulator would simply fall to the lowest possible Z axis coordinate value of zero and simply stop, apparantly suspended above/in nothingness. This is outside our normal experience so we have the ground in the simulator to make the simulated world seem more like real life.&lt;br /&gt;
&lt;br /&gt;
When objects affected by gravity collide with the ground in the simulator, the physics engine resolves the collision by pushing back on the colliding object, causing it to rise up out of the ground against the force of gravity. If the forces are treated as springs, and the object is elastic while the ground is hard and resilient, the simulator can apply an opposite upward force equal to the downward force to cause a fast moving object to &amp;quot;bounce&amp;quot; upward again.&lt;br /&gt;
&lt;br /&gt;
As mentioned above, the default basic physics engine included with Open Simulator only resolves collisions with the ground, and makes no attempt to make object primitives appear to be solid. As a result, a basic install of Open Simulator will tend to have a mostly flat world layout following the ground surface because that is the only place where people can walk around in a realistic looking manner. Walking around in the second floor of a house made from primitives suspended in midair above the ground for example is not possible.&lt;br /&gt;
&lt;br /&gt;
== Holes, gaps, and simulator lag ==&lt;br /&gt;
The most basic form of collision resolving involves two objects which are overlapping, due to forces having caused them to move towards each other in previous calculation phases. Once the objects are overlapping, the goal of the physics engine is to apply forces so that the objects move in such a manner that they no longer overlap.&lt;br /&gt;
&lt;br /&gt;
For two simple solid objects this involves merely pushing the objects apart so that they are further away from each other.&lt;br /&gt;
&lt;br /&gt;
But the collision resolving task is much harder if there are holes in one object or the other. Rather than merely pushing the objects apart, the ideal goal would be to push the objects towards the open spaces within each other. This is where the math becomes incredibly difficult for complex or ''tortured'' primitives, and even for certain simple objects such as hollow spheres.&lt;br /&gt;
&lt;br /&gt;
Due to the linking of objects in a simulator, and linked sets of objects being allowed to become physical, even simple linked objects made from non-hollow primitives may combine to form 3D shapes that contain holes and interior spaces that are difficult or impossible for the physics engine to resolve. &lt;br /&gt;
&lt;br /&gt;
In the past, the early Second Life simulators using the Havok 1.0 physics engine were often attacked by lag-causing objects with collisions that could not be resolved. A large number of these objects would cause a simulator to drag to a standstill.&lt;br /&gt;
&lt;br /&gt;
The upgraded Havok 4.0 engine in Second Life will attempt to work with holes in objects at first, but if the collisions can not be resolved in a reasonably short amount of time, the engine will revert to treating the objects as solid and cause the objects to separate until they do not touch. The Havok 4.0 engine goes further if that does not work, and will render one or more objects phantom to stop the objects from causing further unresolvable physics engine lag.&lt;br /&gt;
&lt;br /&gt;
Free open source engines may not provide the same collision resolving features as the commercial Havok engine.&lt;br /&gt;
&lt;br /&gt;
== Collision geometry ==&lt;br /&gt;
In most modern game engines, physical objects are often constructed from two very different shapes. There is the visible shape of an object which may be very complex and detailed. And there is a second invisible shape that is often very simple, used by the physics engine to calculate collisions. This allows the physics engine to conserve processing power while still making the 3D environment appear complex and detailed.&lt;br /&gt;
&lt;br /&gt;
Second Life in its current form does not allow content creators to make use of collision geometry separate from primitives. Instead the exact shape of the primitive or linkset is always its collision geometry, which leads to unnecessary complexity in the physics processing.&lt;br /&gt;
&lt;br /&gt;
Open Simulator tends to follow the standards originally set by Second Life. While Open Simulator could allow for the use of separate simple collision geometry for complex objects, it would do so against the standards of Second Life, and the collision geometry would not be usable when an avatar and its objects move directly from an Open Simulator grid to the Second Life grid.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Physics</id>
		<title>Physics</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Physics"/>
				<updated>2010-04-04T09:20:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: the problem of holes, gaps, slots, tortured prims, and linksets in causing physics engine lag and dragging sims to a standstill&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, Open Simulator uses an extremely simple physics engine which only allows you to stand on the ground. All objects using the basic physics engine appear to be phantom, and the only way to make them act as solids is to use some other more sophisticated physics engine, such as the [[Open Dynamics Engine]].&lt;br /&gt;
&lt;br /&gt;
Note that physics processing is one of the biggest sources of region simulator lag. If you use a better engine to make objects appear to be solid, you will most likely want to isolate the region simulator and physics engine on its own physical hardware so that lag in the physics engine does not also slow down your asset and inventory servers.&lt;br /&gt;
&lt;br /&gt;
== The role of the physics engine ==&lt;br /&gt;
One of the primary functions of the simulator is to provide an experience that approximates real life. This typically requires making the objects in the 3D world appear to be solid and ''real''.&lt;br /&gt;
&lt;br /&gt;
As far as the simulator database engine is concerned, it simply knows the positions of objects in the simulated 3D space and knows the references to textures for each surface of the objects. The database engine does not know anything about gravity, pushes, or collisions.&lt;br /&gt;
&lt;br /&gt;
It is technically possible to connect to a simulator without a physics engine, but the avatars would appear to float in space without gravity and can pass through any object including other avatars, and move in any direction to the coordinate limits of the simulated space.&lt;br /&gt;
&lt;br /&gt;
The primary task of the physics engine is to move objects affected by forces and to resolve collisions. Collisions occur when two physical objects collide or are simply touching each other.&lt;br /&gt;
&lt;br /&gt;
Most objects in the simulator are pinned in space and do not move. They do not normally require any physics processing time.  However, when a physical moving object collides with a pinned object, the pinned object is temporarily treated as if it were physical and collisions are calculated against it. Since it cannot move, the only resolving forces are applied to the movable object.&lt;br /&gt;
&lt;br /&gt;
In certain unresolvable situations (described below) a physical moving object causing continuous high simulator load may be defensively changed by the simulator into a nonphysical or phantom object, so that the simulator does not become stuck in a continuous high-load state.&lt;br /&gt;
&lt;br /&gt;
== Gravity and the ground ==&lt;br /&gt;
&lt;br /&gt;
The single biggest force in the simulator is gravity, which causes physical objects to move downward (Z axis in the 3D coordinate system), typically following Earth-based experience of accelerating to a terminal falling velocity of 9.81 meters per second.&lt;br /&gt;
&lt;br /&gt;
There is also a deformable plane surface in each sim which is the lowest point any object can descend. We call this the ground or the ''surface patch''. If the ground did not exist, physical objects in the simulator would simply fall to the lowest possible Z axis coordinate value of zero and simply stop, apparantly suspended above/in nothingness. This is outside our normal experience so we have the ground in the simulator to make the simulated world seem more like real life.&lt;br /&gt;
&lt;br /&gt;
When objects affected by gravity collide with the ground in the simulator, the physics engine resolves the collision by pushing back on the colliding object, causing it to rise up out of the ground against the force of gravity. If the forces are treated as springs, and the object is elastic while the ground is hard and resilient, the simulator can apply an opposite upward force equal to the downward force to cause a fast moving object to &amp;quot;bounce&amp;quot; upward again.&lt;br /&gt;
&lt;br /&gt;
As mentioned above, the default basic physics engine included with Open Simulator only resolves collisions with the ground, and makes no attempt to make object primitives appear to be solid. As a result, a basic install of Open Simulator will tend to have a mostly flat world layout following the ground surface because that is the only place where people can walk around in a realistic looking manner. Walking around in the second floor of a house made from primitives suspended in midair above the ground for example is not possible.&lt;br /&gt;
&lt;br /&gt;
== Holes, gaps, and simulator lag ==&lt;br /&gt;
The most basic form of collision resolving involves two objects which are overlapping, due to forces having caused them to move towards each other in previous calculation phases. Once the objects are overlapping, the goal of the physics engine is to apply forces so that the objects move in such a manner that they no longer overlap.&lt;br /&gt;
&lt;br /&gt;
For two simple solid objects this involves merely pushing the objects apart so that they are further away from each other.&lt;br /&gt;
&lt;br /&gt;
But the collision resolving task is much harder if there are holes in one object or the other. Rather than merely pushing the objects apart, the ideal goal would be to push the objects towards the open spaces within each other. This is where the math becomes incredibly difficult for complex or ''tortured'' primitives, and even for certain simple objects such as hollow spheres.&lt;br /&gt;
&lt;br /&gt;
Due to the linking of objects in a simulator, and linked sets of objects being allowed to become physical, even simple linked objects made from non-hollow primitives may combine to form 3D shapes that contain holes and interior spaces that are difficult or impossible for the physics engine to resolve. &lt;br /&gt;
&lt;br /&gt;
In the past, the early Second Life simulators using the Havok 1.0 physics engine were often attacked by lag-causing objects with collisions that could not be resolved. A large number of these objects would cause a simulator to drag to a standstill.&lt;br /&gt;
&lt;br /&gt;
The upgraded Havok 4.0 engine in Second Life will attempt to work with holes in objects at first, but if the collisions can not be resolved in a reasonably short amount of time, the engine will revert to treating the objects as solid and cause the objects to separate until they do not touch. The Havok 4.0 engine goes further if that does not work, and will render one or more objects phantom to stop the objects from causing further unresolvable physics engine lag.&lt;br /&gt;
&lt;br /&gt;
Free open source engines may not provide the same collision resolving features as the commercial Havok engine.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Physics</id>
		<title>Physics</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Physics"/>
				<updated>2010-04-04T08:50:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: more about how collisions work. objects causing continuous high resolver load can be defensively turned phantom by some physics engines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, Open Simulator uses an extremely simple physics engine which only allows you to stand on the ground. All objects using the basic physics engine appear to be phantom, and the only way to make them act as solids is to use some other more sophisticated physics engine, such as the [[Open Dynamics Engine]].&lt;br /&gt;
&lt;br /&gt;
Note that physics processing is one of the biggest sources of region simulator lag. If you use a better engine to make objects appear to be solid, you will most likely want to isolate the region simulator and physics engine on its own physical hardware so that lag in the physics engine does not also slow down your asset and inventory servers.&lt;br /&gt;
&lt;br /&gt;
== The role of the physics engine ==&lt;br /&gt;
One of the primary functions of the simulator is to provide an experience that approximates real life. This typically requires making the objects in the 3D world appear to be solid and ''real''.&lt;br /&gt;
&lt;br /&gt;
As far as the simulator database engine is concerned, it simply knows the positions of objects in the simulated 3D space and knows the references to textures for each surface of the objects. The database engine does not know anything about gravity, pushes, or collisions.&lt;br /&gt;
&lt;br /&gt;
It is technically possible to connect to a simulator without a physics engine, but the avatars would appear to float in space without gravity and can pass through any object including other avatars, and move in any direction to the coordinate limits of the simulated space.&lt;br /&gt;
&lt;br /&gt;
The primary task of the physics engine is to move objects affected by forces and to resolve collisions. Collisions occur when two physical objects collide or are simply touching each other.&lt;br /&gt;
&lt;br /&gt;
Most objects in the simulator are pinned in space and do not move. They do not normally require any physics processing time.  However, when a physical moving object collides with a pinned object, the pinned object is temporarily treated as if it were physical and collisions are calculated against it. Since it cannot move, the only resolving forces are applied to the movable object.&lt;br /&gt;
&lt;br /&gt;
In certain unresolvable situations (described below) a physical moving object causing continuous high simulator load may be defensively changed by the simulator into a nonphysical or phantom object, so that the simulator does not become stuck in a continuous high-load state.&lt;br /&gt;
&lt;br /&gt;
== Gravity and the ground ==&lt;br /&gt;
&lt;br /&gt;
The single biggest force in the simulator is gravity, which causes physical objects to move downward (Z axis in the 3D coordinate system), typically following Earth-based experience of accelerating to a terminal falling velocity of 9.81 meters per second.&lt;br /&gt;
&lt;br /&gt;
There is also a deformable plane surface in each sim which is the lowest point any object can descend. We call this the ground or the ''surface patch''. If the ground did not exist, physical objects in the simulator would simply fall to the lowest possible Z axis coordinate value of zero and simply stop, apparantly suspended above/in nothingness. This is outside our normal experience so we have the ground in the simulator to make the simulated world seem more like real life.&lt;br /&gt;
&lt;br /&gt;
When objects affected by gravity collide with the ground in the simulator, the physics engine resolves the collision by pushing back on the colliding object, causing it to rise up out of the ground against the force of gravity. If the forces are treated as springs, and the object is elastic while the ground is hard and resilient, the simulator can apply an opposite upward force equal to the downward force to cause a fast moving object to &amp;quot;bounce&amp;quot; upward again.&lt;br /&gt;
&lt;br /&gt;
As mentioned above, the default basic physics engine included with Open Simulator only resolves collisions with the ground, and makes no attempt to make object primitives appear to be solid. As a result, a basic install of Open Simulator will tend to have a mostly flat world layout following the ground surface because that is the only place where people can walk around in a realistic looking manner. Walking around in the second floor of a house made from primitives suspended in midair above the ground for example is not possible.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Physics</id>
		<title>Physics</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Physics"/>
				<updated>2010-04-04T08:34:08Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: Flesh out this important but empty article: OpenSim resolves against the ground only by default. Role of physics engine vs simulator db engine. Importance of gravity and the surface patch in realism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, Open Simulator uses an extremely simple physics engine which only allows you to stand on the ground. All objects using the basic physics engine appear to be phantom, and the only way to make them act as solids is to use some other more sophisticated physics engine, such as the [[Open Dynamics Engine]].&lt;br /&gt;
&lt;br /&gt;
Note that physics processing is one of the biggest sources of region simulator lag. If you use a better engine to make objects appear to be solid, you will most likely want to isolate the region simulator and physics engine on its own physical hardware so that lag in the physics engine does not also slow down your asset and inventory servers.&lt;br /&gt;
&lt;br /&gt;
== The role of the physics engine ==&lt;br /&gt;
One of the primary functions of the simulator is to provide an experience that approximates real life. This typically requires making the objects in the 3D world appear to be solid and ''real''.&lt;br /&gt;
&lt;br /&gt;
As far as the simulator database engine is concerned, it simply knows the positions of objects in the simulated 3D space and knows the references to textures for each surface of the objects. The database engine does not know anything about gravity, pushes, or collisions.&lt;br /&gt;
&lt;br /&gt;
It is technically possible to connect to a simulator without a physics engine, but the avatars would appear to float in space without gravity and can pass through any object including other avatars, and move in any direction to the coordinate limits of the simulated space.&lt;br /&gt;
&lt;br /&gt;
== Gravity and the ground ==&lt;br /&gt;
The primary task of the physics engine is to move objects affected by forces and to resolve collisions. Collisions occur when two physical objects collide or are simply touching each other.&lt;br /&gt;
&lt;br /&gt;
The single biggest force in the simulator is gravity, which causes physical objects to move downward (Z axis in the 3D coordinate system), typically following Earth-based experience of accelerating to a terminal falling velocity of 9.81 meters per second.&lt;br /&gt;
&lt;br /&gt;
There is also a deformable plane surface in each sim which is the lowest point any object can descend. We call this the ground or the ''surface patch''. If the ground did not exist, physical objects in the simulator would simply fall to the lowest possible Z axis coordinate value of zero and simply stop, apparantly suspended above/in nothingness. This is outside our normal experience so we have the ground in the simulator to make the simulated world seem more like real life.&lt;br /&gt;
&lt;br /&gt;
When objects affected by gravity collide with the ground in the simulator, the physics engine resolves the collision by pushing back on the colliding object, causing it to rise up out of the ground against the force of gravity. If the forces are treated as springs, and the object is elastic while the ground is hard and resilient, the simulator can apply an opposite upward force equal to the downward force to cause a fast moving object to &amp;quot;bounce&amp;quot; upward again.&lt;br /&gt;
&lt;br /&gt;
As mentioned above, the default basic physics engine included with Open Simulator only resolves collisions with the ground, and makes no attempt to make object primitives appear to be solid. As a result, a basic install of Open Simulator will tend to have a mostly flat world layout following the ground surface because that is the only place where people can walk around in a realistic looking manner. Walking around in the second floor of a house made from primitives suspended in midair above the ground for example is not possible.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T06:08:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script */ error formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run&lt;br /&gt;
 runprebuild.bat&lt;br /&gt;
* on Linux/Mac/FreeBSD, run &lt;br /&gt;
 runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
: at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
: at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
:at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
And on the console :&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
:at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver, OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Primitive: Error compiling script:&amp;lt;br&amp;gt;&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
:&amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
:/r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot;&lt;br /&gt;
:/r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
:&amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T06:03:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script */ reformat error messages to fit on page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run&lt;br /&gt;
 runprebuild.bat&lt;br /&gt;
* on Linux/Mac/FreeBSD, run &lt;br /&gt;
 runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
: at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
: at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
:at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
And on the console :&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
:at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver, OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
:at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&amp;lt;br&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:54:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion */  ditto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run&lt;br /&gt;
 runprebuild.bat&lt;br /&gt;
* on Linux/Mac/FreeBSD, run &lt;br /&gt;
 runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
: at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
: at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
:at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
:at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:52:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so */ reformat error message so it doesn't run off right side of page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run&lt;br /&gt;
 runprebuild.bat&lt;br /&gt;
* on Linux/Mac/FreeBSD, run &lt;br /&gt;
 runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
: at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
: at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
:at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:49:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* I can't find any build files or solution files */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run&lt;br /&gt;
 runprebuild.bat&lt;br /&gt;
* on Linux/Mac/FreeBSD, run &lt;br /&gt;
 runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
 Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
 at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:47:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Networking and config issues */ page doesn't exist, link instead to Running. Fix page formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
&lt;br /&gt;
See also the wiki page:&lt;br /&gt;
* [[Running]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
# Try '''0.0.0.0''' for the internal_ip_address in your region.xml(default.xml) file.&amp;lt;br&amp;gt;(you'll have one of these files for each region you have created)&lt;br /&gt;
# '''external_host_name=&amp;quot;127.0.0.1&amp;quot;''' will need to be changed to the accessable DNS name such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run &amp;lt;tt&amp;gt;runprebuild.bat&amp;lt;/tt&amp;gt; - on Linux/Mac/FreeBSD, run &amp;lt;tt&amp;gt;runprebuild.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
 Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
 at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:41:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so */ reformat layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
&lt;br /&gt;
You are probably on a 64-bit linux machine and may need to follow these instructions:&lt;br /&gt;
&lt;br /&gt;
* [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
   [[OpenSim:Running |See Running section]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
    Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
    1) Try 0.0.0.0 for the internal_ip_address in your region.xml(default.xml) file&lt;br /&gt;
         (you'll have one of those files *per* region you've created)&lt;br /&gt;
    2) external_host_name=&amp;quot;127.0.0.1&amp;quot; will need to be changed to the accessable DNS name&lt;br /&gt;
        such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run &amp;lt;tt&amp;gt;runprebuild.bat&amp;lt;/tt&amp;gt; - on Linux/Mac/FreeBSD, run &amp;lt;tt&amp;gt;runprebuild.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
 Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
 at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:37:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Exception and loss of ode physics System.EntryPointNotFoundException: dSpaceLockQuery */ reformat page layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics (System.EntryPointNotFoundException: dSpaceLockQuery) ===&lt;br /&gt;
&lt;br /&gt;
The following error is usually caused by using the wrong version of ''libode'':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
:at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
:at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First try searching your filesystem to see if you have other copies of the ode physics engine:&lt;br /&gt;
 find / -name &amp;quot;libode.so&amp;quot;&lt;br /&gt;
Then make sure you have the latest version.&lt;br /&gt;
&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
  You are on 64bit linux machine and my need to follow these instructions: [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
   [[OpenSim:Running |See Running section]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
    Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
    1) Try 0.0.0.0 for the internal_ip_address in your region.xml(default.xml) file&lt;br /&gt;
         (you'll have one of those files *per* region you've created)&lt;br /&gt;
    2) external_host_name=&amp;quot;127.0.0.1&amp;quot; will need to be changed to the accessable DNS name&lt;br /&gt;
        such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run &amp;lt;tt&amp;gt;runprebuild.bat&amp;lt;/tt&amp;gt; - on Linux/Mac/FreeBSD, run &amp;lt;tt&amp;gt;runprebuild.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
 Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
 at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Troubleshooting</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Troubleshooting"/>
				<updated>2010-04-04T05:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: TOC and page text run together in ugly manner. Inserting {{clear}} after TOC to fix page reflow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This page gives any system-specific configuration settings that may be useful, and advice for problems that might be encountered.&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== System-specific configuration ==&lt;br /&gt;
=== CentOS 5 ===&lt;br /&gt;
&lt;br /&gt;
To install mono and nant, you can use the &amp;quot;Linux Installer for x86&amp;quot; found at http://www.mono-project.com/Downloads.&lt;br /&gt;
&lt;br /&gt;
SVN can be installed by:&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
&lt;br /&gt;
Mono defaults to installing into &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;, so you may have to add this path to your environment variables, for example, in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export PATH=&amp;quot;/opt/mono-1.2.5/bin:$PATH&amp;quot;&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
 export MANPATH=&amp;quot;/opt/mono-1.2.5/share/man:$MANPATH&amp;quot;&lt;br /&gt;
 export LD_LIBRARY_PATH=&amp;quot;/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After changing &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, you should update the dynamic linker cache:&lt;br /&gt;
&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
You may still encounter the &amp;quot;The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.&amp;quot; error listed below.  In that case, this may fix this:&lt;br /&gt;
&lt;br /&gt;
 yum install glib&lt;br /&gt;
&lt;br /&gt;
If you are running a firewall as well (i.e., if &amp;lt;tt&amp;gt;iptables -L&amp;lt;/tt&amp;gt; shows a list of ACCEPT and REJECT rules), you'll have to open the necessary ports if you want to access the sim from other machines.  For standalone mode:&lt;br /&gt;
&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT&lt;br /&gt;
 iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
If you are running Mono 2.2 compiled from source on CentOS 5.2 64bit (not sure if it applies to other scenarios as well), you need to take these steps:&lt;br /&gt;
 sudo yum install libgdiplus&lt;br /&gt;
 sudo yum install libexif&lt;br /&gt;
 sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
That finally enabled me to run OpenSim without errors, and even connect to other grids.&lt;br /&gt;
&lt;br /&gt;
=== Debian 4.0r0 ===&lt;br /&gt;
&lt;br /&gt;
If you set your system to use unstable sources, and then install some packages listed below, everything should just work.  To use unstable sources, modify your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file, replacing 'etch' or 'stable' with 'unstable':&lt;br /&gt;
&lt;br /&gt;
 deb ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
 deb-src ftp://ftp.debian.org/debian/ unstable main&lt;br /&gt;
&lt;br /&gt;
Then update your packages to the new versions:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
This will probably change a large number of packages, and may break things.&lt;br /&gt;
In my experience, however, if you do not use unstable sources then the packages are not up to date enough, and you run into version issues, which lead to two DllNotFoundException errors below appearing in the console output: gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.&lt;br /&gt;
&lt;br /&gt;
Once the sources are updated, we need to install the necessary packages to be able to build OpenSim:&lt;br /&gt;
&lt;br /&gt;
 apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
If any of these packages are missing, you'll probably encounter one of the errors listed below.  However, with these packages, OpenSim should build cleanly.&lt;br /&gt;
&lt;br /&gt;
Please note: If you are using mysql as storage on unstable you may get the following error:-&lt;br /&gt;
&lt;br /&gt;
 Exception: System.NotSupportedException: CodePage 1252 not supported&lt;br /&gt;
  at System.Text.Encoding.GetEncoding (Int32 codePage) [0x00000] &lt;br /&gt;
&lt;br /&gt;
To get it to work, try installing the libmono-i18n2.0-cil package&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-i18n2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
some Mono dependency &amp;amp; latest Mono itself may use &amp;quot;~x86&amp;quot; masked packages (assuming x86 is your platform, change may be made to reflect your ex:&amp;quot;~amd64&amp;quot; for 64bits). You could check for USE parameter with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge -vp subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
Then install with:&lt;br /&gt;
&lt;br /&gt;
 ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge subversion nant mono libgdiplus&lt;br /&gt;
&lt;br /&gt;
N.B: The ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; can be set in Gentoo /etc/make.conf file, but that turn up all the emerges in testing/unstable, using it at the begining of emerge command line use it only for current emerge process&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
This assumes you're using the universal binary for mono from the [http://www.mono-project.com/ Mono Project] site.&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.4, you should also install X11 from the OS X install CDs.&lt;br /&gt;
In OS X 10.5, this is not required.&lt;br /&gt;
&lt;br /&gt;
If you get errors about the 2.0 framework not being supported, you may need to update your &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; path.&lt;br /&gt;
I set this in &amp;lt;tt&amp;gt;~/.bash_profile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 export PKG_CONFIG_PATH=&amp;quot;/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:${PKG_CONFIG_PATH}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Errors and fixes ==&lt;br /&gt;
&lt;br /&gt;
=== Build workarounds due to non-functionality or bugs: ===&lt;br /&gt;
&lt;br /&gt;
==== Disappearing prims due to duplicate UID's ====&lt;br /&gt;
Generally this problem occurs when a save-xml/load-xml file is loaded into the same sim without using the -newUID switch to generate new UUID's for the objects. This switch is documented in the [[Running#General OpenSim server commands|general server commands]] section. (&amp;lt;nowiki&amp;gt;load-xml &amp;lt;filename&amp;gt; -newUID&amp;lt;/nowiki&amp;gt;). But if this does not work, the other way is to shift-copy your build and drag it up into the air.. then delete the one in the air, (which is actually the copy). This will generate new UID's on all your prims.. you can now leave that build, and load your original load-xml file in another region.&lt;br /&gt;
&lt;br /&gt;
==== Linked objects not scaling/editing properly ====&lt;br /&gt;
From Mantis [[http://opensimulator.org/mantis/view.php?id=135 # 135]] and [[http://opensimulator.org/mantis/view.php?id=223 # 223]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
Linked objects: while linking/unlinking objects seems to work fine, the editing of single prims inside a linked object doesn't work correctly. You have to check the box &amp;quot;Edit linked parts&amp;quot;, then you can select a single prim and edit it, but in most cases the changes in size- and/or postion-parameters are not accepted and revert immediately to the original ones. It is not completely reproducible, as it may work in some single case though.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Workaround:''' unlink the whole object, make the changes, and relink the whole thing again. &amp;lt;br /&amp;gt; ''note:'' re-scaling unlinked objects in grid mode seems to work better than in standalone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception and loss of ode physics System.EntryPointNotFoundException: dSpaceLockQuery ===&lt;br /&gt;
&lt;br /&gt;
The following is usually caused by using the wrong version of libode.  First try find / -name &amp;quot;libode.so&amp;quot; to see if you have other copies of the ode physics engine.  Then make sure you have the latest version of this.&lt;br /&gt;
&lt;br /&gt;
[SCENE] [02-01 22:20:40] System.EntryPointNotFoundException: dSpaceLockQuery&lt;br /&gt;
  at (wrapper managed-to-native) Ode.NET.d:SpaceLockQuery (intptr)&lt;br /&gt;
  at OpenSim.Region.Physics.OdePlugin.OdeScene.waitForSpaceUnlock (IntPtr space) [0x00000] &lt;br /&gt;
  at OpenSim.Region.Physics.OdePlugin.OdeCharacter.AvatarGeomAndBodyCreation (Single npositionX, Single npositionY, Single npositionZ, Single tensor) [0x00000] &lt;br /&gt;
  at OpenSim.Region.Physics.OdePlugin.OdeCharacter..ctor (System.String avName, OpenSim.Region.Physics.OdePlugin.OdeScene parent_scene, OpenSim.Region.Physics.Manager.PhysicsVector pos) [0x00000] &lt;br /&gt;
  at OpenSim.Region.Physics.OdePlugin.OdeScene.AddAvatar (System.String avName, OpenSim.Region.Physics.Manager.PhysicsVector position) [0x00000] &lt;br /&gt;
  at OpenSim.Region.Environment.Scenes.ScenePresence.AddToPhysicalScene () [0x00000] &lt;br /&gt;
  at OpenSim.Region.Environment.Scenes.ScenePresence.MakeRootAgent (LLVector3 pos, Boolean isFlying) [0x00000] &lt;br /&gt;
  at OpenSim.Region.Environment.Scenes.Scene.AgentCrossing (UInt64 regionHandle, LLUUID agentID, LLVector3 position, Boolean isFlying) [0x00000]&lt;br /&gt;
=== MySQL connection errors after about 6-8 hours ===&lt;br /&gt;
&lt;br /&gt;
MySQL has a timeout which drops the connection after 28,800 seconds (8 hours) of inactivity, which will probably result in failure to login after the User server has been sitting idle for an extended period.  If you have this problem, increase the timeout to something larger, like 604800 (1 week) or 31536000 (1 year).  From the mysql console, type:&lt;br /&gt;
&lt;br /&gt;
 set global wait_timeout=604800;&lt;br /&gt;
&lt;br /&gt;
=== System.DllNotFoundException: gdiplus.dll ===&lt;br /&gt;
&lt;br /&gt;
First, check to make sure that &amp;lt;tt&amp;gt;libgdiplus.so&amp;lt;/tt&amp;gt; is known to the dynamic linker:&lt;br /&gt;
&lt;br /&gt;
 /sbin/ldconfig -p | grep libgdiplus&lt;br /&gt;
&lt;br /&gt;
If nothing is found, make sure that the directory libgdiplus.so exists in is either in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; environment variable or listed in a *.conf file (e.g., gdiplus.conf) in /etc/ld.so.conf.d/.  Then run &amp;lt;tt&amp;gt;ldconfig&amp;lt;/tt&amp;gt; to update the cache.  Then it should be able to find the library.&lt;br /&gt;
&lt;br /&gt;
You may still have the above error, however, since libgdiplus also depends on other dynamic libraries, and if they fail to load, libgdiplus will fail.  To test for this, run OpenSim with debugging information turned on:&lt;br /&gt;
&lt;br /&gt;
 MONO_LOG_LEVEL=debug mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
{It may show errors loading other libraries, like &amp;lt;tt&amp;gt;libexif.so.9&amp;lt;/tt&amp;gt;.  In that case, linking to an existing version of the offending library may work:&lt;br /&gt;
&lt;br /&gt;
 ln -s libexif.so.12 libexif.so.9&lt;br /&gt;
&lt;br /&gt;
On Mac OS X - check the following file exists... /opt/local/lib/libgdiplus.dylib if it does then as root user edit the file /opt/local/etc/mono/config &lt;br /&gt;
and add the line &lt;br /&gt;
 &amp;lt;dllmap dll=&amp;quot;gdiplus.dll&amp;quot; target=&amp;quot;/opt/local/lib/libgdiplus.dylib&amp;quot; os=&amp;quot;!windows&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(Is there a cleaner solution than this?)''} **see below for alternative/cleaner fix**&lt;br /&gt;
&lt;br /&gt;
== When installing mono or libgdiplus0 you may get dependency missing libexif.so.9 == &lt;br /&gt;
&lt;br /&gt;
This was noticed on Centos5 but may occur on other systems, download ftp://rpmfind.net/linux/conectiva/snapshot/i386/RPMS.extra/libexif9-0.5.12-47547cl.i386.rpm and install problem solved. You will now be able to install mono (as long as nothing else goes wrong )&lt;br /&gt;
&lt;br /&gt;
=== The assembly mscorlib.dll was not found or could not be loaded ===&lt;br /&gt;
&lt;br /&gt;
This indicates that you are missing one of the mscor libs that comes with nant.  This is easily solved by getting NAnt, which comes with both versions 1.0 and 2.0 of the required lib.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
=== External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe === &lt;br /&gt;
&lt;br /&gt;
This is quickly fixed by retrieving mono-gmcs.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-gmcs&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name JScript does not exist in the namespace Microsoft ===&lt;br /&gt;
&lt;br /&gt;
Note that it says JScript over and over again.  Hint perhaps?&lt;br /&gt;
&lt;br /&gt;
 apt-get install mono-mjs libmono-microsoft8.0-cil&lt;br /&gt;
&lt;br /&gt;
On Fedora and OpenSUSE, the needed package is &amp;quot;mono-jscript&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels ===&lt;br /&gt;
&lt;br /&gt;
This one is taken care of with a quick install:&lt;br /&gt;
&lt;br /&gt;
 apt-get install libmono-system-runtime2.0-cil&lt;br /&gt;
&lt;br /&gt;
=== Missing: libopenjpeg-libsl-2.1.2.0-x86_64.so ===&lt;br /&gt;
  You are on 64bit linux machine and my need to follow these instructions: [[Installing_and_running_on_x86-64 |Installing and running on x86-64 ]]&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
=== error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file ===&lt;br /&gt;
&lt;br /&gt;
If you start with a base Debian system as we did at the top of the page, but instead of using the apt version of mono you use the installer from their website, then you may encounter this issue.&lt;br /&gt;
&lt;br /&gt;
After getting the .bin file from http://www.mono-project.com/Downloads, and executing it as per its instructions, upon finishing, you may find that if you try to run `mono --version` you are presented with this message. This one means you need to install libglib2.0-0.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libglib2.0-0&lt;br /&gt;
&lt;br /&gt;
=== The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file. ===&lt;br /&gt;
&lt;br /&gt;
This one seems to be fixed by retrieving the apt version of nant.&lt;br /&gt;
&lt;br /&gt;
 apt-get install nant&lt;br /&gt;
&lt;br /&gt;
This can also be due to &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; not being able to locate the &amp;lt;tt&amp;gt;mono.pc&amp;lt;/tt&amp;gt; file.  Adding the directory containing this file to the environment variable &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; may solve this.&lt;br /&gt;
&lt;br /&gt;
== Networking and config issues ==&lt;br /&gt;
   [[OpenSim:Running |See Running section]]&lt;br /&gt;
&lt;br /&gt;
=== You are able to log in, but not connect to a Region from a remote client ===&lt;br /&gt;
&lt;br /&gt;
    Look in your OpenSimulator/bin/Regions folder &lt;br /&gt;
    1) Try 0.0.0.0 for the internal_ip_address in your region.xml(default.xml) file&lt;br /&gt;
         (you'll have one of those files *per* region you've created)&lt;br /&gt;
    2) external_host_name=&amp;quot;127.0.0.1&amp;quot; will need to be changed to the accessable DNS name&lt;br /&gt;
        such as &amp;quot;opensim.example-host.com&amp;quot; or &amp;quot;71.6.131.152&amp;quot; (your public accessable ip)&lt;br /&gt;
&lt;br /&gt;
==Building OpenSim==&lt;br /&gt;
===I can't find any build files or solution files===&lt;br /&gt;
* If you're on Windows, run &amp;lt;tt&amp;gt;runprebuild.bat&amp;lt;/tt&amp;gt; - on Linux/Mac/FreeBSD, run &amp;lt;tt&amp;gt;runprebuild.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== VS2005 won't open the .sln file ===&lt;br /&gt;
* Try running VS2005 C#. You are probably running VS2005 C++. This is a C# project.&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim==&lt;br /&gt;
=== Running OpenSim.exe from a Cygwin shell has access denied for some dll's ===&lt;br /&gt;
* Do a '&amp;lt;tt&amp;gt;cd bin&amp;lt;/tt&amp;gt;' followed by '&amp;lt;tt&amp;gt;chmod a+x *&amp;lt;/tt&amp;gt;' to make all dll files executable.&lt;br /&gt;
===I cannot start my sim===&lt;br /&gt;
* See [[Configuration]]&lt;br /&gt;
&lt;br /&gt;
==Something Has Gone Wrong!==&lt;br /&gt;
=== I get errors concerning 'owner_uuid' when starting up my grid after updating from svn beyond r3254 ===&lt;br /&gt;
When updating to recent revisions after r3254, we are now using the unused owner_uuid. There are some grids whose mysql tables were created during a time when this field was inadvertently removed from the .sql script that initializes the regions table. Logging in to your mysql instance and executing this SQL query to add the missing owner_uuid should solve this issue:&lt;br /&gt;
 alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment 'Rev.2';&lt;br /&gt;
The punctuation around regions and owner_uuid is &amp;quot;grave accent&amp;quot;. The punctuation around the default value and the comment is the single quote. The &amp;quot;grave accent&amp;quot; is the one generally to the left of the One button, under the tilde and the single-quote, is, well, underneath the double quote. I think this matters to mysql.&lt;br /&gt;
&lt;br /&gt;
=== I get errors concerning 'State' when starting up my grid after updating from svn beyond r3786 ===&lt;br /&gt;
After r3786, a new 'State' field has been added to the 'primshapes' table on SQLite. This field is used to persist trees and grass.&lt;br /&gt;
You may have an empty region at startup, because OpenSim does not find this 'State' field and does not know what to do.&lt;br /&gt;
The best is to use SQLiteBrowser or another SQLite table editor (download it at [http://sqlitebrowser.sourceforge.net/ http://sqlitebrowser.sourceforge.net/]) to create the missing field:&lt;br /&gt;
 alter table primshapes add column State integer default 0&lt;br /&gt;
Just launch SQLiteBrowser, use File/Open database, then browse to OpenSim.db file and open it. Then, go to the &amp;quot;Execute SQL&amp;quot; tab, copy/paste the command above in the &amp;quot;SQL string&amp;quot; textbox, then hit the &amp;quot;Execute query&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== I get a timeout during region handshake ===&lt;br /&gt;
* Do you have the correct IP in your Regions\* config files?&lt;br /&gt;
* Do you have multiple interfaces on the server running OpenSim? OpenSim will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. If you have configured the region for another IP you will get a timeout during connect.&lt;br /&gt;
&lt;br /&gt;
=== I cannot connect to my OpenSim ===&lt;br /&gt;
* See [[OpenSim: Connecting]]&lt;br /&gt;
&lt;br /&gt;
===I can connect but cannot move===&lt;br /&gt;
If the client connects but the avatar can only spin in place and not move, then the sim is not correctly configured. It completed the initial login function, but packets are not being exchanged between the client and the sim, probably due to a network configuration error on the sim.&lt;br /&gt;
* See [[OpenSim: Configuration]]&lt;br /&gt;
&lt;br /&gt;
=== From time to time my Avatar seems to get stuck ===&lt;br /&gt;
Right now there is a bottle neck when syncing prims off to the database.  This will cause small (5 - 10 second) apparent hangs of the Avatar, but it will recover fine once the data is synced.  It is a known issue based on legacy architecture of some of the data storage code.  We hope this will be removed soon.&lt;br /&gt;
&lt;br /&gt;
=== I have problems with viewing the worldmap ===&lt;br /&gt;
* This may happen when running OpenSim on a Linux server, both in grid or standalone mode.&lt;br /&gt;
* Symptoms: when opening the worldmap window in the SL-viewer, the sims are not displayed grahically in the worldmap, the server console shows some error related to openjpeg, the current session freezes...&lt;br /&gt;
* Reason: your svn source trunk does not have the correct (or whatever...) &amp;lt;tt&amp;gt;libopenjpeg-libsl&amp;lt;/tt&amp;gt; library.&lt;br /&gt;
* Other reason: the file &amp;quot;defaultstripe.png&amp;quot; does not exists in the same OpenSim folder, or is corrupted.&lt;br /&gt;
* Solution: get the newest code from libsecondlife (&amp;lt;tt&amp;gt;svn co svn://opensecondlife.org/libsl/trunk&amp;lt;/tt&amp;gt;), '&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;' manually in the subdir &amp;lt;tt&amp;gt;openjpeg-libsl&amp;lt;/tt&amp;gt;, and copy the resulting &amp;lt;tt&amp;gt;libopenjpeg-libsl-2.1.2.0.so&amp;lt;/tt&amp;gt; into your OpenSim &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; subdir, overwriting the existing one.&lt;br /&gt;
* Recompile &amp;amp; restart OpenSim&lt;br /&gt;
&lt;br /&gt;
==Exceptions on the Console==&lt;br /&gt;
This is a list of Exceptions that you may see on the console, what they mean, and if they are a problem.&lt;br /&gt;
&lt;br /&gt;
===System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so===&lt;br /&gt;
 Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so&lt;br /&gt;
 at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&amp;amp;)&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]&lt;br /&gt;
 at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]&lt;br /&gt;
&lt;br /&gt;
You are on Linux, and the native lib libopenjpeg-libsl-2.1.2.0.so is not compatible with your system for one of the following reasons:&lt;br /&gt;
* You have an old processor (libopenjpeg has been compiled with optimizations)&lt;br /&gt;
* You are running in 64bit mode (none of the native libs are built for 64bit)&lt;br /&gt;
&lt;br /&gt;
You can rebuild your own libopenjpeg from source, or run in a compatible environment.&lt;br /&gt;
You can do this by:&lt;br /&gt;
 svn co svn://openmv.org/libsl/libopenmetaverse/trunk libsl&lt;br /&gt;
 cd libsl/openjpeg-libsl/&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
then copy libopenjpeg-libsl-2.1.2.0.so into OpenSim bin-folder.&lt;br /&gt;
&lt;br /&gt;
=== System.NullReferenceException at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion ===&lt;br /&gt;
 [LOGIN END]: XMLRPC Login failed, System.NullReferenceException: Object reference not set to an instance of an object&lt;br /&gt;
 at OpenSim.Region.Communications.Local.LocalLoginService.PrepareLoginToRegion (OpenSim.Framework.RegionInfo regionInfo, OpenSim.Framework.UserProfileData user, OpenSim.Framework.Communications.LoginResponse response) [0x00000] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:293&lt;br /&gt;
  at OpenSim.Region.Communications.Local.LocalLoginService.CustomiseResponse (OpenSim.Framework.Communications.LoginResponse response, OpenSim.Framework.UserProfileData theUser, System.String startLocationRequest) [0x00520] in /home/sim/svn/opensim/OpenSim/Region/Communications/Local/LocalLoginService.cs:253&lt;br /&gt;
  at OpenSim.Framework.Communications.LoginService.XmlRpcLoginMethod (Nwc.XmlRpc.XmlRpcRequest request) [0x00369] in /home/sim/svn/opensim/OpenSim/Framework/Communications/LoginService.cs:252&lt;br /&gt;
&lt;br /&gt;
Your first startup of OpenSim has failed for example due to giving non existent domain name when prompted for region external host name. This causes only partial initialization. You need to delete bin folder, do svn update, rebuild and purge database to resolve this issue.&lt;br /&gt;
&lt;br /&gt;
==Grid Mode==&lt;br /&gt;
Note: Grid Mode isn't officially supported yet.  As such, you are pretty much on your own if you are trying to get OpenSim up and running in Grid Mode.&lt;br /&gt;
&lt;br /&gt;
=== I start the sim and it doesn't connect to any grid ===&lt;br /&gt;
&lt;br /&gt;
When OpenSim is first started, it needs configuration.&lt;br /&gt;
&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I start the OpenSim.Grid.UserServer.exe and it gives an error===&lt;br /&gt;
If this error is access denied for &amp;lt;tt&amp;gt;username@localhost&amp;lt;/tt&amp;gt;, the mysql database is not set up.&lt;br /&gt;
It will print some text and wait for input - either an enter to accept a default value, or another value you can supply.&lt;br /&gt;
* See [[OpenSim: Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== I want to run my own Local Grid but one or more servers fail to start===&lt;br /&gt;
* Be sure that you're able to start &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt; alone, in Standalone mode, and to be able to login.&lt;br /&gt;
* Start the servers in the correct UGAS order and answer the questions as recommended (see [[OpenSim: Configuration]]).&lt;br /&gt;
* Set all the external URI's to the correct IP: 127.0.0.1 if running on your local machine, or aaa.bbb.ccc.ddd if running on a remote server.&lt;br /&gt;
* Check again all the &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; configuration files for any wrong settings or typing errors...!&lt;br /&gt;
* Don't forget to connect with your SL-viewer to port 8002 (Grid User-Server) instead of 9000 (Standalone OpenSim-Server).&lt;br /&gt;
* Delete all &amp;lt;tt&amp;gt;*.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*.yap&amp;lt;/tt&amp;gt; files in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory if you want to run a full reconfiguration again.&lt;br /&gt;
&lt;br /&gt;
=== I get a bunch of asset not found errors, while connected to a online grid, and my inventory doesn't seem to work right===&lt;br /&gt;
*Make sure your opensim.ini has '      asset_database = &amp;quot;grid&amp;quot;      ' otherwise it will not work correctly.&lt;br /&gt;
&lt;br /&gt;
=== My grid works fine with one user but when two users login in the same time both get stuck ===&lt;br /&gt;
* Make sure you have export MONO_THREADS_PER_CPU=&amp;quot;100&amp;quot; in your environment&lt;br /&gt;
&lt;br /&gt;
=== After ~20 minutes my region starts to take 100% cpu and region(s) hang ===&lt;br /&gt;
* If you have mono 1.9.1 or lower upgrade to mono 2.2.&lt;br /&gt;
&lt;br /&gt;
==Hypergrid==&lt;br /&gt;
===After starting OpenSim with Hypergrid enabled my inventory wont load!===&lt;br /&gt;
*If you're running in grid mode, first check your OpenSim.ini to make sure that the dns names or addresses for your grid servers are accessible to both you and the public.&lt;br /&gt;
*Check the XML config files for your UGAIM servers to make sure that everything is running off of a publicly accessible IP address.&lt;br /&gt;
**If this is the case and you have to change your UGAIM addresses you will need to run a few quick and dirty SQL queries on your database in order to update your grid's user accounts so that they now point to the new IP addresses of your UGAIM.&lt;br /&gt;
&lt;br /&gt;
Log into your sql server and change over to the database for your grid.  The following will update your user's home inventory and asset URIs after changing the addresses of your UGAIM services in the XML configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = center&amp;gt;&amp;lt;B&amp;gt;!!!!WARNING!!!! - Be smart!  Always make a backup of your databases before making any changes to OpenSim! - !!!!WARNING!!!!&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userInventoryURI=&amp;quot;http://new.UGAIM.address:8004&amp;quot; where userInventoryURI = &amp;quot;http://old.UGAIM.address:8004&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     update users set userAssetURI=&amp;quot;http://new.UGAIM.address:8003&amp;quot; where userAssetURI = &amp;quot;http://old.UGAIM.address:8003&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If you're running in standalone mode... - Anyone familiar with standalone want to fill this in?  -&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&lt;br /&gt;
== ScriptEngine Issues ==&lt;br /&gt;
=== Got &amp;quot;Primitive: Error compiling script: unknown char: . error&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you could have this error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
unknown char: .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And on the console :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Unloading script&lt;br /&gt;
11:06:37 - Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.&lt;br /&gt;
 at System.Collections.Generic.Dictionary`2[OpenSim.Region.ScriptEngine.Interfaces.IEventReceiver,OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Dataserver].get_Item (IEventReceiver key) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.Shared.Api.AsyncCommandManager.RemoveScript (IEventReceiver engine, UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager._StopScript (UInt32 localID, UUID itemID) [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.ScriptManager.DoScriptLoadUnload () [0x00000]&lt;br /&gt;
 at OpenSim.Region.ScriptEngine.DotNetEngine.MaintenanceThread.MaintenanceLoop () [0x00000]&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: Loading script&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: ScriptManager StartScript: localID: 720001, itemID: 88c9d28c-6004-4609-a707-717190de044a&lt;br /&gt;
11:06:37 - [Compiler]: Compiled new assembly for fad15951-f9aa-493f-be68-2aaf5ff8a3c9&lt;br /&gt;
11:06:37 - [SCRIPT]: Compiled assetID fad15951-f9aa-493f-be68-2aaf5ff8a3c9: ScriptEngines/a83150da-1ab1-11dd-89fb-0014853ee9da/CommonCompiler_compiled_fad15951-f9aa-493f-be68-2aaf5ff8a3c9.dll&lt;br /&gt;
11:06:37 - [ScriptEngine.DotNetEngine]: AppDomain Loading: OpenSim.Region.ScriptEngine.Shared, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens on '''linux''' when your locales are not set to default ( &amp;quot;C&amp;quot; ).&lt;br /&gt;
* You could refer to [http://opensimulator.org/mantis/view.php?id=2088 Mantis #2088] and [http://opensimulator.org/mantis/view.php?id=2015 Mantis #2015] for a workaround to run opensim.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
env LANG=C mono --debug OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You could also change your locale setup. Here is what I use in my '.bash_profile' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
export LANG=C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I know it's a ugly way to setup locales on a linux box, but it works fine on my '''Linux From Scratch''' box.&lt;br /&gt;
&lt;br /&gt;
'''Rq''': I saw Melanie has corrected some parts of the source code a few weeks ago to avoid such problems.&lt;br /&gt;
&lt;br /&gt;
=== Get &amp;quot;Primitive: Error compiling script: ApplicationName='gmcs', ...&amp;quot; when compiling script ===&lt;br /&gt;
When trying to compile a script ( using DotNetEngine or XEngine ) you have an error something like :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Primitive: Error compiling script:&lt;br /&gt;
ApplicationName='gmcs', CommandLine='/target:library /debug+ /optimize- /out:&lt;br /&gt;
  &amp;quot;ScriptEngines/430c29d0-c5c6-11dd-ad8b-0800200c9a66/CommonCompiler_compiled_fbe5e682-afae-4f1a-805b-0125031101f7.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.dll&amp;quot; &lt;br /&gt;
  /r:&amp;quot;/usr/lib/opensim/bin/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll&amp;quot;  -- &lt;br /&gt;
  &amp;quot;/tmp/11b81aac/594d02ce.0.cs&amp;quot; ', CurrentDirectory=''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other features include &amp;quot;Touch&amp;quot; being disabled on the right click menu wheel.&lt;br /&gt;
&lt;br /&gt;
You might have a broken mono install (i.e. discovered as mono but not gmcs installed on a Ubuntu 8.10 Intrepid machine.)&lt;br /&gt;
&lt;br /&gt;
Check mono-gmcs (sudo apt-get install mono-gmcs) is correctly installed.&lt;br /&gt;
&lt;br /&gt;
== Locales Issues ==&lt;br /&gt;
Well, some of us, OpenSim users, ran into random crash of the OpenSim Region server in grid mode ... &lt;br /&gt;
&lt;br /&gt;
I have made many tests to find a solution about that problem.&lt;br /&gt;
&lt;br /&gt;
I first ran into this problem with OpenSIM SVN.6660 ... Even if I have no users connected, my OpenSim region server randomly crash ( after 1 hour, or 5 hours, ... ).&lt;br /&gt;
&lt;br /&gt;
My first idea was to upgrade to the latest SVN release, no chance, same problem. So I made a test with a previous SVN release ( SVN.6575 ) which is running fine on another server ( same OS, same parameters, same mono release, ... ) : No chance, same problem.&lt;br /&gt;
&lt;br /&gt;
Then, I tried to play with locales, recompile the '''screen''' unix command line utility I use to run my servers, ... No chance again.&lt;br /&gt;
&lt;br /&gt;
So, I checked the memory usage on my Server, and I discovered that with the last SVN release, the amount of memory needed to run OpenSim server in multi-region/grid mode increased :) ... So, I have tuned my MySQL server to use less memory. Was better, but my OpenSim region server still randomly crash ( but could stay alive longer than before ).&lt;br /&gt;
&lt;br /&gt;
Then, trying to play with the '''screen''' command line options ... And all my tests shows that the '''--debug''' option impact the stability of the server.&lt;br /&gt;
&lt;br /&gt;
Initially, I used such command line to run OpenSim :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/screen -S Region-service -d -m --debug mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the '''--debug''' option, everything seems to be more stable.&lt;br /&gt;
&lt;br /&gt;
About locales, if you read mantis and threads in opensim-dev / opensim-users, you know that there are issues on system that are not &amp;quot;en_US&amp;quot; or &amp;quot;C&amp;quot; local compliant.&lt;br /&gt;
&lt;br /&gt;
I have re-setup my server to be full &amp;quot;en_US.UTF8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu 8.0.4 server :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/default/locale&lt;br /&gt;
LANG=&amp;quot;en_US.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# cat /var/lib/locales/supported.d/local&lt;br /&gt;
fr_FR.UTF-8 UTF-8&lt;br /&gt;
en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
# cat /etc/environment&lt;br /&gt;
PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&amp;quot;&lt;br /&gt;
LANG=&amp;quot;en_US&amp;quot;&lt;br /&gt;
LANGUAGE=&amp;quot;en_US&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And maybe you should need :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, the resulting '''screen''' command line options should be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allow me to run OpenSim SVN.6575 without crash during more than 48 hours, and also SVN.6735 ... &lt;br /&gt;
&lt;br /&gt;
Hope those informations could help peoples.&lt;br /&gt;
&lt;br /&gt;
Just for your information : &lt;br /&gt;
&lt;br /&gt;
Here is my '''OpenSim Startup script''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;User-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S User-service -d -m -U mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Grid-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Grid-service -d -m -U mono OpenSim.Grid.GridServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Asset-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Asset-service -d -m -U mono OpenSim.Grid.AssetServer.exe&lt;br /&gt;
sleep 10&lt;br /&gt;
echo &amp;quot;Inventory-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Inventory-service -d -m -U mono OpenSim.Grid.InventoryServer.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot;Region-Service...&amp;quot;&lt;br /&gt;
/usr/local/bin/screen -S Region-service -d -m -U mono OpenSim.exe&lt;br /&gt;
sleep 5&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
echo &amp;quot; &amp;quot;&lt;br /&gt;
/usr/local/bin/screen -list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is also a small script that give you a menu to connect to the '''screen(s)''' sessions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Term::Menu;&lt;br /&gt;
&lt;br /&gt;
my $EXIT = 1;&lt;br /&gt;
&lt;br /&gt;
my $MainTitle = &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|        Connexion SCREEN aux Serveurs OPENSIM        |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|                                                     |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;|    ( Type CTRL+A+D to exit the Screen Console. )    |\n&amp;quot;;&lt;br /&gt;
$MainTitle .= &amp;quot;+-----------------------------------------------------+\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
while ( $EXIT == 1 )&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  system(&amp;quot;screen -list | grep service &amp;gt; /tmp/osg.services&amp;quot;);&lt;br /&gt;
  my %LIST = ();&lt;br /&gt;
  open(IN, &amp;quot;/tmp/osg.services&amp;quot;);&lt;br /&gt;
  while ( my $i = &amp;lt;IN&amp;gt; )&lt;br /&gt;
  {&lt;br /&gt;
    chomp($i);&lt;br /&gt;
&lt;br /&gt;
    $i =~ s/\./#/g;&lt;br /&gt;
    $i =~ s/\-service\t/#/g;&lt;br /&gt;
    $i =~ s/\t//g;&lt;br /&gt;
    $i =~ s/\(//g;&lt;br /&gt;
    $i =~ s/\)//g;&lt;br /&gt;
&lt;br /&gt;
    my @STATUS = split(/#/, $i);&lt;br /&gt;
    $LIST{$STATUS[1]} = $STATUS[2];&lt;br /&gt;
  }&lt;br /&gt;
  close(IN);&lt;br /&gt;
&lt;br /&gt;
  my %LIST2 = ();&lt;br /&gt;
  my @indices = ('User', 'Grid', 'Asset', 'Inventory', 'Region');&lt;br /&gt;
&lt;br /&gt;
  foreach my $key ( @indices )&lt;br /&gt;
  {&lt;br /&gt;
    # print &amp;quot;$key --&amp;gt; $LIST{$key}\n&amp;quot;;&lt;br /&gt;
    if ( $LIST{$key} =~ /Attached/ )&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[X]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      $LIST2{$key} = &amp;quot;[ ]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( $LIST{'User'} =~ /Attached/ )&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;X&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    $LIST2{'USER'} = &amp;quot;-&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  system ('clear');&lt;br /&gt;
  my $prompt = new Term::Menu (&lt;br /&gt;
    spaces =&amp;gt; 3,&lt;br /&gt;
    aftertext =&amp;gt; &amp;quot;\nChoisir une option : &amp;quot;,&lt;br /&gt;
    beforetext =&amp;gt; ${MainTitle},&lt;br /&gt;
    delim =&amp;gt; &amp;quot;. &amp;quot;,&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  my $SEP = &amp;quot;                   &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $answer = $prompt-&amp;gt;menu(&lt;br /&gt;
                osg_user       =&amp;gt; [&amp;quot;OpenSim User Server       $SEP$LIST2{'User'}&amp;quot;,  '1'],&lt;br /&gt;
                osg_grid       =&amp;gt; [&amp;quot;OpenSim Grid Server       $SEP$LIST2{'Grid'}&amp;quot;,  '2'],&lt;br /&gt;
                osg_asset      =&amp;gt; [&amp;quot;OpenSim Asset Server      $SEP$LIST2{'Asset'}&amp;quot;,  '3'],&lt;br /&gt;
                osg_inventory  =&amp;gt; [&amp;quot;OpenSim Inventory Server  $SEP$LIST2{'Inventory'}&amp;quot;,  '4'],&lt;br /&gt;
                osg_region     =&amp;gt; [&amp;quot;OpenSim Region Server     $SEP$LIST2{'Region'}\n&amp;quot;,  '5'],&lt;br /&gt;
                osg_shutdown   =&amp;gt; [&amp;quot;Shutdown Servers (Manual)&amp;quot;,'6'],&lt;br /&gt;
                osg_shutdown2  =&amp;gt; [&amp;quot;Shutdown Servers (Hard)\n&amp;quot;,'7'],&lt;br /&gt;
                quit    =&amp;gt; [&amp;quot;Quitter&amp;quot;, 'q'],&lt;br /&gt;
                            );&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;quit&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_user&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_grid&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_asset&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_inventory&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_region&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Region-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Inventory-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Asset-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S Grid-service&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -d -r -S User-service&amp;quot;);&lt;br /&gt;
    $EXIT = 1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( &amp;quot;${answer}&amp;quot; eq &amp;quot;osg_shutdown2&amp;quot; )&lt;br /&gt;
  {&lt;br /&gt;
    # system(&amp;quot;/OPENSIM/shutdownGrid.py&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Region-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Inventory-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Asset-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S Grid-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    system(&amp;quot;screen -S User-service -r -m -X quit&amp;quot;);&lt;br /&gt;
    $EXIT = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regards, &lt;br /&gt;
Ursula Matova.&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Template:Clear</id>
		<title>Template:Clear</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Template:Clear"/>
				<updated>2010-04-04T05:23:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: fix page elements running all together... see http://en.wikipedia.org/wiki/Template:Clear&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T04:20:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Running OpenSim in Standalone mode */ embolden OpenSim.ini.example / OpenSim.ini&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straightforward because '''OpenSim.ini.example''' is already set up to achieve this.  All you need to do initially is copy '''OpenSim.ini.example''' to '''OpenSim.ini''' before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: As of July 2009, the grid servers are in the process of being redesigned.  &lt;br /&gt;
Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
while others are still run as separate legacy servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T04:19:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Running OpenSim in Standalone mode */ typo &amp;quot;straitforward&amp;quot; -&amp;gt; &amp;quot;straightforward&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straightforward because OpenSim.ini.example is already set up to achieve this.  All you need to do initially is copy OpenSim.ini.example to OpenSim.ini before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: As of July 2009, the grid servers are in the process of being redesigned.  &lt;br /&gt;
Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
while others are still run as separate legacy servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T04:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Configuring the grid services */ Date the infobox on ROBUST.. was added to page in July 2009, so put that in article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straitforward because OpenSim.ini.example is already set up to achieve this.  All you need to do initially is copy OpenSim.ini.example to OpenSim.ini before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: As of July 2009, the grid servers are in the process of being redesigned.  &lt;br /&gt;
Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
while others are still run as separate legacy servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T04:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Configuring the grid services */ ROBUST infobox hanging off right edge of screen. switch to a wikitable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straitforward because OpenSim.ini.example is already set up to achieve this.  All you need to do initially is copy OpenSim.ini.example to OpenSim.ini before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: The grid servers are in the process of being redesigned.  &lt;br /&gt;
Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
while others are still run as separate legacy servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T03:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Running OpenSim in Standalone mode */ long monospaced lines hanging off edge of page, adjust formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straitforward because OpenSim.ini.example is already set up to achieve this.  All you need to do initially is copy OpenSim.ini.example to OpenSim.ini before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
 [[Image:Exclamation.png|left]]&lt;br /&gt;
 NOTE: The grid servers are in the process of being redesigned.  &lt;br /&gt;
 Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
 while others are still run as separate legacy servers.&lt;br /&gt;
 &amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2010-04-04T03:45:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dale Mahalko: /* Standalone vs. Grid */ standalone is best for a single person doing testing. splitting services across multiple computers makes everything more tolerant of high load and also fault tolerant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==OpenSim simulator configuration file==&lt;br /&gt;
The region simulator configuration is managed using a file called [[OpenSim.ini]]. This file is used regardless of whether the sim is running in standalone or grid mode.  This file includes some additional configuration information from the config-include/ directory.  Detailed information on the options available for setttings in this file can be found [[OpenSim.ini|here]].&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via command line arguments (see above).  Also, note that the default download does not include an OpenSim.ini file, but rather provides an example file.  To get started editing your ini file, please cd into opensim/bin/ and copy OpenSim.ini.example to OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSim processes where most of your settings are identical but some settings differ.&lt;br /&gt;
The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file.&lt;br /&gt;
The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
==Database==&lt;br /&gt;
Opensim's supports the following database-engines:&lt;br /&gt;
* SQLite (default - a lightweight database that comes bundled with OpenSim and can be used without requiring any extra configuration.  It is mostly intended to get you up and running quickly, not for production use.  A few features here (such as attachment persistence) have not yet been fully implemented.)&lt;br /&gt;
* MySQL (fully supported).  This is the recommended database for any use beyond experimentation or small standalone applications.  See [[Mysql-config]] for configuration information.  The OpenSim.ini.example file and other .example files will also have example MySQL configuration strings.&amp;lt;br&amp;gt;&lt;br /&gt;
* MSSQL (partially supported - some recent OpenSim features may not yet be implemented)&lt;br /&gt;
&lt;br /&gt;
More information on database support can be found on the [[OpenSim Database support]] page.&lt;br /&gt;
&lt;br /&gt;
==Standalone vs. Grid==&lt;br /&gt;
We recommend that you first get OpenSim running in standalone mode before you attempt to connect it to a grid or run your own grid.  An OpenSim configuration consists of regions (run by region simulators) and 5 core backend services (which manage users, the grid, assets, inventories, and grid-wide messaging, collectively known as UGAIM).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' (that is, one with OpenSim.ini where gridmode = false) runs everything (all UGAIM services and one or more regions) in a single executable (OpenSim.exe). It is primarily suited for when a single person is using the system.&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the five services ([[User Server|User]], [[Grid Server|Grid]], [[Asset Server|Asset]], [[Inventory Server|Inventory]], [[Messaging Server|Messaging]], or UGAIM) are not part of the region server.  Instead, they can be run separately either on the same machine or spread out across multiple computers. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the core servers for asset, inventory and other data management. &lt;br /&gt;
&lt;br /&gt;
By subdividing services across separate computers, the overall grid is more tolerant of high load conditions and can support many connecting users at once. Certain situations may lag or crash a region server. By spreading services across several computers, only the one region server may be impacted but other regions on the grid will continue to operate smoothly and responsively.&lt;br /&gt;
&lt;br /&gt;
Splitting services across computers also allows for specialization of computing hardware for specific purposes:&lt;br /&gt;
* The asset server often experiences the highest data transfer load and benefits the most from a fast disk subsystem. This is not so critical for other services, where memory and CPU power is the primary need.&lt;br /&gt;
* The region server includes a physics engine which may benefit from the presence of a PCI-Express 3D card for physics acceleration, and which the asset server would not use at all.&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode.  It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up.&lt;br /&gt;
&lt;br /&gt;
If you want to run a grid of your own (either private or public) you would start the core services up before connecting a region simulator.  If you want to connect your region server to a grid that someone else is running, you need only start the region server in grid mode (with the necessary security keys and location information mentioned in the last paragraph).&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in standalone mode is relatively straitforward because OpenSim.ini.example is already set up to achieve this.  All you need to do initially is copy OpenSim.ini.example to OpenSim.ini before starting OpenSim and following the rest of the command prompts.  Here's the full procedure assuming that you have a binary distribution of OpenSim (if you have a source distribution then you will need to [[Build_Instructions|build]] it first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go the bin/ directory in the OpenSim distribution&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.ini.example to OpenSim.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim&amp;lt;/li&amp;gt;&lt;br /&gt;
Windows&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
 or OpenSim.32BitLaunch.exe if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
Linux&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
When you first start OpenSim in standalone mode, it will ask you several questions at the console.  These will set up a single region for you.  The configuration will be placed at bin/Regions/Regions.ini which you can then go and edit later on.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults.  Here are some explanations of the questions asked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''New region name''' - the name for your region.  Don't leave this blank!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region UUID''' - the unique ID of your region.  In pretty much all cases you will want to accept the randomly generated default in the square brackets.  The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data.  But in this case you are probably better off editing the Regions.ini file directly anyway&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Region Location''' - this is the location of the region on the grid.  In standalone mode you can safely leave these as the default (1000,1000).  If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001).  OpenSim regions can be placed anywhere on a 65536 by 65536 grid.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal IP address''' - This should always be 0.0.0.0 (0.0.0.0 means &amp;quot;listen for connections on any interface&amp;quot;, basically a wildcard) if you want to access this server from the internet or another server on your internal network, this should be the IP&amp;amp;nbsp;address assigned to the OpenSim Server. You should also set up the server to Use a Static IP address, and not DHCP &lt;br /&gt;
&amp;lt;li&amp;gt;'''Internal port''' - This is the IP port for all incoming client connections.  The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Allow alternate ports''' - This is currently experimental.  Please leave it at the default of False.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''External host name''' - If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2).  This is fine if you are connecting only from within your LAN.  If you want to connect to it from a client on the internet, this should be the External IP Address of your router.  Fully Qualified Domain Names (FQDNs) should also work.  &lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar UUID''' - This is a legacy OpenSim feature and can be left at the default of 00000000-0000-0000-0000-000000000000.  Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar first name''' - This is an alternative way of specifying the master avatar by avatar name rather than UUID.  If you press enter here then both this field and the last name field will be left blank.  Accepting the blank default is fine - this can always be changed later in Regions.ini&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar last name''' - The last name of the master avatar.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Master Avatar sandbox password''' - The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [http://opensimulator.org/wiki/Troubleshooting troubleshoot hints].  If you're having Connectivity problems. [http://opensimulator.org/wiki/Network_Settings Be sure to read the Network Configuration Page]. This is important if you see Region handshake issues&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[Configuring_Regions]] for information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; To create a user type &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
in the server console.  This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  To connect to your new sim with your user, start up a Second Life viewer with the following command line switches: &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 '''Client on same machine as OpenSim:''' -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login &lt;br /&gt;
 &lt;br /&gt;
 '''Client on same LAN as OpenSim:''' -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login &lt;br /&gt;
 &lt;br /&gt;
 Client on different machine or internet:''' -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login'''&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should hopefully login.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Running OpenSim in Grid mode =&lt;br /&gt;
&lt;br /&gt;
Running OpenSim in grid mode is considerably more complicated.  Grid services need to be set up and the region simulator configuration needs to be changed to use these instead of the built-in standalone mode ones.&lt;br /&gt;
&lt;br /&gt;
==Configuring the grid services==&lt;br /&gt;
 [[Image:Exclamation.png|left]]&lt;br /&gt;
 NOTE: The grid servers are in the process of being redesigned.  &lt;br /&gt;
 Some services are now run in a common 'ROBUST' (Basic Universal Server Technology) server shell &lt;br /&gt;
 while others are still run as separate legacy servers.&lt;br /&gt;
 &amp;lt;u&amp;gt;'''More Details on ROBUST are Here --&amp;amp;gt;'''&amp;lt;/u&amp;gt;[[ROBUST|&amp;lt;u&amp;gt;'''ROBUST'''&amp;lt;/u&amp;gt;]]&amp;lt;u&amp;gt;'''&amp;amp;nbsp;&amp;amp;lt;--&amp;amp;nbsp; including Conversion From UGAIM To UGRM (0.6.6 -&amp;gt; 0.6.7) and UGRM to URM (0.6.7 -&amp;gt; 0.6.8)'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As of OpenSim 0.6.8, R.O.B.U.S.T. has connectors for the asset (A), grid (G) and inventory (I) functionality.  The legacy servers are still required for user (U) and messaging (M) functionality.  The steps below will get you up and running.  We'll assume that your current directory is bin/ within the OpenSim distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the user server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.UserServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will be asked a number of configuration questions. If the grid servers are all on one machine, most defaults are safe to use.  The configuration is stored in the UserServer_Config.xml file which can be changed afterwards if necessary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The user server will then load and display it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 User#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure R.O.B.U.S.T.'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy OpenSim.Server.ini.example to OpenSim.Server.ini.  Don't forget to change ConnectionString for your database settings.  (on version 0.6.6 copy OpenSim.Services.ini.example to OpenSim.Services.ini - then use OpenSim.Services instead OpenSim.Server)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
Linux&lt;br /&gt;
 bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
Windows&lt;br /&gt;
 C:\OpenSim\bin&amp;gt; copy OpenSim.Server.ini.example OpenSim.Server.ini&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Server.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start up it's asset, inventory and grid components and display the R.O.B.U.S.T prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 R.O.B.U.S.T.#&lt;br /&gt;
&amp;lt;li&amp;gt;For more information on the R.O.B.U.S.T. configuration file and more information if you are migrating from an earlier release of OpenSim, refer to [[R.O.B.U.S.T.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Configure the messaging server'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start OpenSim.Grid.MessagingServer.exe&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Answer the configuration questions. Again, if all servers are run on the same machine, it's safe to press enter for all questions.  The configuration is stored in MessagingServer_Config.xml.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server will start and present you with it's prompt:&amp;lt;/li&amp;gt;&lt;br /&gt;
 Messaging#&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For information on running the legacy servers, particularly if you're using an older version of before 0.6.7 that doesn't contain the ROBUST framework, see [[LegacyServers]]&lt;br /&gt;
&lt;br /&gt;
=== Summary of commands for running grid service executables ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Windows&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 OpenSim.Grid.UserServer.exe&lt;br /&gt;
 OpenSim.Server.exe&lt;br /&gt;
 OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Linux / Mac OS X&amp;lt;/u&amp;gt;'''&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono OpenSim.Grid.UserServer.exe&lt;br /&gt;
 mono OpenSim.Server.exe&lt;br /&gt;
 mono OpenSim.Grid.MessagingServer.exe&lt;br /&gt;
&lt;br /&gt;
==Configuring regions==&lt;br /&gt;
&lt;br /&gt;
When first run, a new OpenSim installation will ask you a series of questions to set up one region.  If you want to change these settings or set up multiple regions, please see [[Configuring_Regions]]&lt;br /&gt;
&lt;br /&gt;
==Configuring and Starting the region simulator==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the [Architecture] section, comment out the line that says&amp;lt;/li&amp;gt;&lt;br /&gt;
 Include-Standalone    = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
and uncomment the line saying &lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;save OpenSim.ini, and go into the config-include directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;copy the following files&amp;lt;/li&amp;gt;&lt;br /&gt;
 GridCommon.ini.example to GridCommon.ini&lt;br /&gt;
 CenomeCache.ini.example to CenomeCache.ini&lt;br /&gt;
 FlotsamCache.ini.example to FlotsamCache.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open all these files (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) and edit to suit your needs&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be ready to start up your sim. The mode that OpenSim.exe starts in is normally controlled by a setting in your OpenSim.ini.  It defaults to standalone mode if that setting is not specified or the file is not found.  If you wish, you can force opensim to start in gridmode on the command line as follows:&amp;lt;/li&amp;gt;&lt;br /&gt;
 OpenSim.exe -gridmode=true&lt;br /&gt;
or if using the ODE physics plugin under 64 bit Windows&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
or:&lt;br /&gt;
 mono OpenSim.exe -gridmode=true&lt;br /&gt;
if you're using Mono under Linux or Mac OSX.  &lt;br /&gt;
&lt;br /&gt;
With any luck, everything will come up without fatal errors.&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Go to the UserServer console, and type 'create user' to create a new avatar. It will prompt you for the name and password, and the X and Y of the sim that should be his home location. Use 1000 and 1000, or wherever you told your sim to live when you brought it up in standalone mode. At the console of any of these servers, you should be able to type 'help' to get a list of commands.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You should now be able to connect to your new grid with your secondlife client. You need to tell your client to point at the UserServer rather than directly at the sim, though:&amp;lt;/li&amp;gt;&lt;br /&gt;
 secondlife -loginuri http://127.0.0.1:8002/&lt;br /&gt;
8002 is the default port for the UserServer, and that IP address should be changed to the server you are running the UserServer on, if they are not all on the same box.  Happy OpenSimming!&amp;lt;br&amp;gt;&lt;br /&gt;
''Note: if you are using Windows Vista, remember to start servers as Admin. If not it will prompt you an error in console like &amp;quot;Error - Access denied&amp;quot;''&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attaching your sim to someone else's grid==&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, you should edit the &amp;lt;tt&amp;gt;OpenSim.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.  In that file, there is a &amp;lt;tt&amp;gt;[Network]&amp;lt;/tt&amp;gt; section with URLs for the grid, user, and asset servers, as well as send and receive keys (for a basic level of security).  The addresses and send/receive keys will vary depending on the grid you are connecting to, and the grid operator should tell you what values to use.&lt;br /&gt;
&lt;br /&gt;
The other file you may have to change is in your &amp;lt;tt&amp;gt;bin/Regions&amp;lt;/tt&amp;gt; directory. This is where your individual region config files are. If you only have one region, it will by default be called &amp;lt;tt&amp;gt;Regions.ini&amp;lt;/tt&amp;gt; in OpenSim 0.6.7 and later and &amp;lt;tt&amp;gt;regions.xml&amp;lt;/tt&amp;gt; in OpenSim 0.6.6 and earlier.&lt;br /&gt;
&lt;br /&gt;
This can be edited with any text editor. The grid owner may tell you what X and Y location you can place your sim at (you can't have multiple sims at the same location on the grid). If so, the fields you will need to change in this file are &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;.  And the &amp;lt;tt&amp;gt;external_host_name&amp;lt;/tt&amp;gt; should be set to the hostname or IP address of your simulation server (i.e., the machine that is running &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;).&lt;br /&gt;
A list of public grids that you can attach your sim to is at [[OpenSim: Grids]]&lt;br /&gt;
&lt;br /&gt;
=Further notes=&lt;br /&gt;
&lt;br /&gt;
==Running OpenSim 0.6.7 and onwards in 64 bit Windows==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
As of OpenSim 0.6.7, the default physics engine for OpenSim was changed to the ODE engine.  This is because ODE is by far the most advanced physics engine plugin currently in OpenSim.  Unfortunately, it has the drawback in that it's library is not compilable under 64bit in Windows.  Therefore, 64 bit Windows users may need to run &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of &lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
To launch their region simulator.&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these are far less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
==Note About Mono==&lt;br /&gt;
If you're using mono, you should increase the value of the mono environment variable MONO_THREADS_PER_CPU from its default of 5 to some number that works for your sim. The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
If this number is too low, the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar. Other symptoms are a lot more subtle.&lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Configuration Tasks (for advanced users) ==&lt;br /&gt;
&lt;br /&gt;
===OpenSim.exe command line options===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuratio nfiles from a different directory.  See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Script engine===&lt;br /&gt;
OpenSim supports multiple script engines. See [[ScriptEngines]] for details.  If you don't know what this means then the default script engine will be fine.&lt;br /&gt;
&lt;br /&gt;
===Permissions Configuration===&lt;br /&gt;
OpenSim has a quite elaborate set of permissions. See [[OpenSim:Permissions(Server)]] for details.  By default, permissions are not active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSim logs information to a file called OpenSim.log in the bin directory.  See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of region modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch_Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Metaverse Exchange Protocol (MXP) ===&lt;br /&gt;
* [[Metaverse Exchange Protocol]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages===&lt;br /&gt;
OpenSim contains a web server that can serve up a variety of pages.  Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Dale Mahalko</name></author>	</entry>

	</feed>