[Opensim-users] Question about IAR files
Roger BUCK
rbuck at atomicit.com.au
Wed Feb 24 03:07:34 UTC 2010
Apologies for 'terse' - No time for detailed answer now, but here's one
way to get started:
GMail-johnpat10 wrote:
> 1. When I was running Save and Load IAR I'm working directly on the
> server and the command line on the server. It also saved the IAR files
> directly to the bin folder (Diva install) and requires that they be in
> the bin folder when I load them back into a different sim.
The path to load/save .iar can be specified - this allows for lots of
options beyond the obvious - it is possible to both store local content
and mount remote shares into designated local filesystem, for example:
opt/opensim/bin/Library/folders
See: http://opensimulator.org/wiki/Inventory_Archives
This 'sort of' works for simple instances - I had trouble with path
recursion but not had time to investigate in detail (see previous
threads in this list)
> This is not
> a problem when the server and the client are on the same hardware (my
> desktop), but when OpenSim is deployed on it's own hardware, am i going
> to have to log in remotely to the server to run iar? Is it possible to
> ssh to OpenSim server and run the management console to save and load
> IAR files? How would you do that if the server is already running,
Yes to all of the above - using the 'screen' utility provides one
solution - start your instance of opensim in a 'screen' session, login
via ssh and access/attach logout/detach from that session as often as
you like.
Some info about 'screen':
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
This example RH style sysv init script might give you some ideas:
#!/bin/bash
#
# Provides an OTT sys.v init script
# with multiple 'screen' sessions opensim
#
# opensim
#
# chkconfig: - 51 50
# description: OpenSim diva distro
# processname: opensim
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
# See how we were called.
case "$2" in
realxtend)
echo "Distro ${2}..."
BIN_DIR="/opt/opensim/realxtend/bin"
;;
*)
# diva...
ROOT_DIR="/opt/opensim"
BIN_DIR="/opt/opensim/diva/bin"
esac
#echo "Debug ${2}: Set path to default disto located in: ${BIN_DIR}"
# Check app exists, or exit...
[ -f ${BIN_DIR}/OpenSim.exe ] || exit 0
function startdiva {
cd ${BIN_DIR}
echo " Starting OpenSim..."
ulimit -s 262144
screen -S opensim -d -m mono OpenSim.exe
-physics=OpenDynamicsEngine -gridmode=false
}
function getstatus {
session=( $(screen -ls | sed -r -ne 's/ *//g' -ne
's/\((At|De)tached\)// p') )
echo "Debug session: ${session}"
screen -list
echo "To view a screen: 'screen -r screenname'"
}
function killscreens {
killall -15 screen > /dev/null 2>&1
screen -wipe > /dev/null 2>&1
echo "Opensim screen instances killed..."
}
if [ "$#" -eq "0" ]; then
session=( $(screen -ls | sed -r -ne 's/ *//g' -ne
's/\((At|De)tached\)// p') )
echo "valid parameters are: ${0} [ start | stop | status | fixip ]"
else
case "$1" in
"start")
startdiva
;;
"stop")
killscreens
;;
"status")
getstatus
;;
"restart")
killall -HUP mono
$0 stop
sleep 2s
$0 start
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
esac
fi
# To display active background sessions...
screen -list
echo "To view a screen: 'screen -r screenname "
# === done ===
More information about the Opensim-users
mailing list