010520260740

This commit is contained in:
Manfred Aabye
2026-05-01 07:41:00 +02:00
committed by GitHub
parent b0ab79d2fe
commit d17de00dd2
+46 -43
View File
@@ -472,7 +472,7 @@ function serverinfo() {
SCRIPTNAME="opensimMULTITOOL II"
# Versionsnummer besteht aus: Jahr.Monat.Funktionsanzahl.Eigentliche_Versionsnummer
VERSION="V26.4.232.590"
VERSION="V26.4.232.591"
log "\e[36m$SCRIPTNAME\e[0m $VERSION"
echo "$(msg INFO_TOOL_PURPOSE)"
echo "$(msg INFO_USE_OWN_RISK)"
@@ -2861,19 +2861,57 @@ function createmasterestateall() {
return 1
fi
# 2. Starte alle Simulatoren
log "${COLOR_ACTION}Starte Simulator-Instanzen...${COLOR_RESET}"
# 2. Starte jeden Simulator und bestätige Estate direkt danach
log "${COLOR_ACTION}Starte Simulator-Instanzen und bestätige Estate...${COLOR_RESET}"
local started_sims=0
for ((i=2; i<=999; i++)); do
sim_dir="sim$i/bin"
sim_dir="${SCRIPT_DIR}/sim$i/bin"
if [[ -d "$sim_dir" && -f "$sim_dir/OpenSim.dll" ]]; then
echo -n -e "${SYM_INFO} ${COLOR_DIR}sim$i: ${COLOR_RESET}"
if cd "$sim_dir" && screen -fa -S "sim$i" -d -U -m dotnet OpenSim.dll; then
log "${COLOR_OK}gestartet${COLOR_RESET}"
((started_sims++))
sleep "${Simulator_Start_wait:-5}"
# Warten bis der Simulator den Estate-Prompt anzeigt
log "${COLOR_INFO}Warte ${Simulator_Start_wait:-30}s auf Estate-Prompt für sim$i...${COLOR_RESET}"
sleep "${Simulator_Start_wait:-30}"
# Estate-Bestätigung für alle Regionen dieses Simulators
regions_dir="${sim_dir}/Regions"
if [[ -d "$regions_dir" ]]; then
region_count=$(find "$regions_dir" -maxdepth 1 -name "*.ini" | wc -l)
log "${SYM_INFO} ${COLOR_DIR}sim$i: ${region_count} Region(en) gefunden${COLOR_RESET}"
local estate_name="${gridname} Estate"
for ((r=1; r<=region_count; r++)); do
echo -n -e " ${SYM_INFO} Region ${r}: ${COLOR_RESET}"
if [[ $r -eq 1 ]]; then
# Erste Region: Vorname, Nachname, Estate-Name eingeben
# (Benutzer bereits im Grid registriert, OpenSim findet ihn und bestätigt)
screen -S "sim$i" -p 0 -X eval "stuff '$VORNAME'^M"
sleep 2
screen -S "sim$i" -p 0 -X eval "stuff '$NACHNAME'^M"
sleep 2
screen -S "sim$i" -p 0 -X eval "stuff '${estate_name}'^M"
sleep 2
log "${COLOR_OK}Vorname/Nachname/Estate eingegeben${COLOR_RESET}"
else
# Weitere Regionen: Benutzer ist bereits Estate-Owner, nur Enter drücken
screen -S "sim$i" -p 0 -X eval "stuff ''^M"
sleep 1
screen -S "sim$i" -p 0 -X eval "stuff ''^M"
sleep 1
screen -S "sim$i" -p 0 -X eval "stuff ''^M"
sleep 1
log "${COLOR_OK}mit Enter bestätigt${COLOR_RESET}"
fi
done
else
log "${SYM_WARNING} ${COLOR_WARNING}sim$i: Kein Regions-Verzeichnis gefunden${COLOR_RESET}"
fi
else
log "${COLOR_ERROR}start fehlgeschlagen${COLOR_RESET}"
fi
@@ -2881,42 +2919,7 @@ function createmasterestateall() {
fi
done
# 3. Estate-Bestätigung für alle Regionen
if [[ $started_sims -gt 0 ]]; then
log "${COLOR_ACTION}Bestätige Estate für $started_sims Simulator(en)...${COLOR_RESET}"
for ((i=2; i<=999; i++)); do
if screen -list | grep -q "sim$i"; then
regions_dir="${SCRIPT_DIR}/sim$i/bin/Regions"
if [[ -d "$regions_dir" ]]; then
# Zähle die Anzahl der Regionen-Konfigurationen
region_count=$(find "$regions_dir" -maxdepth 1 -name "*.ini" | wc -l)
log "${SYM_INFO} ${COLOR_DIR}sim$i: ${region_count} Region(en) gefunden${COLOR_RESET}"
# Für jede Region die Bestätigung senden
for ((r=1; r<=region_count; r++)); do
echo -n -e " ${SYM_INFO} Region ${r}: ${COLOR_RESET}"
if ! screen -S "sim$i" -p 0 -X eval "stuff 'yes'^M"; then
log "${SYM_BAD} ${COLOR_ERROR}Fehler beim Senden von yes${COLOR_RESET}"
return 1
fi
sleep 1
if ! screen -S "sim$i" -p 0 -X eval "stuff '$gridname Estate'^M"; then
log "${SYM_BAD} ${COLOR_ERROR}Fehler beim Senden von $gridname Estate${COLOR_RESET}"
return 1
fi
log "${COLOR_OK}bestätigt${COLOR_RESET}"
sleep 1
done
else
log "${SYM_WARNING} ${COLOR_WARNING}sim$i: Kein Regions-Verzeichnis gefunden${COLOR_RESET}"
sleep 1
fi
fi
done
else
if [[ $started_sims -eq 0 ]]; then
log "${SYM_WARNING} ${COLOR_WARNING}Keine Simulatoren gestartet!${COLOR_RESET}"
return 1
fi