Merge branch 'release-2.140.109'
[feisty_meow.git] / scripts / opensim / opensim_utils.sh
index 3e84b705c58b6e0a5a3c4891c756023b840f0f8e..130e9cddd56dcd34400044721a835535040c957c 100644 (file)
@@ -2,8 +2,10 @@
 # this is a collection of scripts that assist in managing an opensim server.
 # it uses the "screen" utility to manage opensimulator instances.
 
+source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
+
 # set up some parameters that we believe (or have been told) are beneficial.
-export MONO_THREADS_PER_CPU=408
+export MONO_THREADS_PER_CPU=1208
 
 # we run the processes with a little cpu de-prioritization.  we do not want
 # them taking over completely if there's a runaway mono tornado.
@@ -15,11 +17,11 @@ export LANG=C
 
 # this is used as a process startup snooze, to avoid running a dependent
 # process before the dependency has really started.
-export SNOOZE_TIME=7
+export SNOOZE_TIME=6
 
 # lock the limit in for threads, so we don't have any getting out of control.
 # also make sure we've provided enough space for each thread.
-ulimit -s 262144
+ulimit -s 512144
 
 # use more recent versions of mono for opensim if they're available.
 if [ -d /opt/mono-2.10/bin ]; then
@@ -33,11 +35,20 @@ function launch_screen()
 {
   screen_name="$1"; shift
   app_name="$1"; shift
-  echo "$(mdate): starting $screen_name now..."
+  echo "$(date_stringer ' '): starting $screen_name now..."
+#hmmm: version check for if we're using old screen?  this -L change was a mistake though for the screen project owners on ubuntu.
+local boguslog=$HOME/screen_junk_$(date_stringer).log
+#maybe they unbroke it in 17.10?  yes, but it requires NO space now.  *&@#*&@#
+#hmmm: bring back old version but check for ubuntu 17.04 vs 17.10 now.
+#actually they made it a new parm.  arghhh!
   screen -L -S "$screen_name" -d -m nice -n $NICENESS_LEVEL mono "$app_name" 
-#-console=basic 
-  echo "$(mdate): $screen_name started."
-  sleep $SNOOZE_TIME
+#$boguslog 
+
+  echo "$(date_stringer ' '): $screen_name started."
+  # only sleep if we are not at the last process that gets started.
+  if [ "$app_name" != "OpenSim.exe" ]; then
+    sleep $SNOOZE_TIME
+  fi
 }
 
 # finds the opensim process specified or returns a blank string in the
@@ -59,13 +70,13 @@ function close_application()
 {
   screen_name="$1"; shift
   process_name="$1"; shift
-  echo "$(mdate): stopping $screen_name now..."
+  echo "$(date_stringer ' '): stopping $screen_name now..."
   screen -r -s "$screen_name" -X quit
 
   # we don't want to shut any other servers down until this process is really gone.
   find_opensim_process $process_name
   if [ ! -z "$OS_PROC_ID" ]; then
-    echo "$(mdate): waiting for $screen_name to really shut down..."
+    echo "$(date_stringer ' '): waiting for $screen_name to really shut down..."
     sleep $SNOOZE_TIME
     # check again after the snooze.
     find_opensim_process $process_name
@@ -73,7 +84,7 @@ function close_application()
       find_opensim_process $process_name
 #break out on timed basis.
     done
-    echo "$(mdate): $screen_name really is shut down now."
+    echo "$(date_stringer ' '): $screen_name really is shut down now."
 
 #do this as last ditch, above in timeout
     find_opensim_process $process_name
@@ -85,6 +96,6 @@ function close_application()
 
   fi
 
-  echo "$(mdate): $screen_name stopped."
+  echo "$(date_stringer ' '): $screen_name stopped."
 }