Simxtd

From OpenSimulator

Jump to: navigation, search


#!/bin/bash
# simxtd, automated simulator installer
# BSD-Licensed
# Copyright (c) <2009>, <Jeroen van Veen, OS-Networks>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the <organization> nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY <OS-Networks> ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL <OS-Networks> BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
oshome='/opt/opensim'
 
function buildos {
 pushd $oshome/$simdir > /dev/null 2>&1
 sh runprebuild.sh
 nant
 popd > /dev/null 2>&1
}
function buildmodrex {
 pushd $oshome/$simdir/modrex/ModularRex > /dev/null 2>&1
 sh runprebuild.sh
 nant
 cp -a RexParts/RexPython/Resources/* ../../bin/ScriptEngines/
 cat modrex.ini ../../bin/OpenSim.ini.example > ../../bin/OpenSim.ini.modrex
 popd > /dev/null 2>&1
}
function buildrexauth {
 pushd $oshome/rexauth > /dev/null 2>&1
 mono bin/Prebuild.exe /target nant
 nant
 popd > /dev/null 2>&1
}
function buildrexavatar {
 pushd $oshome/rexavatar > /dev/null 2>&1
 mono bin/Prebuild.exe /target nant
 nant
 popd > /dev/null 2>&1
}
#---------------------------------------------------------------------------#
 
function getvansim {
 if [ -d "$oshome/$simdir" ]; then
  echo -n "simulator-dir exists. Updating..."
  pushd $oshome/$simdir > /dev/null 2>&1
  svn update
  buildos
  popd > /dev/null 2>&1
 else
  echo -n "installing vanilla simulator..."
  mkdir $oshome/$simdir/ > /dev/null 2>&1
  svn co http://opensimulator.org/svn/opensim/trunk $oshome/$simdir
  buildos
 fi
}
 
function getrexsim {
 if [ -d "$oshome/$simdir" ]; then
  if [ ! -d "$oshome/$simdir/modrex" ]; then
  echo "this is a vanilla simulator. action aborted..."
  exit 0
  fi
  echo -n "simulator-dir exists. Updating..."
  pushd $oshome/$simdir > /dev/null 2>&1
  svn update
  buildos
  pushd $oshome/$simdir/modrex/ModularRex > /dev/null 2>&1
  svn update
  buildmodrex
  popd > /dev/null 2>&1
  popd > /dev/null 2>&1
 else
  echo "installing modrex simulator..."
  mkdir $oshome/$simdir/ $oshome/$simdir/modrex > /dev/null 2>&1
  svn co http://opensimulator.org/svn/opensim/trunk $oshome/$simdir
  buildos
  svn co http://forge.opensimulator.org/svn/modrex/trunk $oshome/$simdir/modrex
  buildmodrex
 fi
}
 
function getrexavauth {
 if [ -d "$oshome/rexauth" ]; then
  echo "realxtend authentication service-dir exists. Updating..."
  pushd $oshome/rexauth > /dev/null 2>&1
  svn update
  buildrexauth
 else 
  echo "installing realxtend authentication service..."
  svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/trunk $oshome/rexauth
  buildrexauth
 fi
 if [ -d "$oshome/rexavatar" ]; then
  echo "realxtend avatarstorage service-dir exists. Updating..."
  pushd $oshome/rexavatar > /dev/null 2>&1
  svn update
  buildrexavatar
 else
  echo "installing realxtend avatarstorage service..."
  svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/trunk $oshome/rexavatar
  buildrexavatar
 fi
}
 
function gethelp {
echo "$0 -vansim mydir - install or update a vanilla simulator in $oshome/mydir"
echo "$0 -rexsim mydir - install or update a modrex simulator in $oshome/mydir"
echo "$0 -rexavauth - install or update rexauth and rexavatar in $oshome/(rexauth/rexavatar)"
echo ""
echo "Hint: Use dirs that define mode(rex/van),type(sa/grid) and listener(9000/9100/9200); f.i. rex_sa9000"
echo ""
}
 
if [ "$#" -eq "2" ]; then
 case "$1" in
 "-vansim")
 simdir="$2"
 getvansim
 ;;
 "-rexsim")
 simdir="$2"
 getrexsim
 ;;
 *)
 echo "Type $0 -help for help" 
 ;;
 esac
 
elif [ "$#" -eq "1" ]; then
 case "$1" in
 "-rexavauth")
 getrexavauth
 ;;
 "-help")
 gethelp
 ;;
 *)
 echo "Type $0 -help for help"
 ;;
 esac
else
echo "Type $0 -help for help"
fi
exit 0
Personal tools
General
About This Wiki