Hallo, Gast
Sie müssen sich registrieren bevor Sie auf unserer Seite Beiträge schreiben können.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 257
» Neuestes Mitglied: Jollessaris
» Foren-Themen: 1,171
» Foren-Beiträge: 5,529

Komplettstatistiken

Benutzer Online
Momentan sind 85 Benutzer online
» 0 Mitglieder
» 83 Gäste
Bing, Google

Aktive Themen
Freitag: Mottoparty: FIT ...
Forum: Events
Letzter Beitrag: Kiki Baily
Vor 1 Stunde
» Antworten: 4
» Ansichten: 142
Partie's auf Caledonia!
Forum: Events
Letzter Beitrag: Cayoun Daydreamer
Vor 4 Stunden
» Antworten: 7
» Ansichten: 607
Samstags-Party
Forum: Events
Letzter Beitrag: Dina
, 08:27 PM
» Antworten: 2
» Ansichten: 182
opensim script
Forum: Linux
Letzter Beitrag: Manni
, 07:43 PM
» Antworten: 1
» Ansichten: 71
Donnerstag - Richi´s Musi...
Forum: Events
Letzter Beitrag: Marina Baer
, 10:57 AM
» Antworten: 11
» Ansichten: 793
Läuft mein OpenSim im scr...
Forum: Tipps und Tricks
Letzter Beitrag: Manni
05-14-2021, 10:38 PM
» Antworten: 6
» Ansichten: 416
Gridgeburtstag
Forum: Iceladygrid
Letzter Beitrag: Icelady Pearl
05-12-2021, 03:15 PM
» Antworten: 0
» Ansichten: 98
Blue Wave Club
Forum: Events
Letzter Beitrag: Samira
05-12-2021, 01:41 PM
» Antworten: 242
» Ansichten: 331,482
Kroatan schließt seine Pf...
Forum: Neuigkeiten
Letzter Beitrag: Piper
05-12-2021, 07:03 AM
» Antworten: 1
» Ansichten: 145
Forum und Server Umstellu...
Forum: Forum News
Letzter Beitrag: Achim
05-11-2021, 05:36 PM
» Antworten: 4
» Ansichten: 326
Freitag. Partytime mit So...
Forum: Events
Letzter Beitrag: Marina Baer
05-07-2021, 05:17 PM
» Antworten: 1
» Ansichten: 114
Partys im Mai bei NextLif...
Forum: Events
Letzter Beitrag: Dina
05-05-2021, 05:09 PM
» Antworten: 3
» Ansichten: 349
Freitag: Rock´n Roll, Roc...
Forum: Events
Letzter Beitrag: Marina Baer
05-01-2021, 11:07 AM
» Antworten: 2
» Ansichten: 228
User Inventar in neue (an...
Forum: Linux
Letzter Beitrag: Marty
04-27-2021, 10:49 AM
» Antworten: 9
» Ansichten: 569
SANCTUARY - Das Adventure...
Forum: The Public World
Letzter Beitrag: Loru Destiny
04-26-2021, 01:10 PM
» Antworten: 4
» Ansichten: 796

 
  opensim script
Geschrieben von: Manni - , 11:30 AM - Forum: Linux - Antworten (1)

Mein neustes opensim.sh Shell Script
opensim Version 0.13.49 by Manfred Aabye
opensim.sh Basiert auf meinen Einzelscripten, an denen ich bereits 6 Jahre Arbeite und verbessere.
Da Server unterschiedlich sind, kann eine einwandfreie Funktion nicht gewährleistet werden, also bitte mit bedacht verwenden.
Die Benutzung dieses Scripts, oder deren Bestandteile, erfolgt auf eigene Gefahr!!!
Erstellt und getestet ist opensim.sh, auf verschiedenen Ubuntu 18.04 Servern, unter verschiedenen Server Anbietern (Contabo, Hetzner ...).

Es werden zusätzlich 2 Konfigurationsdateien benötigt die für den automatischen Start und stopp benötigt werden.
Diese Dateien müssen am Ende eine Leerzeile haben. Die Startreihenfolge ergibt sich aus der Aufstellung.
Die Pfade sowie Wartezeiten können im Script einfach angepasst werden.
Bitte beachtet der Verzeichnisname des OpenSimulator ist gleichzeitig der Screen Name.
Dieses Script läuft auf einem Grid mit 40 Simulatoren genauso wie mit an OsGrid angebundenen Simulatoren.
Wird kein Robust oder Money Verzeichnis gefunden, werden diese auch nicht gestartet.

   

opensim.sh

Code:
#!/bin/bash
# opensim Version 0.13.49 by Manfred Aabye
# opensim.sh Basiert auf meinen Einzelscripten, an denen ich bereits 6 Jahre Arbeite und verbessere.
# Da Server unterschiedlich sind, kann eine einwandfreie fuunktion nicht gewährleistet werden, also bitte mit bedacht verwenden.
# Die Benutzung dieses Scriptes, oder deren Bestandteile, erfolgt auf eigene Gefahr!!!
# Erstellt und getestet ist opensim.sh, auf verschiedenen Ubuntu 18.04 Servern, unter verschiedenen Server Anbietern (Contabo, Hetzner ...).

clear

echo "   ____                        _____  _                    _         _               "    
echo "  / __ \                      / ____|(_)                  | |       | |              "
echo " | |  | | _ __    ___  _ __  | (___   _  _ __ ___   _   _ | |  __ _ | |_  ___   _ __ "
echo " | |  | ||  _ \  / _ \|  _ \  \___ \ | ||  _   _ \ | | | || | / _  || __|/ _ \ |  __|"
echo " | |__| || |_) ||  __/| | | | ____) || || | | | | || |_| || || (_| || |_| (_) || |   "
echo "  \____/ |  __/  \___||_| |_||_____/ |_||_| |_| |_| \____||_| \____| \__|\___/ |_|   "
echo "         | |                                                                         "
echo "         |_|                                                                         "
echo "        Virtuelle Welten"
echo " "

### Alte Variablen loeschen von eventuellen voherigen sessions ###
unset STARTVERZEICHNIS
unset MONEYVERZEICHNIS
unset ROBUSTVERZEICHNIS
unset OPENSIMVERZEICHNIS
unset SCRIPTSOURCE
unset MONEYSOURCE

### Einstellungen ###
## Das Startverzeichnis home oder opt zum Beispiel.
STARTVERZEICHNIS="opt"
MONEYVERZEICHNIS="robust"
ROBUSTVERZEICHNIS="robust"
OPENSIMVERZEICHNIS="opensim"
SCRIPTSOURCE="ScriptNeu"
MONEYSOURCE="money48"
## Die unterschiedlichen wartezeiten bis die Aktion ausgefuehrt wurde.
WARTEZEIT=30 # Ist eine allgemeine Wartezeit.
STARTWARTEZEIT=10 # Startwartezeit ist eine Pause, damit nicht alle Simulatoren gleichzeitig starten.
STOPWARTEZEIT=30 # Stopwartezeit ist eine Pause, damit nicht alle Simulatoren gleichzeitig herunterfahren.
MONEYWARTEZEIT=50 # Moneywartezeit ist eine Extra Pause, weil dieser zwischen Robust und Simulatoren gestartet werden muss.
BACKUPWARTEZEIT=120 # Backupwartezeit ist eine Pause, damit der Server nicht ueberlastet wird.
AUTOSTOPZEIT=60 # Autostopzeit ist eine Pause, um den Simulatoren zeit zum herunterfahren gegeben wird, bevor haengende Simulatoren gekillt werden.
## Farben
# Black=0
Red=1
Green=2
Yellow=3
# Blue=4
# Magenta=5
# Cyan=6
White=7
### Einstellungen Ende ###

cd /$STARTVERZEICHNIS || exit
sleep 1
KOMMANDO=$1

### Funktion vardel, Variablen loeschen.
function vardel()
{
    unset STARTVERZEICHNIS
    unset MONEYVERZEICHNIS
    unset ROBUSTVERZEICHNIS
    unset WARTEZEIT
    unset STARTWARTEZEIT
    unset unset STOPWARTEZEIT
    unset MONEYWARTEZEIT
    unset Red
    unset Green
    unset White
}
### Erstellen eines Arrays aus einer Textdatei ###
function makeverzeichnisliste()
{
    VERZEICHNISSLISTE=()
    while IFS= read -r line; do
    VERZEICHNISSLISTE+=("$line")
    done < /$STARTVERZEICHNIS/SimulatorList.ini
    # Anzahl der Eintraege.
    ANZAHLVERZEICHNISSLISTE=${#VERZEICHNISSLISTE[*]}
}
function makeregionsliste()
{
    REGIONSLISTE=()
    while IFS= read -r line; do
    REGIONSLISTE+=("$line")
    done < /$STARTVERZEICHNIS/RegionList.ini
    # Anzahl der Eintraege.   
    ANZAHLREGIONSLISTE=${#REGIONSLISTE[*]}
}

### Funktion assetdel, Asset von der Region loeschen.
# assetdel screen_name Regionsname Objektname
function assetdel()
{
    echo "$(tput setaf $Red) $(tput setab $White)$3 Asset von der Region löschen$(tput sgr 0)"
        screen -S "$1" -p 0 -X eval "stuff 'change region ""$2""'^M" # Region wechseln
        screen -S "$1" -p 0 -X eval "stuff 'alert "Loesche: "$3" von der Region!"'^M" # Mit einer loesch Meldung
        screen -S "$1" -p 0 -X eval "stuff 'delete object name ""$3""'^M" # Objekt loeschen
        screen -S "$1" -p 0 -X eval "stuff 'y'^M" # Mit y also yes bestaetigen
}

### Funktion works, screen pruefen ob er laeuft.
# works screen_name
function works()
{
    if ! screen -list | grep -q "$1"; then
        # es laeuft nicht - not work
            echo "$(tput setaf $White)$(tput setab $Red) $1 OFFLINE! $(tput sgr 0)"
            return 1
        else
        # es laeuft - work
            echo "$(tput setaf $White)$(tput setab $Green) $1 ONLINE! $(tput sgr 0)"
            return 0
    fi
}

### Funktion checkfile, pruefen ob Datei vorhanden ist.
# checkfile "pfad/name"
# checkfile /pfad/zur/datei && echo "File exists" || echo "File not found!"
function checkfile
{
    [ -f "$1" ]
    return $?
}

### Funktion mapdel, loescht die Map-Karten.
# mapdel Verzeichnis
function mapdel()
{
    if [ -d "$1" ]; then
      echo "$(tput setaf $Red) $(tput setab $White)OpenSimulator maptile $1 geloescht$(tput sgr 0)"
      cd /$STARTVERZEICHNIS/"$1"/bin || exit
      rm -r maptiles/*
    else
      echo "$(tput setaf $Red)maptile $1 nicht gefunden $(tput sgr 0)"
    fi
}
### Funktion logdel, loescht die Log Dateien.
# logdel Verzeichnis
function logdel()
{
    if [ -d "$1" ]; then
      echo "$(tput setaf $Red) $(tput setab $White)OpenSimulator log $1 geloescht$(tput sgr 0)"
      rm /$STARTVERZEICHNIS/"$1"/bin/*.log
    else
      echo "$(tput setaf $Red)logs nicht gefunden $(tput sgr 0)"
    fi
}

### Funktion ossettings, stellt den Linux Server fuer OpenSim ein.
function ossettings()
{
    # Hier kommen alle gewünschten Einstellungen rein.
    echo "$(tput setab $Green)Setze Einstellungen! $(tput sgr 0)"
    echo "ulimit -s 1048576"
    ulimit -s 1048576
    echo "minor=split,promotion-age=14,nursery-size=64m"
    export MONO_GC_PARAMS="minor=split,promotion-age=14,nursery-size=64m"
    echo " "
}

### Funktion screenlist, Laufende Screens auflisten.
function screenlist()
{
    echo "$(tput setaf 2) Alle laufende Screens! $(tput sgr 0)"
    screen -ls
}

### Funktion osstart, startet Region Server.
# osstart screen_name
# Beispiel-Example: osstart sim1
function osstart()
{
    if [ -d "$1" ]; then
      echo "$(tput setaf 2) $(tput setab $White)Regionen OpenSimulator $1 Starten$(tput sgr 0)"
      cd /$STARTVERZEICHNIS/"$1"/bin || exit
      screen -fa -S "$1" -d -U -m mono OpenSim.exe
      sleep 10
    else
      echo "$(tput setaf $Red) $(tput setab $Yellow)Regionen OpenSimulator $1 nicht vorhanden$(tput sgr 0)"
    fi
}

### Funktion rostart, Robust Server starten.
function rostart()
{
    if checkfile /$STARTVERZEICHNIS/$ROBUSTVERZEICHNIS/bin/Robust.exe; then
      echo "$(tput setaf 2) $(tput setab $White)Robust Start$(tput sgr 0)"
      cd /$STARTVERZEICHNIS/$ROBUSTVERZEICHNIS/bin || exit
      screen -fa -S RO -d -U -m mono Robust.exe
      sleep $WARTEZEIT
    else
      echo "$(tput setaf 2)Robust wurde nicht gefunden.$(tput sgr 0)"
    fi
}

### Funktion rostop, Robust Server herunterfahren.
function rostop()
{
    if screen -list | grep -q "RO"; then
      echo "$(tput setaf $Red) $(tput setab $White)RobustServer Beenden$(tput sgr 0)"
      screen -S RO -p 0 -X eval "stuff 'shutdown'^M"
      sleep $WARTEZEIT
    else
      echo "$(tput setaf $Red) $(tput setab $White)RobustServer nicht vorhanden$(tput sgr 0)"
    fi    
}

### Funktion mostart, Money Server starten.
function mostart()
{
    if checkfile /$STARTVERZEICHNIS/$MONEYVERZEICHNIS/bin/MoneyServer.exe; then
      echo "$(tput setaf 2) $(tput setab $White)MoneyServer Start$(tput sgr 0)"
      cd /$STARTVERZEICHNIS/$MONEYVERZEICHNIS/bin || exit
      screen -fa -S MO -d -U -m mono MoneyServer.exe
      sleep $MONEYWARTEZEIT
    else
      echo "$(tput setaf 2)MoneyServer wurde nicht gefunden.$(tput sgr 0)"
    fi
}

### Funktion mostop, Money Server herunterfahren.
function mostop()
{
    if screen -list | grep -q "MO"; then
      echo "$(tput setaf $Red) $(tput setab $White)MoneyServer Beenden$(tput sgr 0)"
      screen -S MO -p 0 -X eval "stuff 'shutdown'^M"
      sleep $MONEYWARTEZEIT
    else
      echo "$(tput setaf $Red) $(tput setab $White)MoneyServer nicht vorhanden$(tput sgr 0)"
    fi    
}

### Funktion osstop, stoppt Region Server.
# Beispiel-Example: osstop sim1
function osstop()
{
    if screen -list | grep -q "$1"; then
      echo "$(tput setaf $Red) $(tput setab $White)Regionen OpenSimulator $1 Beenden$(tput sgr 0)"
      screen -S "$1" -p 0 -X eval "stuff 'shutdown'^M"
    else
      echo "$(tput setaf $Red) $(tput setab $White)Regionen OpenSimulator $1 nicht vorhanden$(tput sgr 0)"
    fi
    sleep 10
}

### Funktion osscreenstop, beendet Screeens.
# Beispiel-Example: osscreenstop sim1
function osscreenstop()
{
    if screen -list | grep -q "$1"; then
      echo "$(tput setaf $Red) $(tput setab $White)Screeen $1 Beenden$(tput sgr 0)"
      screen -S "$1" -X quit
    else
      echo "$(tput setaf $Red) $(tput setab $White)Screeen $1 nicht vorhanden$(tput sgr 0)"
    fi
    echo "No screen session found. Ist hier kein Fehler, sondern ein Beweis, das alles zuvor sauber heruntergefahren wurde."
    #echo "Exit Status: $?"
}

### Funktion gridstart, startet erst Robust und dann Money
function gridstart()
{
    if screen -list | grep -q RO; then
        echo "$(tput setaf $Red) $(tput setab $White)RobustServer läuft bereits $(tput sgr 0)"
    else
          rostart
    fi

    if screen -list | grep -q MO; then
        echo "$(tput setaf $Red) $(tput setab $White)MoneyServer läuft bereits $(tput sgr 0)"
    else
        mostart
    fi
}
### Funktion gridstop, stoppt erst Money dann Robust
function gridstop()
{
    if screen -list | grep -q MO; then
        mostop
    else
        echo "$(tput setaf $Red)MoneyServer läuft nicht $(tput sgr 0)"
    fi

    if screen -list | grep -q RO; then
        rostop
    else
        echo "$(tput setaf $Red)RobustServer läuft nicht $(tput sgr 0)"
    fi
}

### Funktion terminator
function terminator()
{
    echo "hasta la vista baby"
    killall screen
    screen -ls    
}

### Funktion compilieren, kompilieren des OpenSimulator.
function compilieren()
{
    echo "$(tput setab $Green)Bauen eines neuen OpenSimulators wird gestartet! $(tput sgr 0)"
    scriptcopy
    moneycopy
    oscompi
}

### Funktion oscompi, kompilieren des OpenSimulator.
function oscompi()
{
    echo "$(tput setab $Green)Kompilierungsvorgang startet! $(tput sgr 0)"
    # In das opensim Verzeichnis wechseln wenn es das gibt ansonsten beenden.
    cd /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS || exit
    
    echo 'Prebuildvorgang startet!'
    # runprebuild19.sh startbar machen und starten.
    chmod +x runprebuild19.sh
    ./runprebuild19.sh

    echo 'Kompilierungsvorgang startet!'
    # ohne log Datei.
    msbuild /p:Configuration=Release
    # mit log Datei.
    # msbuild /p:Configuration=Release /fileLogger /flp:logfile=opensimbuild.log /v:d
    echo " "
}

### Funktion scriptcopy, lsl ossl scripte kopieren.
function scriptcopy()
{
    echo "$(tput setab $Green)Script Assets werden kopiert! $(tput sgr 0)"
    cp -r /$STARTVERZEICHNIS/$SCRIPTSOURCE/assets /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS/bin
    cp -r /$STARTVERZEICHNIS/$SCRIPTSOURCE/inventory /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS/bin
    echo " "
}

### Funktion moneycopy, Money Dateien kopieren.
function moneycopy()
{
    echo "$(tput setab $Green)Money Kopiervorgang startet! $(tput sgr 0)"
    cp -r /$STARTVERZEICHNIS/$MONEYSOURCE/bin /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS
    cp -r /$STARTVERZEICHNIS/$MONEYSOURCE/addon-modules /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS
    echo " "
}

### Funktion osdelete
function osdelete()
{
    echo "$(tput setaf $Red) $(tput setab $White)Lösche alte opensim1 Dateien$(tput sgr 0)"
    cd /$STARTVERZEICHNIS || exit
    rm -r opensim1
    echo "$(tput setaf $Red) $(tput setab $White)Umbenennen von opensim nach opensim1 zur sicherung$(tput sgr 0)"
    mv opensim opensim1
    echo " "
}

### Funktion oscopy
function oscopy()
{
    makeverzeichnisliste
    echo "$(tput setab $Green)Kopiere Robust, Money und Simulatoren! $(tput sgr 0)"
    echo " "
    sleep 3
    #Robust
        echo "$(tput setaf $Green) $(tput setab $White)Robust und Money kopiert$(tput sgr 0)"
        cd /$STARTVERZEICHNIS/$ROBUSTVERZEICHNIS/bin || exit
        cp -r /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS/bin /$STARTVERZEICHNIS/$ROBUSTVERZEICHNIS
    #Sim
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        echo "$(tput setaf $Green) $(tput setab $White)OpenSimulator ${VERZEICHNISSLISTE[$i]} kopiert$(tput sgr 0)"
        cd /$STARTVERZEICHNIS/"${VERZEICHNISSLISTE[$i]}"/bin || exit
        cp -r /$STARTVERZEICHNIS/$OPENSIMVERZEICHNIS/bin /$STARTVERZEICHNIS/"${VERZEICHNISSLISTE[$i]}"
        sleep 3
    done
    echo " "
}

### Funktion osupgrade
function osupgrade()
{
    echo "$(tput setab $Green)Das Grid wird jetzt upgegradet! $(tput sgr 0)"
    echo " "
    # Grid Stoppen.
    autostop
    # Kopieren.
    oscopy
    # Grid Starten.
    autostart
}

function restore()
{    
    echo "Test gefährlich!!!"
    RESCREENNAME=$1
    REREGIONSNAME=$2
    PFADDATEINAME=$3
    screen -S "$RESCREENNAME" -p 0 -X eval "stuff 'change region ${REREGIONSNAME//\"/}'^M"
    # es muss hier geschaut werden das es nicht root ist sondern wirklich die Region sonst werden alle anderen ueberschrieben!!!
    screen -S "$RESCREENNAME" -p 0 -X eval "stuff 'load oar $PFADDATEINAME'^M"
}

### Funktion regionbackup
# regionbackup Screenname "Der Regionsname"
function regionbackup()
{
    # Backup Verzeichnis anlegen.
    mkdir -p /$STARTVERZEICHNIS/backup/

    # Datum für die Dateinamen in die Variable DATUM schreiben.
    #date +%F
    DATUM=$(date +%F)

    sleep 3

    SCREENNAME=$1
    REGIONSNAME=$2
    
    dateiname=${REGIONSNAME//\"/}
    nospace=${dateiname// /}

    echo "$(tput setaf 4) $(tput setab 7)Region $nospace speichern$(tput sgr 0)"
    cd /$STARTVERZEICHNIS/"$SCREENNAME"/bin || exit
    # Ich kann nicht pruefen ob die Region im OpenSimulator vorhanden ist.
    # Sollte sie nicht vorhanden sein wird root also alle Regionen gespeichert.
    screen -S "$SCREENNAME" -p 0 -X eval "stuff 'change region ${REGIONSNAME//\"/}'^M"
    screen -S "$SCREENNAME" -p 0 -X eval "stuff 'save oar /$STARTVERZEICHNIS/backup/'$DATUM'-$nospace.oar'^M"
    screen -S "$SCREENNAME" -p 0 -X eval "stuff 'terrain save /$STARTVERZEICHNIS/backup/'$DATUM'-$nospace.png'^M"
    screen -S "$SCREENNAME" -p 0 -X eval "stuff 'terrain save /$STARTVERZEICHNIS/backup/'$DATUM'-$nospace.raw'^M"
    echo " "
    sleep 10

    if [ ! -f /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/"$nospace".ini ]; then
        cp -r /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/Regions.ini /$STARTVERZEICHNIS/backup/"$DATUM"-"$nospace".ini
        echo "$(tput setaf 2)Regions.ini wurde als $DATUM-$nospace.ini gespeichert."
        echo "Bitte alle Regionen bis auf Region ${REGIONSNAME//\"/} aus dieser Datei entfernen.$(tput sgr 0)"
    fi

    if [ ! -f /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/"${REGIONSNAME//\"/}".ini ]; then
        cp -r /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/Regions.ini /$STARTVERZEICHNIS/backup/"$DATUM"-"$nospace".ini
        echo "$(tput setaf 2)Regions.ini wurde als $DATUM-$nospace.ini gespeichert."
        echo "Bitte alle Regionen bis auf Region ${2//\"/} aus dieser Datei entfernen.$(tput sgr 0)"
    fi

    if [ ! -f /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/Regions.ini ]; then
        cp -r /$STARTVERZEICHNIS/"$SCREENNAME"/bin/Regions/"$nospace".ini /$STARTVERZEICHNIS/backup/"$DATUM"-"$nospace".ini    
    fi
}

### Funktion autosimstart
function autosimstart()
{
    makeverzeichnisliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        echo "$(tput setaf 2) $(tput setab $White)Regionen OpenSimulator ${VERZEICHNISSLISTE[$i]} Starten$(tput sgr 0)"
        cd /$STARTVERZEICHNIS/"${VERZEICHNISSLISTE[$i]}"/bin || exit
        screen -fa -S "${VERZEICHNISSLISTE[$i]}" -d -U -m mono OpenSim.exe
        sleep $STARTWARTEZEIT
    done
}
### Funktion autosimstop
function autosimstop()
{
    makeverzeichnisliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        echo "$(tput setaf $Red) $(tput setab $White)Regionen OpenSimulator ${VERZEICHNISSLISTE[$i]} Beenden$(tput sgr 0)"
        screen -S "${VERZEICHNISSLISTE[$i]}" -p 0 -X eval "stuff 'shutdown'^M"
        sleep $STOPWARTEZEIT
    done
}
### Funktion autologdel
function autologdel()
{
    makeverzeichnisliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        echo "$(tput setaf $Red) $(tput setab $White)OpenSimulator log ${VERZEICHNISSLISTE[$i]} geloescht$(tput sgr 0)"
        rm /$STARTVERZEICHNIS/"${VERZEICHNISSLISTE[$i]}"/bin/*.log
        sleep 3
    done
}
### Funktion automapdel
function automapdel()
{
    makeverzeichnisliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        echo "$(tput setaf $Red) $(tput setab $White)OpenSimulator maptile ${VERZEICHNISSLISTE[$i]} geloescht$(tput sgr 0)"
        cd /$STARTVERZEICHNIS/"${VERZEICHNISSLISTE[$i]}"/bin || exit
        rm -r maptiles/*
        sleep 3
    done
}
### Funktion autoregionbackup
function autoregionbackup()
{
    makeregionsliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLREGIONSLISTE" ; i++)) do
        derscreen=$(echo "${REGIONSLISTE[$i]}" | cut -d ' ' -f 1)
        dieregion=$(echo "${REGIONSLISTE[$i]}" | cut -d ' ' -f 2)
        regionbackup "$derscreen" "$dieregion"
        sleep $BACKUPWARTEZEIT
    done
}
### Funktion autoscreenstop
function autoscreenstop()
{
    makeverzeichnisliste
    sleep 3
    for (( i = 0 ; i < "$ANZAHLVERZEICHNISSLISTE" ; i++)) do
        screen -S "${VERZEICHNISSLISTE[$i]}" -X quit
    done
    screen -S MO -X quit
    screen -S RO -X quit
}

### Funktion autostart
function autostart()
{
    ossettings
    echo "$(tput setab $Green)Starte das Grid! $(tput sgr 0)"
    echo " "    
    gridstart
    autosimstart
    echo " "
    screenlist
    echo " "
}
### Funktion autostop
function autostop()
{
    echo "$(tput setab 1)Stoppe alles! $(tput sgr 0)"
    autosimstop
    gridstop
    echo "$AUTOSTOPZEIT Sekunden warten bis die Simulatoren heruntergefahren sind!"
    sleep $AUTOSTOPZEIT
    echo " "
    echo "$(tput setab 1)Beende alle noch offenen Screens! $(tput sgr 0)"
    autoscreenstop
    echo " "
    screenlist
    echo " "
}
### Funktion autorestart
function autorestart()
{
    echo "$(tput setab 1)Stoppe alles! $(tput sgr 0)"
    autosimstop
    gridstop
    echo "60 Sekunden warten bis die Simulatoren heruntergefahren sind!"
    sleep 60
    echo " "
    echo "$(tput setab 1)Beende alle noch offenen Screens! $(tput sgr 0)"
    autoscreenstop
    echo " "
    echo "$(tput setab 1)Log Dateinen löschen! $(tput sgr 0)"
    autologdel
    echo " "
    echo "$(tput setab $Green)Einstellungen setzen! $(tput sgr 0)"
    ossettings
    echo " "
    echo "$(tput setab $Green)Starte alles! $(tput sgr 0)"
    gridstart
    autosimstart
    echo " "
    screenlist
    echo " "
}

### Funktion hilfe
function hilfe()
{
echo "$(tput setab $Green)Funktion:        Parameter:        Informationen: $(tput sgr 0)"
echo "hilfe             - hat keine Parameter - Diese Hilfe."
echo "restart         - hat keine Parameter - Startet das gesammte Grid neu."
echo "autostop         - hat keine Parameter - Stoppt das gesammte Grid."
echo "autostart         - hat keine Parameter - Startet das gesammte Grid."
echo "works             - Verzeichnisname - Einzelne screens auf Existens prüfen."
echo "$(tput setab $Yellow)Erweiterte Funktionen$(tput sgr 0)"
echo "rostart         - hat keine Parameter - Startet Robust Server."
echo "rostop             - hat keine Parameter - Stoppt Robust Server."
echo "mostart         - hat keine Parameter - Startet Money Server."
echo "mostop             - hat keine Parameter - Stoppt Money Server."
echo "osstart         - Verzeichnisname - Startet einzelnen Simulator."
echo "osstop             - Verzeichnisname - Stoppt einzelnen Simulator."
echo "terminator         - hat keine Parameter - Killt alle laufenden Screens."
echo "autoscreenstop        - hat keine Parameter - Killt alle OpenSim Screens."
echo "autosimstart         - hat keine Parameter - Startet alle Regionen."
echo "autosimstop         - hat keine Parameter - Beendet alle Regionen. "
echo "gridstart         - hat keine Parameter - Startet Robust und Money. "
echo "gridstop         - hat keine Parameter - Beendet Robust und Money. "
echo "$(tput setab 1)Experten Funktionen$(tput sgr 0)"
echo "assetdel         - screen_name Regionsname Objektname - Einzelnes Asset löschen."
echo "autologdel        - hat keine Parameter - Löscht alle Log Dateien."
echo "automapdel        - hat keine Parameter - Löscht alle Map Karten."
echo "logdel             - Verzeichnisname - Löscht einzelne Simulator Log Dateien."
echo "mapdel             - Verzeichnisname - Löscht einzelne Simulator Map-Karten."
echo "settings         - hat keine Parameter - setzt Linux Einstellungen."
echo "osupgrade         - hat keine Parameter - Installiert eine neue OpenSim Version."
echo "regionbackup         - Verzeichnisname Regionsname - Backup einer ausgewählten Region."
echo "autoregionbackup    - hat keine Parameter - Backup aller Regionen."
echo "oscopy            - Verzeichnisname - Kopiert den Simulator."
echo "compilieren         - hat keine Parameter - Kopiert fehlende Dateien und Kompiliert."
echo "scriptcopy         - hat keine Parameter - Kopiert die Scripte in den Source."
echo "moneycopy         - hat keine Parameter - Kopiert das Money in den Source."
echo "osdelete         - hat keine Parameter - Löscht alte OpenSim Version."
echo "oscompi         - hat keine Parameter - Kompiliert einen neuen OpenSimulator."
}

### Eingabeauswertung:
case  $KOMMANDO  in
    r | restart) autorestart ;;
    sta | autosimstart | simstart) autosimstart ;;
    sto | autosimstop | simstop) autosimstop ;;
    astart | autostart | start) autotart ;;
    astop | autostop | stop) autostop ;;
    amd | automapdel) automapdel ;;
    ald | autologdel) autologdel ;;
    settings)    ossettings ;;
    rs | robuststart | rostart) rostart ;;
    ms | moneystart | mostart) mostart ;;
    rsto | robuststop | rostop) rostop ;;
    mstop | moneystop | mostop) mostop ;;
    osstop) osstop "$2" ;;
    osstart) osstart "$2" ;;
    gridstart) gridstart ;;
    gridstop) gridstop ;;
    sd | screendel)    autoscreenstop ;;
    l | list) screenlist ;;
    w | works) works "$2" ;;
    md | mapdel) mapdel "$2" ;;
    ld | logdel) logdel "$2" ;;
    ss | osscreenstop) osscreenstop "$2" ;;
    h | hilfe | help) hilfe ;;
    asdel | assetdel) assetdel "$2" "$3" "$4" ;;
    e | terminator) terminator ;;
    osupgrade) osupgrade ;;
    oscopy) oscopy ;;
    regionbackup) regionbackup "$2" "$3" ;;
    autoregionbackup) autoregionbackup ;;
    compilieren) compilieren ;;
    scriptcopy) scriptcopy ;;
    moneycopy) moneycopy ;;
    oscompi) oscompi ;;
    osdelete) osdelete ;;
    *) hilfe ;;
esac

vardel
SimulatorList.ini (Beispiel)
Code:
sim1
sim2
sim3
sim4
sim5
sim6
sim7
sim8
sim9
RegionList.ini (Beispiel)
Code:
sim1 "Welcome"
sim2 "Region1"
sim2 "Region2"
sim3 "Region3"
sim3 "Region4"
sim4 "Region5"
sim4 "Region6"
sim5 "Region7"
sim5 "Region8"
sim6 "City1"
sim6 "City2"
sim6 "City3"
sim6 "City4"
sim6 "City5"
sim6 "City6"
sim6 "City7"
sim6 "City8"
sim6 "City9"
sim7 "Sandbox"
sim7 "Region9"



Angehängte Dateien
.zip   opensim.zip (Größe: 5.26 KB / Downloads: 0)
Drucke diesen Beitrag

  Samstags-Party
Geschrieben von: Dina - 05-13-2021, 06:21 PM - Forum: Events - Antworten (2)

Das Beste aus den heissen 70igern
mit Dj Daydreamer
ab 20 Uhr
   
Taxi:caledonia-grid.de:8002:CrossRoad

Drucke diesen Beitrag

  Freitag: Mottoparty: FIT FOR FUN
Geschrieben von: Marina Baer - 05-12-2021, 07:55 PM - Forum: Events - Antworten (4)

Freitag: Mottoparty und es wird sportlich. Das Motto des Abends: FIT FOR FUN. Für sportlich fetzige Musik sorgen DJane Loru und Plattenschubse Marina.

Taxi: thepublicworld.de:8002:tpw-club

   

Drucke diesen Beitrag

  Gridgeburtstag
Geschrieben von: Icelady Pearl - 05-12-2021, 03:15 PM - Forum: Iceladygrid - Keine Antworten

Es ist mal wieder soweit
          
                    das Iceladygrid wird 6 Jahre alt

zu diesem Anlass lade ich zur Party ein

                    am 22.05.2021 ab 20 Uhr

iceladygrid.de:8002:Iceland



Angehängte Dateien Bild(er)
   
Drucke diesen Beitrag

  Kroatan schließt seine Pforten...
Geschrieben von: Bink Draconia - 05-11-2021, 10:04 AM - Forum: Neuigkeiten - Antworten (1)

   
Nach 5 aufregenden Jahren in OpenSim- mit Hochs und Tiefs wie im echten Leben-
wird es das Kroatan Grid nach dem 16. Mai offiziell nicht mehr geben!
***
Keine Sorge, es hat mich niemand geärgert (und ich hoffe, ich habe auch niemand in letzter Zeit verärgert^^),
mein Grid bzw. meinen Server aufzugeben hat reine Zeitgründe.
Nach dem plötzlichen Corona-Tod meiner Mutter Anfang des Jahres muss ich mich neben der Arbeit jetzt
auch vermehrt um unser Haus bzw. den großen Garten kümmern-
und das wird in Zukunft eher noch mehr als weniger werden...
Der Grund, warum ich das Ende von Kroatan offiziell bekannt gebe ist,
dass ich kurz vor dem endgültigen Aus bzw. der letzten Datensicherung
meine Freundesliste leeren werde. Das hat NICHTS mit einem von euch persönlich zu tun,
im Gegenteil: Freundschaftsleichen von nicht mehr existierenden Grids führen nur zu
überflüssigen Abfragen ins Leere in eurem Robust- und das nach jedem Einloggen bzw. Teleport.
Die Shopping-Region Needful Things wird nach dem letzten Runterfahren von Kroatan in Offworld gehostet-
so lange bleibt sie noch als letzte Region auf meinem Server online.
Ihr seht dann auf OpenSimWorld, wenn sich die HG-Adresse geändert hat.
Meine sämtlichen anderen Regionen werden entweder komplett eingestampft oder ich hole sie zu mir nach Hause
auf den Rechner. Dort verbleiben sie allerdings nur zu meinem Privatvergnügen, denn sowohl mein Lapi
als auch meine kleine 16.000er Leitung schaffen keine großen Besucher.
Ich selber ziehe ebenfalls nach Offworld um bzw. nutze dann meinen Ava dort für OpenSim.
Ich hoffe, den einen oder anderen von euch damit auch wieder in die Freundesliste aufnehmen zu können.
WICHTIG:
Neue Freundschaften können nur erfolgreich geschlossen werden, wenn sich beide Avatare schon einmal
im Grid des anderen aufgehalten haben (bzw. die Grids untereinander bekannt sind, was bei großen Grids glücklicherweise meist schon der Fall ist),
ansonsten ist das korrekte Aufnehmen in die Freundesliste mit der Fähigkeit,
den Online-Status des anderen auch erkennen zu können, vorprogrammiert.
Bitte also kein wildes Freundschaftsgewerfe, wenn ihr mich doch ab und an mal auf einer Party seht;
wir holen das dann lieber entspannt und in aller Ruhe nach Wink .
Ich wünsche euch allen eine gute und vor allem gesunde Zeit.
Auf ein baldiges Wiedersehen in der Pixelwelt!
Liebe Grüße, Bink Draconia

Drucke diesen Beitrag

  Freitag. Partytime mit Sonne
Geschrieben von: Marina Baer - 05-06-2021, 12:25 PM - Forum: Events - Antworten (1)

Freitag ist Partytime und wir lassen die Sonne rein. "Summer-Party" mit guter Musik von Plattenschubse Marina und DJ Richi.

Wir freuen uns auf Euch.

Taxi: thepublicworld.de:8002:tpw-club

   

Drucke diesen Beitrag

  Forum und Server Umstellung
Geschrieben von: Achim - 05-04-2021, 05:00 PM - Forum: Forum News - Antworten (4)

Hallo  eine Info ich muss einige Umstellungen und Serverarbeiten am Forum machen dazu muss ich das Forum erstmal in Wartung stellen das ganze wird ab 07.05.2021 bis ca 10.05.2021 dauern.
LG Achim

Drucke diesen Beitrag

  Freitag: Rock´n Roll, Rock und Pop
Geschrieben von: Marina Baer - 04-29-2021, 03:14 PM - Forum: Events - Antworten (2)

Freitag gibt es wieder Musik auf die Ohren :-)
DJ Kai mit Rock´n Roll und DJ Rchi mit Rock & Pop.

Taxi: thepublicworld.de:8002:tpw-club


   

Drucke diesen Beitrag

  Läuft mein OpenSim im screen oder nicht?
Geschrieben von: Manni - 04-27-2021, 11:26 AM - Forum: Tipps und Tricks - Antworten (6)

Läuft mein OpenSim im screen oder nicht?
Ihr könnt das natürlich ganz einfach prüfen indem ihr screen -ls eingebt und in diese liste schaut.
Aber es geht auch anders mit shell Scripte.
ACHTUNG! Der Screenname ist hier der gleiche wie der Verzeichnisname. Bitte bei bedarf abändern.

Als erstes mal ein kleines Script was euch Optisch anzeigt ob der Screen gerade läuft oder nicht und euch einen Rückgabewert übergibt:
osxworks.sh

Code:
#!/bin/bash
cd /opt

sleep 1

# osxworks.sh screen_name
# Beispiel-Example: ./osxworks.sh sim1

if ! screen -list | grep -q "$1"; then
    # es laeuft nicht - not work
        echo "$(tput setaf 7)$(tput setab 1) $1 OFFLINE! $(tput sgr 0)"
        exit 1
    else
    # es laeuft - work
        echo "$(tput setaf 7)$(tput setab 2) $1 ONLINE! $(tput sgr 0)"
        exit 0
fi


Als zweites ein weiteres Script was das erste Script auswertet und euch das ganze anzeigt:

osworks.sh
Code:
#!/bin/bash
cd /opt

function auswertung
{
    # Die Auswertung
    if [ "$?" = 0 ] ;
    then
        echo "Rückgabewert Null, es läuft also"
    else
        echo "Rückgabewert Eins, es läuft nicht"
    fi
}

/opt/osxworks.sh RO
auswertung

/opt/osxworks.sh MO
auswertung

/opt/osxworks.sh sim1
auswertung

/opt/osxworks.sh sim2
auswertung

/opt/osxworks.sh sim3
auswertung

/opt/osxworks.sh sim4
auswertung

/opt/osxworks.sh sim5
auswertung

/opt/osxworks.sh sim6
auswertung

/opt/osxworks.sh sim7
auswertung

/opt/osxworks.sh sim8
auswertung

/opt/osxworks.sh sim9
auswertung

/opt/osxworks.sh sim10
auswertung

So könnt ihr kontrolieren ob screens laufen oder nicht und diese Starten, Stoppen oder Neustarten wie es euch beliebt.


Zur Vervollständigung noch die Start und Stopp Scripte:

osxstart.sh
Code:
#!/bin/bash
cd /opt

# osxstart.sh screen_name
# Beispiel-Example: ./osxstart.sh sim1

sleep 10

if [ -d $1 ]; then
  echo "$(tput setaf 4)OpenSim: $(tput setab 7)Regionen OpenSimulator $1 Starten$(tput sgr 0)"
  cd /opt/$1/bin
  screen -fa -S $1 -d -U -m mono OpenSim.exe
else
  echo "$(tput setaf 2)Nachfolgende screens wurden gestartet $(tput sgr 0)"
  screen -ls
   exit 1
fi

osxstop.sh
Code:
#!/bin/bash
cd /opt

# osxstop.sh screen_name
# Beispiel-Example: ./osxstop.sh sim1

sleep 10

if screen -list | grep -q $1; then
  echo "$(tput setaf 1)OpenSim: $(tput setab 7)Regionen OpenSimulator $1 Beenden$(tput sgr 0)"
  screen -S $1 -p 0 -X eval "stuff 'shutdown'^M"
else
  echo "$(tput setaf 1)OpenSim: $(tput setab 7)Regionen OpenSimulator $1 nicht vorhanden$(tput sgr 0)"
fi

Drucke diesen Beitrag

  Partie's auf Caledonia!
Geschrieben von: Cayoun Daydreamer - 04-26-2021, 08:29 PM - Forum: Events - Antworten (7)

Wir freuen uns Euch zum Tanz in den Mai einladen zu dürfen!
am 30.04.2021 ab 20:00 Uhr heisst es bei uns "Tanz in den Mai im "Art of Romance"
   
Wer nicht weiß wie er den Abend verbringen soll, einfach bei uns vorbei schauen und mit uns feiern!
HG:caledonia-grid.de:8002:Crossroad

Drucke diesen Beitrag

  Partys im Mai bei NextLife
Geschrieben von: Dina - 04-26-2021, 06:48 PM - Forum: Events - Antworten (3)

Samstag den 01.05.2021
Tanz unterm Maibaum
ab 20 Uhr mit Djane Loru und Dj Achim
   
Taxi:nextlife-world.de:8002:Landing

Drucke diesen Beitrag

  User Inventar in neue (andere) Datenbank übernehmen
Geschrieben von: Marty - 04-22-2021, 08:01 AM - Forum: Linux - Antworten (9)

Tach zusammen.
meine Partnerin und ich haben ein kleines Grid, da
ich mich mit Linuxkram wenig auskenne habe ich das Grid über Diva (0.9.1.1)
installiert. Wir sind damit nicht wirklich zufrieden, da einiges sehr lange
benötigt um zu rezzen (incl. unsere Klamotten bzw. Mesh Bodys). Am Server
wirds wohl nicht liegen (Xeon CPU E3-1245 V2, 3.40GHz, 32 GB Ram, Ubuntu 20.04 bei Hetzner).
Mit der Diva funktioniert z.B. EEP auch nicht.

Wir möchten nun die Originale Version von Osgrid.org nutzen (0.9.2.0),
in der Hoffnung das es besser läuft.

Wir möchten erst mal die diva Installation behalten (aber deaktivieren)
Die neue Version kommt logischerweise in ein neues Verzeichnis, soll aber eine neue Datenbank
mit neuem Namen erhalten.

Meine Frage.: ist es möglich das Inventar (Kleidung, Obejekte usw.) der diva Datenbank in die neue Datenbank zu "kopieren"
ohne das die "alte DB" angetastet wird?

LG
Marty

Drucke diesen Beitrag

  Freitag: Mottoparty: Schiff Ahoi
Geschrieben von: Marina Baer - 04-21-2021, 06:23 PM - Forum: Events - Antworten (2)

Leinen los am Freitag mit der Mottoparty "Schiff Ahoi". DJane Loru und Plattenschubse Marina haben ihre Musikbox mit guter Musik gefüllt. Ab 20:00 Uhr geht es los und einen kleinen Contest haben wir auch noch, bei dem wir das beste Outfit suchen.
Wir freuen uns auf Euch.

Taxi: thepublicworld.de:8002:tpw-club


   

Drucke diesen Beitrag

  Donnerstag - Richi´s Music-Call
Geschrieben von: Marina Baer - 04-19-2021, 07:53 PM - Forum: Events - Antworten (11)

Donnerstag, 22.04.2021 ab 20:00 Uhr - Richi´s Music-Call

Eröffnungsparty

"Feel the Power of Music"

Taxi: thepublicworld.de:8002:Sunray


   

Drucke diesen Beitrag

  Loru hat ein neues Grid
Geschrieben von: Loru Destiny - 04-17-2021, 12:00 PM - Forum: Neuigkeiten - Antworten (2)

Ihr Lieben,
ArtDestiny.eu gibt es nicht mehr.
Mein neues Grid heißt ArtDestiny.de.
Ich danke Manni und Kai Baer ganz, ganz herzlich für ihre Unterstützung dabei, das neue Grid aufzusetzen.
Ohne euch hätte ich es nicht gewagt und ganz sicher auch nicht hinbekommen.
Wer mich mal besuchen möchte, hier die Adresse: ArtDestiny.de:8002
Liebe Grüße
Loru

Drucke diesen Beitrag