OpenSimulator und MoneyServer - Druckversion +- GridTalk.de (https://www.gridtalk.de) +-- Forum: Werkstatt (https://www.gridtalk.de/forumdisplay.php?fid=4) +--- Forum: Technik (https://www.gridtalk.de/forumdisplay.php?fid=25) +---- Forum: Windows (https://www.gridtalk.de/forumdisplay.php?fid=27) +---- Thema: OpenSimulator und MoneyServer (/showthread.php?tid=4925) |
OpenSimulator und MoneyServer - Manfred Aabye - 05.11.2024 Dieses Batch-Skript automatisiert den Aufbau und die Vorbereitung einer OpenSimulator-Umgebung. Hier ist eine schrittweise Erklärung, was jedes Segment des Skripts macht: 1. **Echo-Aktivität für Benutzerfreundlichkeit**: ```batch @echo off echo _______________________________________________________________________________________________________________________ echo Starte die OpenSim Setup... ``` - Das `@echo off` schaltet die Anzeige der Batch-Befehle aus, um die Ausgabe zu bereinigen. - Die `echo`-Befehle zeigen Informationen und Fortschritt an. 2. **Prüfen und Herunterladen des OpenSim-Quellcodes**: ```batch if not exist "opensimsource" ( echo Lade OpenSim herunter... git clone https://github.com/opensim/opensim.git opensimsource ) else ( echo Loesche altes Verzeichnis... rmdir /s opensimsource echo Lade OpenSim herunter... git clone https://github.com/opensim/opensim.git opensimsource ) ``` - Überprüft, ob das Verzeichnis `opensimsource` existiert. - Falls es nicht existiert, wird das Repository über `git clone` von GitHub heruntergeladen. - Wenn es jedoch vorhanden ist, wird das alte Verzeichnis gelöscht und das Repository neu geklont. 3. **Herunterladen eines zusätzlichen Moduls (Money-Modul)**: ```batch if not exist "opensimsource\opensimcurrencyserver" ( echo Lade Money-Modul herunter... git clone https://github.com/ManfredAabye/opensimcurrencyserver-dotnet.git opensimsource\opensimcurrencyserver ) else ( echo Money-Modul bereits vorhanden, ueberspringe den Download... ) ``` - Überprüft, ob das Money-Modul in `opensimsource\opensimcurrencyserver` vorhanden ist. - Falls es nicht existiert, wird das Repository von GitHub heruntergeladen. Andernfalls wird der Download übersprungen. 4. **Kopieren von Dateien aus dem Money-Modul in das Hauptprojekt**: ```batch xcopy /s /y "opensimsource\opensimcurrencyserver\addon-modules\*.*" "opensimsource\addon-modules\" xcopy /s /y "opensimsource\opensimcurrencyserver\bin\*.*" "opensimsource\bin\" ``` - Kopiert die Dateien des Money-Moduls in die entsprechenden Unterverzeichnisse von `opensimsource`, um die Integration zu erleichtern. 5. **Wechsel in das `opensimsource`-Verzeichnis**: ```batch cd opensimsource ``` - Wechselt in das `opensimsource`-Verzeichnis, um dort weitere Befehle auszuführen. 6. **Entfernen der `.example`-Endung**: ```batch for /r %%f in (*.example) do ( set "newname=%%~dpnf" >nul 2>&1 ren "%%f" "%%~nf" ) ``` - Durchsucht rekursiv alle `.example`-Dateien und entfernt die `.example`-Endung. - Diese Dateien werden dann umbenannt, was oft erforderlich ist, um Konfigurationsdateien funktionsfähig zu machen. 7. **Kopieren einer DLL-Datei**: ```batch copy bin\System.Drawing.Common.dll.win bin\System.Drawing.Common.dll ``` - Kopiert eine DLL-Datei (`System.Drawing.Common.dll.win`) nach `System.Drawing.Common.dll` im `bin`-Verzeichnis. - Diese Datei ist möglicherweise erforderlich, um die Funktionalität des Projekts sicherzustellen. 8. **Vorbereitung der Prebuild-Dateien**: ```batch dotnet bin\prebuild.dll /target vs2022 /targetframework net8_0 /excludedir = "obj | bin" /file prebuild.xml ``` - Führt das Prebuild-Skript mit bestimmten Parametern aus, um Visual Studio 2022 als Ziel zu definieren. - `prebuild.xml` wird verwendet, um Abhängigkeiten und Projektdateien zu erstellen, die für das Projekt benötigt werden. 9. **Erstellen eines `compile.bat`-Skripts**: ```batch @echo dotnet build --configuration Release OpenSim.sln > compile.bat ``` - Erstellt eine neue Datei namens `compile.bat`, die die Kompilierung von OpenSimulator steuert. 10. **Optionales Kompilieren des OpenSimulator-Projekts**: ```batch set /p compileChoice="Moechten Sie den OpenSimulator jetzt kompilieren? (J/N): " if /i "%compileChoice%"=="J" ( echo Starte die Kompilierung von OpenSimulator... dotnet build --configuration Release OpenSim.sln ) else ( echo Kompilierung uebersprungen. ) ``` - Fragt den Benutzer, ob das Projekt kompiliert werden soll. - Falls der Benutzer `J` (für „Ja“) eingibt, wird das Projekt in der Release-Konfiguration kompiliert. 11. **Zurück zum Hauptverzeichnis und Abschluss**: ```batch cd .. echo Setup abgeschlossen. pause ``` - Kehrt zum Hauptverzeichnis zurück und pausiert, sodass der Benutzer die Ausgabe lesen kann, bevor das Fenster geschlossen wird. --- **Zusammenfassung**: Dieses Skript lädt und konfiguriert den OpenSimulator und ein zusätzliches Money-Modul, bereitet alle Dateien vor, und bietet die Option, das Projekt zu kompilieren. Es ist besonders hilfreich, um die Setup-Schritte zu automatisieren und eine lauffähige Umgebung zu erstellen. Ich habe das eigentlich gemacht, um mir die Arbeit am MoneyServer zu erleichtern. Skript opensim_source.bat komplett: PHP-Code: @echo off |