opensimMULTITOOL II V26.4
Ein Bash-Skript zum Verwalten von OpenSim-Grids (Starten, Stoppen, Bereinigen, Installation).
Benutzung ausschließlich auf eigene Gefahr Dieses Skript ist im Entwicklungsstadium und kann unbeabsichtigte Datenverluste verursachen.
- WICHTIGE WARNUNGEN:
1. ALPHA-STATUS
Dies ist ein Alpha-Skript – Nutzung im Produktivbetrieb ausschließlich
nach gründlichem Testen in einer sicheren Umgebung.
2. BACKUPS SIND VERPFLICHTEND
Vor jeder Ausführung müssen
vollständige Backups aller betroffenen Systeme/Daten erstellt werden.
3. HAFTUNGSAUSSCHLUSS
Es wird keine Haftung für Datenverlust,
Systemausfälle oder Folgeschäden übernommen.
Nutzung auf eigenes Risiko.
4. EINGESCHRÄNKTE ZUVERLÄSSIGKEIT
Selbst als "sicher" markierte Funktionen können je nach Betriebssystem,
Konfiguration oder Umgebung unerwartetes Verhalten zeigen.
→ Ausführliche Tests in Ihrer spezifischen Umgebung sind zwingend erforderlich.
Neu: Modulare Struktur (osmtool_backup_*)
Fuer die Aufteilung in einzelne Aufgaben gibt es jetzt eine modulare Basis:
osmtool_main.sh(zentraler Starter, CLI + UI)modular/osmtool_install.sh(Installation)modular/osmtool_startstop.sh(Start/Stop/Restart)modular/osmtool_cleanup.sh(Bereinigungen + Reboot)modular/osmtool_data.sh(DB/OAR Backups)modular/osmtool_core.sh(gemeinsame Funktionen)
Empfehlung UI: whiptail oder dialog?
- Empfehlung: whiptail als Default, weil es auf Ubuntu meist schon vorhanden ist und weniger Abhaengigkeiten hat.
- Fallback: dialog, falls whiptail nicht installiert ist.
- Beide Wege sind im Starter beruecksichtigt:
whiptail -> dialog -> CLI.
Beispiele
# CLI: zentrale Server-Vorbereitung als Pflichtschritt
bash osmtool_main.sh --module install --action bootstrap-server --workdir /opt --profile grid-sim
# CLI: Ubuntu vorbereiten
bash osmtool_main.sh --module install --action prepare-ubuntu
# CLI: OpenSim klonen, Zusatzmodule einbinden und bauen
bash osmtool_main.sh --module install --action install-opensim --workdir /opt --profile grid-sim
# CLI: OpenSim Runtime-INI aus Beispieldateien erzeugen
bash osmtool_main.sh --module install --action configure-opensim --workdir /opt --profile grid-sim
# CLI: MariaDB Datenbanken/Benutzer/Rechte fuer robust/sim* anlegen
bash osmtool_main.sh --module install --action configure-database --workdir /opt --profile grid-sim --db-user opensim --db-pass 'OpenSim#2026'
# CLI: OpenSim bauen ohne Verteilung in Laufzeitordner
bash osmtool_main.sh --module install --action install-opensim --workdir /opt --profile grid-sim --deploy-binaries false
# CLI: komplettes Grid neustarten
bash osmtool_main.sh --module startstop --target grid --action restart --workdir /opt
# CLI: Janus Gateway neustarten
bash osmtool_main.sh --module startstop --target janus --action restart --workdir /opt
# CLI: Janus zuerst kompilieren
bash osmtool_main.sh --module install --action compile-janus --workdir /opt --profile grid-sim
# CLI: Janus danach konfigurieren
bash osmtool_main.sh --module install --action configure-janus --workdir /opt --profile grid-sim --public-host 127.0.0.1
# CLI: Janus kompiliert + konfiguriert in einem Lauf
bash osmtool_main.sh --module install --action install-janus --workdir /opt --profile grid-sim --public-host 127.0.0.1
# CLI: Robust DB sichern
bash osmtool_main.sh --module backup --action db-backup --db-user root --db-pass secret --db-name opensim --workdir /opt
# CLI: OAR Export in laufende sim1 Session senden
bash osmtool_main.sh --module backup --action oar-backup --workdir /opt --region sim1 --session sim1
# CLI: Full Backup (MariaDB + OAR Command) mit gzip-Kompression
bash osmtool_main.sh --module backup --action full-backup --workdir /opt --db-user root --db-pass secret --db-name opensim --region sim1 --session sim1 --compress true
# CLI: OSMTool Cronjobs installieren
bash osmtool_main.sh --module cron --action install --workdir /opt --db-user root --db-name opensim --region sim1 --session sim1
# CLI: OSMTool Cronjobs anzeigen/entfernen
bash osmtool_main.sh --module cron --action list --workdir /opt
bash osmtool_main.sh --module cron --action remove --workdir /opt
# UI Modus
bash osmtool_main.sh --mode ui
Hinweis Janus:
bootstrap-serverist Pflicht vorinstall-opensim,compile-janus,configure-janusundinstall-janus.configure-opensimerzeugt fehlende Runtime-INI aus den Beispielvorlagen.configure-databaseerzeugt MariaDB Datenbanken fuerrobustund gefundenesim*Verzeichnisse sowie Benutzer/Grants.- Datenbankbasis ist MariaDB;
server-checkprueftmysqldumpals Pflichttool fuer Backups. install-opensimklont oder aktualisiertopensim,opensim-tsassets,opensimcurrencyserver-dotnetundos-data-backup, fuehrtrunprebuild.shaus und bautOpenSim.sln.- Wenn
robust/bin,standalone/binodersim*/binexistieren, verteiltinstall-opensimdie gebauten Binaries dorthin, sofern--deploy-binariesnicht auffalsegesetzt ist. - Janus muss vor Start/Restart zuerst kompiliert und konfiguriert sein.
startstop --target janusprueft Binary und Konfiguration und blockiert sonst mit klarer Fehlermeldung.
Sinnvolle weitere Skripte
osmtool_backup_health.sh(Healthcheck fuer screen sessions, ports, DB)osmtool_backup_restore.sh(SQL Restore + OAR Restore mit Dry-Run)osmtool_backup_update.sh(OpenSim/Janus Update-Workflow mit Rollback)osmtool_backup_cron.sh(Cronjobs validieren und automatisch setzen)osmtool_backup_config.sh(INI/JSON Validierung und Patchen)
📋 Inhaltsverzeichnis
- OpenSim starten/stoppen
- OpenSim-Grid erstellen/aktualisieren
- Diverse Git-Downloads
- Konfiguration
- INI-Operationen
- XML-Operationen
- Standalone-Modus
- OpenSim bereinigen
- Systembefehle
- Hilfen
- OpenSimulator-crontabs
🔄 OpenSim starten, stoppen und neustarten
| Befehl | Beschreibung | Status |
|---|---|---|
opensimstart |
Startet den OpenSim-Server. | Stabil |
opensimstop |
Stoppt den OpenSim-Server. | Stabil |
opensimrestart |
Startet OpenSim neu. | Stabil |
opensimstartParallel |
Startet alle Regionen parallel. | Stabil |
opensimstopParallel |
Stoppt alle Regionen parallel. | Stabil |
opensimrestartParallel |
Startet alle Regionen neu (parallel). | Stabil |
check_screens |
Überprüft laufende OpenSim-Prozesse und startet sie bei Bedarf neu. | Stabil |
🛠️ OpenSim-Grid erstellen oder aktualisieren
| Befehl | Beschreibung | Status |
|---|---|---|
servercheck |
Prüft, ob der Server für OpenSim bereit ist. | Test |
createdirectory |
Erstellt die benötigten Verzeichnisse. | Stabil |
opensimbuild |
OpenSim-Programm erstellen. | Stabil |
opensimcopy |
OpenSim kopieren/upgraden. | Stabil |
database_setup |
SQL-Datenbanken erstellen. | Test |
opensimupgrade |
OpenSim aktualisieren. | Test |
autoupgrade |
Führt automatisches Upgrade durch. | Test |
autoupgradefast |
Führt automatisches paralleles Upgrade durch. | Test |
regionbackup |
Backup aller Regionsdaten. | Test |
robustbackup |
Backup der Robust-Datenbank mit Zeitraumfilter. | Test |
robustrestore <user> <pass> [teil] |
Wiederherstellung aus Backup. | Test |
robustrepair <user> <pass> [aktion] |
Reparatur oder Bereinigung. | Test |
setcrontab |
Crontab Automatisierungen erstellen. | Stabil |
📂 Diverse Git-Downloads
| Befehl | Beschreibung | Status |
|---|---|---|
opensimgitcopy |
OpenSim aus Git herunterladen. | Stabil |
moneygitcopy |
MoneyServer aus Git herunterladen. | Stabil |
ruthrothgit |
Ruth/Roth IAR-Dateien aus Git. | in Arbeit |
avatarassetsgit |
Ruth/Roth Assets aus Git. | in Arbeit |
osslscriptsgit |
OSSL Beispiel-Skripte herunterladen. | Stabil |
pbrtexturesgit |
PBR Texturen aus Git. | in Arbeit |
downloadallgit |
Alle Git-Repositories herunterladen. | Voricht test |
versionrevision |
Versionsrevision auf Expanded setzen. | Stabil |
⚙️ Konfiguration
| Befehl | Beschreibung | Status |
|---|---|---|
moneyserveriniconfig |
Konfiguriert MoneyServer.ini. | Optimierung fehlt. |
opensiminiconfig |
Konfiguriert OpenSim.ini. | Optimierung fehlt. |
robusthginiconfig |
Konfiguriert Robust.HG.ini. | Optimierung fehlt. |
robustiniconfig |
Konfiguriert Robust.ini. | Optimierung fehlt. |
gridcommoniniconfig |
Erstellt GridCommon.ini. | Optimierung fehlt. |
standalonecommoniniconfig |
Erstellt StandaloneCommon.ini. | Optimierung fehlt. |
flotsaminiconfig |
Erstellt FlotsamCache.ini. | Optimierung fehlt. |
osslenableiniconfig |
Konfiguriert osslEnable.ini. | Optimierung fehlt. |
welcomeiniconfig |
Konfiguriert Begrüßungsregion. | Optimierung fehlt. |
regionsiniconfig |
Startet neue Regionen-Konfigurationen. | Optimierung fehlt. |
iniconfig |
Startet ALLE Konfigurationen. | Optimierung fehlt. |
📜 INI Konfiguration Operationen
| Befehl | Beschreibung | Status |
|---|---|---|
verify_ini_section |
INI-Abschnitt verifizieren. | Test |
verify_ini_key |
INI-Schlüssel verifizieren. | Test |
add_ini_section |
INI-Abschnitt hinzufügen. | Stabil |
set_ini_key |
INI-Schlüssel setzen. | Stabil |
del_ini_section |
INI-Abschnitt löschen. | Stabil |
📄 XML Assets Operationen
| Befehl | Beschreibung | Status |
|---|---|---|
verify_xml_section |
XML-Abschnitt verifizieren. | ungetestet |
add_xml_section |
XML-Abschnitt hinzufügen. | ungetestet |
del_xml_section |
XML-Abschnitt löschen. | ungetestet |
🖥️ Standalone-Modus
| Befehl | Beschreibung | Status |
|---|---|---|
standalonestart |
Startet OpenSim im Standalone-Modus | Stabil |
standalonestop |
Stoppt OpenSim im Standalone-Modus | Stabil |
standalonerestart |
Startet OpenSim Standalone neu | Stabil |
buildstandalone |
Standalone erstellen | Test |
opensimgitcopy |
OpenSimulator aus Git kopieren | Test |
osslscriptsgit |
Skripte aus Repository einfügen | Test |
versionrevision |
OpenSimulator-Version festlegen | Test |
opensimbuild |
OpenSimulator bauen | Test |
standalonesetup |
Standalone Setup durchführen | Test |
createstandaloneconfig |
OpenSimulator-Konfiguration erstellen | Test |
createstandalonregion |
Startregion konfigurieren | Test |
createstandaloneuser |
Benutzer erstellen | Test |
🧹 OpenSim Grid Bereinigen
⚠ Warnung: Einige Befehle erfordern eine Neuinstallation von OpenSim!
| Befehl | Beschreibung | Status |
|---|---|---|
dataclean |
Alte Dateien löschen (⚡ Neuinstallation erforderlich!) | Test |
pathclean |
Alte Verzeichnisse löschen (⚡ Neuinstallation erforderlich!) | Test |
cacheclean |
Cache bereinigen. | Stabil |
logclean |
Logs löschen. | Stabil |
mapclean |
Maptiles löschen. | Stabil |
autoallclean |
Komplettbereinigung (⚡ Neuinstallation erforderlich!) | Test |
regionsclean |
Alle Regionen löschen. | Test |
cleanall |
Alles bereinigen (⚡ Neuinstallation erforderlich!) | Test |
renamefiles |
Umbenennung aller *.example Dateien. | Test |
clean_linux_logs |
Linux-Systemlogs bereinigen. | Test |
delete_opensim |
Entfernt OpenSimulator komplett inkl. Verzeichnissen. | Test |
🛠️ Systembefehle
| Befehl | Beschreibung | Status |
|---|---|---|
reboot |
Grid herunterfahren und Server neustarten. | Stabil |
📂 Backup
| Befehl | Beschreibung | Status |
|---|---|---|
loadiar |
Lädt ein Inventar-Archiv (IAR) zu einem Avatar hoch | Test |
saveiar |
Speichert das Inventar eines Avatars als IAR-Datei | Test |
loadoar |
Lädt ein vollständiges Regionen-Backup (OAR) in eine Region | Test |
saveoar |
Erstellt ein vollständiges Backup (OAR) einer Region | Test |
autoregionbackup |
Führt automatisierte Backups aller Regionen aus | Test |
❓ Hilfen
| Befehl | Beschreibung | Status |
|---|---|---|
help |
Die Hilfeseite anzeigen. | Stabil |
prohelp |
Erweiterte Hilfeseite mit allen Experten-Befehlen anzeigen. | Stabil |
❓ OpenSimulator-crontabs
List crontabs:
crontab -l
Edit crontabs:
crontab -e
# * * * * * Befehl_der_ausgefuehrt_werden_soll
# │ │ │ │ │
# │ │ │ │ ─── Wochentag (0-7) (0 und 7 = Sonntag)
# │ │ │ ───── Monat (1-12)
# │ │ ─────── Tag des Monats (1-31)
# │ ───────── Stunde (0-23)
# ─────────── Minute (0-59)
# Restart server on the first of each month to clear cache data debris.
45 4 1 * * bash /opt/osmtool.sh reboot
# Restart the grid every morning at 5 AM.
0 5 * * * bash /opt/osmtool.sh autorestart
# If Robust or the Welcome region fails, restart the grid.
*/30 * * * * bash /opt/osmtool.sh check_screens
# Restart Jauns WebRTC Server every morning at 4:30
30 4 * * * bash /opt/bash janus.sh restart_janus
# Restart icecast every morning at 7:15
15 7 * * * /etc/init.d/icecast2 restart
Save crontabs
ctrl O
Enter
Exit editor
ctrl X
osmtool_backup.sh
Dieses Skript dient zur Sicherung und Verwaltung von OpenSimulator-Regionen und zugehörigen Datenbanken.
Es bietet verschiedene Backup- und Restore-Funktionen für Regionen, Konfigurationsdateien und MySQL-Datenbanken.
Grundlegende Nutzung
Das Skript wird mit einem Kommando und ggf. weiteren Parametern ausgeführt:
bash osmtool_backup.sh <KOMMANDO> [weitere Parameter]
Wichtige Kommandos
| Kommando | Beschreibung |
|---|---|
regionsiniteilen <Verz> <Reg> |
Teilt die Regions.ini einer Region in einzelne INI-Dateien auf. |
autoregionsiniteilen |
Teilt alle Regions.ini-Dateien automatisch auf. |
createregionlist |
Erstellt eine Liste aller Regionen. |
regionbackup <Screen> <Region> |
Backup einer bestimmten Region inkl. OAR, Terrain und Konfiguration. |
autoregionbackup |
Automatisches Backup aller Regionen nacheinander. |
backup_config |
Sichert Konfigurationsdateien aus robust/bin und sim-Verzeichnissen. |
restore_config |
Stellt Konfigurationsdateien aus dem Backup wieder her. |
autoallclean |
Löscht Log- und Binärdateien für eine saubere Neuinstallation. |
datenbanktabellen <User> <Pw> <DB> |
Zählt Tabellen & Asset-Typen in einer Datenbank. |
backuptabelle_noassets <User> <Pw> <DB> |
Sichert alle Tabellen (außer assets) als ZIP. |
asset_backup <User> <Pw> <DB> |
Sichert alle Asset-Typen einzeln. |
db_restoretabelle_noassets <User> <Pw> <DB> |
Stellt alle Tabellen (außer assets) aus Backup wieder her. |
asset_restore <User> <Pw> <DB> |
Stellt die Asset-Typen aus Backup wieder her. |
sichere_wordweb_und_money <User> <Pw> |
Sichert die Datenbanken wordweb und money. |
restore_wordweb_und_money <User> <Pw> |
Stellt die Datenbanken wordweb und money wieder her. |
Beispiele
Backup einer Region:
bash osmtool_backup.sh regionbackup sim1 MeineRegion
Automatisches Backup aller Regionen:
bash osmtool_backup.sh autoregionbackup
Backup der Konfigurationsdateien:
bash osmtool_backup.sh backup_config
Datenbanktabellen zählen:
bash osmtool_backup.sh datenbanktabellen mein_benutzer geheim123 meine_datenbank
Hinweise
- Das Skript muss mit ausreichenden Rechten (ggf. als root) ausgeführt werden, um auf alle Verzeichnisse und Datenbanken zugreifen zu können.
- Das Skript verwendet
screen,mysqldump, undzipfür Backups. Stelle sicher, dass diese Programme installiert sind. - Die meisten Funktionen sind für eine Standard-OpenSimulator-Struktur ausgelegt (
/opt/simX,/opt/robustetc.). - Die Backups werden im Verzeichnis
/opt/backupabgelegt.
Tipp: Weitere Details und Beispiele findest du direkt im Skript in den Funktionskommentaren!
osmtool_restart.sh
Ein schlankes Skript zum Neustart des Servers und zur Überprüfung, ob alle Komponenten ordnungsgemäß laufen.
Verhalten bei Ausfällen:
- Wenn der RobustServer nicht läuft, wird das gesamte Grid neu gestartet.
- Wenn der MoneyServer nicht läuft, wird das gesamte Grid neu gestartet.
- Wenn sim1 (die Welcome-Region) nicht läuft, wird das gesamte Grid neu gestartet.
- Wenn eine Region von sim2 bis sim99 nicht läuft, wird nur diese einzelne Region neu gestartet.
📜 Lizenz & Nutzung
- Skriptname:
osmtool.sh - Version: V25.5.109.442
- Autor: Manfred Aabye
- Lizenz: MIT