<?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=OtakuMegane</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=OtakuMegane"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/OtakuMegane"/>
		<updated>2026-04-10T09:42:15Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2016-07-14T00:17:41Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: derp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Opensim Status ==&lt;br /&gt;
This is the script I use to monitor my Opensim instances and restart them as needed. Originally based on BlueWall's oswatchdog script.&lt;br /&gt;
&lt;br /&gt;
NOTE: This assumes you have separate script(s) to launch each instance&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;                                                                                                                                &lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you run this script as root but opensim is run under another user, set this to TRUE.&lt;br /&gt;
# Otherwise ignore it &lt;br /&gt;
RUN_AS_OTHER_USER='FALSE'&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
terminate_dead()&lt;br /&gt;
{&lt;br /&gt;
        kill -KILL $1&lt;br /&gt;
        sleep 3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        screen_is_dead=`screen -list|grep $2|tr -s ' '|grep '(Dead ???)'`&lt;br /&gt;
&lt;br /&gt;
        if [ -n &amp;quot;$screen_is_dead&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                screen -wipe&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        then&lt;br /&gt;
                if [ -n &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        terminate_dead $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
&lt;br /&gt;
                if [ $RUN_AS_OTHER_USER = 'TRUE' ]&lt;br /&gt;
                then&lt;br /&gt;
                        su -l $4 -c &amp;quot;$3&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                        $3&lt;br /&gt;
                fi&lt;br /&gt;
&lt;br /&gt;
                echo &amp;quot;$2 was down or unresponsive. Restarted.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;$2 is up and responds with OK status.&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;listener port&amp;gt; - The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# &amp;lt;screen name&amp;gt; - The name of the screen running the instance&lt;br /&gt;
# &amp;lt;launch script&amp;gt; - The filename of the script that launches the instance&lt;br /&gt;
# &amp;lt;user&amp;gt; - User that opensim runs under. Unless you set RUN_AS_OTHER_USER='TRUE' this will be ignored&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;/home/opensim/opensim-one.sh&amp;quot; &amp;quot;opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2015-11-25T05:38:55Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Opensim Status ==&lt;br /&gt;
This is the script I use to monitor my Opensim instances and restart them as needed. Originally based on BlueWall's oswatchdog script.&lt;br /&gt;
&lt;br /&gt;
NOTE: This assumes you have separate script(s) to launch each instance&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;                                                                                                                                &lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;104.218.17.84&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you run this script as root but opensim is run under another user, set this to TRUE.&lt;br /&gt;
# Otherwise ignore it &lt;br /&gt;
RUN_AS_OTHER_USER='FALSE'&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
terminate_dead()&lt;br /&gt;
{&lt;br /&gt;
        kill -KILL $1&lt;br /&gt;
        sleep 3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        screen_is_dead=`screen -list|grep $2|tr -s ' '|grep '(Dead ???)'`&lt;br /&gt;
&lt;br /&gt;
        if [ -n &amp;quot;$screen_is_dead&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                screen -wipe&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        then&lt;br /&gt;
                if [ -n &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        terminate_dead $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
&lt;br /&gt;
                if [ $RUN_AS_OTHER_USER = 'TRUE' ]&lt;br /&gt;
                then&lt;br /&gt;
                        su -l $4 -c &amp;quot;$3&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                        $3&lt;br /&gt;
                fi&lt;br /&gt;
&lt;br /&gt;
                echo &amp;quot;$2 was down or unresponsive. Restarted.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;$2 is up and responds with OK status.&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;listener port&amp;gt; - The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# &amp;lt;screen name&amp;gt; - The name of the screen running the instance&lt;br /&gt;
# &amp;lt;launch script&amp;gt; - The filename of the script that launches the instance&lt;br /&gt;
# &amp;lt;user&amp;gt; - User that opensim runs under. Unless you set RUN_AS_OTHER_USER='TRUE' this will be ignored&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;/home/opensim/opensim-one.sh&amp;quot; &amp;quot;opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2015-11-25T05:36:37Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: /* Opensim Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modified oswatchdog ==&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
=== Opensim Status ===&lt;br /&gt;
This is the script I use to monitor my Opensim instances and restart them as needed. Originally based on BlueWall's oswatchdog script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;                                                                                                                                &lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;104.218.17.84&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you run this script as root but opensim is run under another user, set this to TRUE.&lt;br /&gt;
# Otherwise ignore it &lt;br /&gt;
RUN_AS_OTHER_USER='FALSE'&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
terminate_dead()&lt;br /&gt;
{&lt;br /&gt;
        kill -KILL $1&lt;br /&gt;
        sleep 3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        screen_is_dead=`screen -list|grep $2|tr -s ' '|grep '(Dead ???)'`&lt;br /&gt;
&lt;br /&gt;
        if [ -n &amp;quot;$screen_is_dead&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                screen -wipe&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        then&lt;br /&gt;
                if [ -n &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        terminate_dead $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
&lt;br /&gt;
                if [ $RUN_AS_OTHER_USER = 'TRUE' ]&lt;br /&gt;
                then&lt;br /&gt;
                        su -l $4 -c &amp;quot;$3&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                        $3&lt;br /&gt;
                fi&lt;br /&gt;
&lt;br /&gt;
                echo &amp;quot;$2 was down or unresponsive. Restarted.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;$2 is up and responds with OK status.&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;listener port&amp;gt; - The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# &amp;lt;screen name&amp;gt; - The name of the screen running the instance&lt;br /&gt;
# &amp;lt;launch script&amp;gt; - The filename of the script that launches the instance&lt;br /&gt;
# &amp;lt;user&amp;gt; - User that opensim runs under. Unless you set RUN_AS_OTHER_USER='TRUE' this will be ignored&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;/home/opensim/opensim-one.sh&amp;quot; &amp;quot;opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T01:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modified oswatchdog ==&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
=== oswatchdog (multiple instances) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;                                                                                                                                &lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;domain.or.ip.address&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you run this script as root but opensim is run under another user, set this to TRUE.&lt;br /&gt;
# Otherwise ignore it &lt;br /&gt;
RUN_AS_OTHER_USER='FALSE'&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
&lt;br /&gt;
                if [ $RUN_AS_OTHER_USER = 'TRUE' ]&lt;br /&gt;
                then&lt;br /&gt;
                        /bin/su -l $4 -c &amp;quot;$3&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                        $3&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# &amp;lt;listener port&amp;gt; - The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# &amp;lt;screen name&amp;gt; - The name of the screen running the instance&lt;br /&gt;
# &amp;lt;launch script&amp;gt; - The filename of the script that launches the instance&lt;br /&gt;
# &amp;lt;user&amp;gt; - User that opensim runs under. Unless you set RUN_AS_OTHER_USER='TRUE' this will be ignored&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;/home/opensim/opensim-one.sh&amp;quot; &amp;quot;opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot; &amp;quot;&amp;lt;user&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modified oswatchdog ==&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
=== oswatchdog (multiple instances) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: /* oswatchdog (multiple instances) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modified oswatchdog ==&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
=== oswatchdog(multiple) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:38:26Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: /* Modified oswatchdog for multiple instances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== oswatchdog (multiple instances)===&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:35:08Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Modified oswatchdog for multiple instances ===&lt;br /&gt;
This is a modified version of [[User_talk:BlueWall#oswatchdog|BlueWall's oswatchdog]]. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:33:27Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Modified oswatchdog for multiple instances ===&lt;br /&gt;
This is a modified version of BlueWall's oswatchdog. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_talk:OtakuMegane</id>
		<title>User talk:OtakuMegane</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_talk:OtakuMegane"/>
				<updated>2010-06-05T00:33:01Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: New page: === Modified oswatchdog for multiple instances: === This is a modified version of BlueWall's oswatchdog. I had trouble getting the original to run and it was not well designed for multiple...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Modified oswatchdog for multiple instances: ===&lt;br /&gt;
This is a modified version of BlueWall's oswatchdog. I had trouble getting the original to run and it was not well designed for multiple instances (I run quite a few). This allows you to easily add as many instances to be monitored as you wish.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: This assumes you have separate script(s) to launch each instance and apply any relevant settings, whereas BlueWall's original executed the commands directly from the watchdog script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
#&lt;br /&gt;
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY&lt;br /&gt;
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&lt;br /&gt;
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY&lt;br /&gt;
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;&lt;br /&gt;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND&lt;br /&gt;
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&lt;br /&gt;
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Adjust To Your System:&lt;br /&gt;
#&lt;br /&gt;
# Sample Cron Entry: Runs Each Minute 24/7/365&lt;br /&gt;
# */1 * * * * exec /opt/opensim/scripts/oswatchdog&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Base opensim installation&lt;br /&gt;
BASE=&amp;quot;/home/opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Log&lt;br /&gt;
LOG=&amp;quot;$BASE/status-log.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hostname&lt;br /&gt;
HOSTNAME=&amp;quot;&amp;lt;Domain or IP address&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if the file exist, opensim wont be restarted&lt;br /&gt;
# Sacha Magne&lt;br /&gt;
LOCKFILE=&amp;quot;/tmp/norun.opensim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$LOCKFILE&amp;quot; ]; then&lt;br /&gt;
        echo $LOCKFILE &amp;quot;found. no restart&amp;quot;&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
status_check()&lt;br /&gt;
{&lt;br /&gt;
        running_pid=`ps ax|grep $2|grep -v grep|tr -s ' '|sed 's/^ //'|cut -f1 -d' '`&lt;br /&gt;
        if [ -z &amp;quot;$running_pid&amp;quot; ]; then&lt;br /&gt;
                #...We Make A Log Entry And Start A New One&lt;br /&gt;
                # The Log Entry&lt;br /&gt;
                TIME=&amp;quot;Simulator $2 Down, Restarting: `/bin/date +&amp;quot;%A, %B %d - %r&amp;quot;`&amp;quot;&lt;br /&gt;
                echo $TIME &amp;gt;&amp;gt;$LOG&lt;br /&gt;
                /bin/su -l opensim -c &amp;quot;/home/opensim/$3&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                if ! curl &amp;quot;http://$HOSTNAME:$1/simstatus/&amp;quot;&lt;br /&gt;
                then&lt;br /&gt;
                        kill -KILL $running_pid&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Add a new line for each instance you want to monitor.&lt;br /&gt;
# All you need to do is replace each of the three settings with the correct&lt;br /&gt;
# values for the instance.&lt;br /&gt;
#&lt;br /&gt;
# listener port: The port the instance listens to. Is set in OpenSim.ini; default is 9000&lt;br /&gt;
# screen name: The name of the screen running the instance&lt;br /&gt;
# launch script: The filename of the script that launches the instance&lt;br /&gt;
#&lt;br /&gt;
# Example: status_check &amp;quot;9000&amp;quot; &amp;quot;OpensimOne&amp;quot; &amp;quot;opensim-one.sh&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
status_check &amp;quot;&amp;lt;listener port&amp;gt;&amp;quot; &amp;quot;&amp;lt;screen name&amp;gt;&amp;quot; &amp;quot;&amp;lt;launch script&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/CentOS_5.2_Build_Instructions</id>
		<title>CentOS 5.2 Build Instructions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/CentOS_5.2_Build_Instructions"/>
				<updated>2009-06-25T04:48:50Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
The following process worked for me, please feel free to improve it as it may not be the best way :)&lt;br /&gt;
&lt;br /&gt;
From a fresh install:&lt;br /&gt;
&lt;br /&gt;
  # yum update&lt;br /&gt;
  # yum install subversion ruby&lt;br /&gt;
&lt;br /&gt;
To get Mono 1.9.1 I added the Mono.repo file in the /etc/yum.repo.d/ directory:&lt;br /&gt;
&lt;br /&gt;
  # sudo su -&lt;br /&gt;
  # cd /etc/yum.repos.d/&lt;br /&gt;
  # wget http://download.opensuse.org/repositories/Mono/RHEL_5/Mono.repo&lt;br /&gt;
&lt;br /&gt;
Note: The main RHEL 5 repo for mono is gone, reason unknown. There are two alternatives, however:&lt;br /&gt;
&lt;br /&gt;
http://download.opensuse.org/repositories/home:/mindtouch/RHEL_5/home:mindtouch.repo   (Mono 1.9.1)&lt;br /&gt;
&lt;br /&gt;
http://download.opensuse.org/repositories/home:/directhex/RHEL_5/home:directhex.repo   (Mono 2.0.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I then installed mono&lt;br /&gt;
&lt;br /&gt;
  # yum install mono nant libgdiplus mono-jscript mono-nunit&lt;br /&gt;
&lt;br /&gt;
So far so good, mono -V shows 1.9.1 has installed :)&lt;br /&gt;
&lt;br /&gt;
Now just a couple of other things that you may need:&lt;br /&gt;
&lt;br /&gt;
  # yum install swig autoconf gawk bison gcc&lt;br /&gt;
&lt;br /&gt;
And then build and install mono 2.0.1 from source&lt;br /&gt;
&lt;br /&gt;
  # wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.0.1.tar.bz2&lt;br /&gt;
  # tar xf mono-2.0.1.tar.bz2&lt;br /&gt;
  # cd mono-2.0.1&lt;br /&gt;
  # ./configure --with-libgdiplus=yes&lt;br /&gt;
  # make (may take a while)&lt;br /&gt;
  # make install&lt;br /&gt;
&lt;br /&gt;
Yay! mono -V and I have Mono 2.0.1 :)&lt;br /&gt;
&lt;br /&gt;
Note that I have OpenSim 0.6.4 running on mono 2.4.  So newer versions of mono should work.&lt;br /&gt;
&lt;br /&gt;
Now all i have to do is open the right ports and install OpenSim as usual...&lt;br /&gt;
&lt;br /&gt;
Once you have OpenSimulator running you may want to follow these instructions for setting up a crontab entry that checks your server to see it is running and restarts if it ain't.&lt;br /&gt;
&lt;br /&gt;
[[How to set up OSWatchdog to automatically restart a crashed server on Linux(Universal)]]&lt;br /&gt;
==Potential Issues==&lt;br /&gt;
Mantis #3626 references an issue where the build fails with references to a &amp;quot;TResponse&amp;quot; type.  It appears that there is a bug in the mono 1.9.1 libraries and they don't get properly overwritten when the newer mono is installed.  To fix this, add &amp;quot;--prefix=/usr&amp;quot; to the &amp;quot;./configure&amp;quot; line when building mono.  Refer to http://opensimulator.org/mantis/view.php?id=3626 for more discussion about this problem.&lt;br /&gt;
&lt;br /&gt;
I've had nant occasionally die with a SEGV exception when building OpenSim.  In this case, rerunning nant was able to continue the build.&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Grider</id>
		<title>Grider</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Grider"/>
				<updated>2009-06-18T03:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &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;
&lt;br /&gt;
Grider is a client for the safe [[Hypergrid]] based on LibOMV's GridProxy, and distributed under a BSD license. Its main goal is to explore the protocols that are appropriate for a globally decentralized Virtual Worlds System without having to develop a 3D render from scratch. As such, it wraps the existing Linden Lab-based viewers, both the official viewer and derivatives such as the Hippo, modifying their communications behavior externally -- no source code modification is involved.&lt;br /&gt;
&lt;br /&gt;
== Getting Grider Up &amp;amp; Running ==&lt;br /&gt;
&lt;br /&gt;
Precompiled packages:&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/frs/&lt;br /&gt;
&lt;br /&gt;
Sources:&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/scmsvn/?action=AccessInfo&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Unzip the zip file onto some directory.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Run Grider.exe. The first time it runs it asks you for the path to your favorite viewer. This information is then stored in a file called Grider.ini. If you need to change the path to the viewer in the future, simply edit or remove that file.&lt;br /&gt;
&lt;br /&gt;
[[image:Running.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your grid ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The regions you visit must be running in Hypergrid mode, or you won't be able to Teleport.&lt;br /&gt;
&lt;br /&gt;
If you choose to use the official LL viewer, there are no more set up steps. The picture below shows examples of login information. Enter your information accordingly. Notice that the grid identification goes in the Last Name tab. By default, it uses port 8002 for user servers; if that is not the case for your server, enter the port accordingly (see the example with localhost).&lt;br /&gt;
&lt;br /&gt;
[[image:Login.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
If you choose to use the Hippo, you need to choose as grid &amp;quot;proxy&amp;quot;, as shown below:&lt;br /&gt;
&lt;br /&gt;
[[image:Hippo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
NOTE:  Under Hippo Viewer 0.5.1, Proxy is not there by default.&lt;br /&gt;
&lt;br /&gt;
[[Image:Hippo_Proxy.png|512px]]&lt;br /&gt;
&lt;br /&gt;
You will have to manually add the Proxy information as shown in the above image for correct operation.  This needs further detailed information and specification for completion.&lt;br /&gt;
(Updated June.17.2009 by WhiteStar Magic @ request of Diva)&lt;br /&gt;
&lt;br /&gt;
=== Feedback ===&lt;br /&gt;
&lt;br /&gt;
Please use&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/tracker/&lt;br /&gt;
&lt;br /&gt;
to send feedback, bug reports, etc.&lt;br /&gt;
&lt;br /&gt;
== Current Features ==&lt;br /&gt;
&lt;br /&gt;
Grider is a fast-evolving client. The goal for the first release, 0.1, was to illustrate how to make a secure client in terms of: (1) Teleports and (2) Inventory Access.&lt;br /&gt;
&lt;br /&gt;
=== Teleports ===&lt;br /&gt;
&lt;br /&gt;
Agent transfers are controlled by the client. The regions cannot teleport the user's agent-- they may close the connection to it, but they can't teleport it. This is to avoid malicious teleports and/or connections to unwanted sims (think browser pop ups!). In the future, the current region-side teleports may be supported too, in a more controlled manner, but since the goal of Grider is to explore secure alternatives for the Hypergrid, supporting what already exists doesn't seem that important. The most important thing here is to show how to do client-side teleports, very much like what web user agents do.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Access ===&lt;br /&gt;
&lt;br /&gt;
Inventory access is done directly from the client to the inventory server, wherever it is, and independent of what sim the user is. Inventory servers now have the option to deny access to users' inventory from the regions, which addresses the critical vulnerability described in https://lists.berlios.de/pipermail/opensim-dev/2009-February/005409.html. &lt;br /&gt;
&lt;br /&gt;
Access to the user's inventory from the client is done in a secure manner using capabilities, both the few built-in ones like notecard updates, and many new ones related to manipulation of items and folders. Capabilities to the user's inventory are obtained during login, and after an authentication/authorization step that the user's Inventory server performs with respect to the client.&lt;br /&gt;
&lt;br /&gt;
== Sequence Diagrams ==&lt;br /&gt;
&lt;br /&gt;
=== Login ===&lt;br /&gt;
&lt;br /&gt;
[[image:HG_Grider_Login.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Teleport ===&lt;br /&gt;
&lt;br /&gt;
[[image:HG_Grider_Teleport.jpg|400px]]&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Grider</id>
		<title>Grider</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Grider"/>
				<updated>2009-06-18T02:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: &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;
&lt;br /&gt;
Grider is a client for the safe [[Hypergrid]] based on LibOMV's GridProxy, and distributed under a BSD license. Its main goal is to explore the protocols that are appropriate for a globally decentralized Virtual Worlds System without having to develop a 3D render from scratch. As such, it wraps the existing Linden Lab-based viewers, both the official viewer and derivatives such as the Hippo, modifying their communications behavior externally -- no source code modification is involved.&lt;br /&gt;
&lt;br /&gt;
== Getting Grider Up &amp;amp; Running ==&lt;br /&gt;
&lt;br /&gt;
Precompiled packages:&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/frs/&lt;br /&gt;
&lt;br /&gt;
Sources:&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/scmsvn/?action=AccessInfo&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Unzip the zip file onto some directory.&lt;br /&gt;
&lt;br /&gt;
=== Running ===&lt;br /&gt;
&lt;br /&gt;
Run Grider.exe. The first time it runs it asks you for the path to your favorite viewer. This information is then stored in a file called Grider.ini. If you need to change the path to the viewer in the future, simply edit or remove that file.&lt;br /&gt;
&lt;br /&gt;
[[image:Running.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your grid ===&lt;br /&gt;
&lt;br /&gt;
NOTE: The regions you visit must be running in Hypergrid mode, or you won't be able to Teleport.&lt;br /&gt;
&lt;br /&gt;
If you choose to use the official LL viewer, there are no more set up steps. The picture below shows examples of login information. Enter your information accordingly. Notice that the grid identification goes in the Last Name tab. By default, it uses port 8002 for user servers; if that is not the case for your server, enter the port accordingly (see the example with localhost).&lt;br /&gt;
&lt;br /&gt;
[[image:Login.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
If you choose to use the Hippo, you need to choose as grid &amp;quot;proxy&amp;quot;, as shown below:&lt;br /&gt;
&lt;br /&gt;
[[image:Hippo.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
NOTE:  Under Hippo Viewer 0.5.1, Proxy is not there by default.  You will have to manually add the Proxy information as shown in the above image for correct operation.  This needs further detailed information and specification for completion.&lt;br /&gt;
(Updated June.17.2009 by WhiteStar Magic @ request of Diva)&lt;br /&gt;
&lt;br /&gt;
=== Feedback ===&lt;br /&gt;
&lt;br /&gt;
Please use&lt;br /&gt;
&lt;br /&gt;
 http://forge.opensimulator.org/gf/project/hypergrid/tracker/&lt;br /&gt;
&lt;br /&gt;
to send feedback, bug reports, etc.&lt;br /&gt;
&lt;br /&gt;
== Current Features ==&lt;br /&gt;
&lt;br /&gt;
Grider is a fast-evolving client. The goal for the first release, 0.1, was to illustrate how to make a secure client in terms of: (1) Teleports and (2) Inventory Access.&lt;br /&gt;
&lt;br /&gt;
=== Teleports ===&lt;br /&gt;
&lt;br /&gt;
Agent transfers are controlled by the client. The regions cannot teleport the user's agent-- they may close the connection to it, but they can't teleport it. This is to avoid malicious teleports and/or connections to unwanted sims (think browser pop ups!). In the future, the current region-side teleports may be supported too, in a more controlled manner, but since the goal of Grider is to explore secure alternatives for the Hypergrid, supporting what already exists doesn't seem that important. The most important thing here is to show how to do client-side teleports, very much like what web user agents do.&lt;br /&gt;
&lt;br /&gt;
=== Inventory Access ===&lt;br /&gt;
&lt;br /&gt;
Inventory access is done directly from the client to the inventory server, wherever it is, and independent of what sim the user is. Inventory servers now have the option to deny access to users' inventory from the regions, which addresses the critical vulnerability described in https://lists.berlios.de/pipermail/opensim-dev/2009-February/005409.html. &lt;br /&gt;
&lt;br /&gt;
Access to the user's inventory from the client is done in a secure manner using capabilities, both the few built-in ones like notecard updates, and many new ones related to manipulation of items and folders. Capabilities to the user's inventory are obtained during login, and after an authentication/authorization step that the user's Inventory server performs with respect to the client.&lt;br /&gt;
&lt;br /&gt;
== Sequence Diagrams ==&lt;br /&gt;
&lt;br /&gt;
=== Login ===&lt;br /&gt;
&lt;br /&gt;
[[image:HG_Grider_Login.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Teleport ===&lt;br /&gt;
&lt;br /&gt;
[[image:HG_Grider_Teleport.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
derp testing&lt;br /&gt;
[[Image:Derp_test.jpg]]&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/File:Derp_test.jpg</id>
		<title>File:Derp test.jpg</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/File:Derp_test.jpg"/>
				<updated>2009-06-18T02:55:46Z</updated>
		
		<summary type="html">&lt;p&gt;OtakuMegane: Just a test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just a test&lt;/div&gt;</summary>
		<author><name>OtakuMegane</name></author>	</entry>

	</feed>