#!/bin/sh

# see my location
MYNAME=$(basename $0)
TMPFILE=/tmp/$MYNAME.txt
APP=$(readlink -e $0)
[ "$APP" ] || APP=$0
APPDIR=$(dirname "$APP")
[ "$APPDIR" = "." ] && APPDIR=$(pwd)
GUEST_PREFIX=$APPDIR/opensim-0.8.2.1-jog
GUEST_BINDIR=$GUEST_PREFIX/bin
REGIONFILE=$GUEST_BINDIR/Regions/Regions.ini

#rewrite IP
if [ ! -r "$REGIONFILE" ]; then
  echo "'$REGIONFILE' not found."
  exit 1
fi
if [ ! -w "$REGIONFILE" ]; then
  echo "'$REGIONFILE' rewriting denied.."
  exit 1
fi
echo "Trying to get the external IP..."
EXTERNALIP=$(wget -t 3 -O - -q icanhazip.com)
if [ -z "$EXTERNALIP" ]; then
  echo "External IP cannot obtained."
  exit -1
fi
sed -e 's/ExternalHostName.*$/ExternalHostName = '$EXTERNALIP'/g' "$REGIONFILE" > "$TMPFILE"
if [ ! -s "$TMPFILE" ]; then
  echo "Rewriting failed."
  exit 1
fi
mv -f "$TMPFILE" "$REGIONFILE"
echo "'$REGIONFILE' updated."

# clear old stuff
rm -f "$GUEST_BINDIR"/OpenSim.log*
rm -fr "$GUEST_BINDIR"/assetcache

#launch opensim
chown opensim.opensim -R "$GUEST_BINDIR"
export PATH="$PATH:$GUEST_BINDIR"
export HOME="$APPDIR"
cd "$GUEST_BINDIR"
sudo -u opensim mono OpenSim.exe
