mirror of
https://github.com/ManfredAabye/opensimMULTITOOLS-II.git
synced 2026-08-14 08:52:24 +00:00
010520260740
This commit is contained in:
+46
-43
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user