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 RE: OpenSimulator und MoneyServer - Manfred Aabye - 12.11.2024 MoneyServer Plugin stand der Dinge. Es gelingt mir in C# die currency.php und landtool.php abzufangen und auszuwerten. Aber mir gelingt es nicht dem Viewer die Antwort so zu übergeben, dass dieser dies versteht. Also ich habe Probleme bei der currency.php XMLRPC Rückmeldung Betrag in Ordnung Geldkauf abschließen. Und ich habe Probleme bei der landtool.php XMLRPC Rückmeldung Landkauf abschließen. XMLRPC Eingang Beispiel Landkauf: PHP-Code: <?xml version="1.0"?> Fehlermeldungen: [MONEY XMLRPC]: genericCurrencyXMLRPCRequest: to http://174.212.235.104:8008 [MONEY NSL XMLRPC]: XmlRpcResponse certSend: connect to http://174.212.235.104:8008 [MONEY XMLRPC MODULE]: Error processing currency purchase. [MONEY XMLRPC MODULE]: Error Response Request output: OpenSim.Framework.Servers.HttpServer.OSHttpResponseOSHttpRequest: POST /currency.php remote_addr: 93.134.147.242 remote_port: 52824 accept-encoding: deflate, gzip keep-alive: 300 content-type: text/xml user-agent: Firestorm-Releasex64 7.1.11 (76496) IP: 93.134.147.242:52824 RE: OpenSimulator und MoneyServer - Manfred Aabye - 16.11.2024 OpenSimCurrencyServer-DOTNET Der Kauf von Land ohne landtool.php ist jetzt möglich. OpenSim Currency Server für OpenSim 0.9.3.x Dev Windows, Linux, Mac X64 DotNet6.x & X64 DotNet8.x Alles funktioniert außer currency.php es wird zwar behandelt als würde es gehen, aber ohne Auszahlung. Es muss noch der BankerAvatar eingefügt werden und die Berechnung, was aber eine knifflige Sache ist. In der Robust.ini unter [GridInfoService] den MoneyServer als helper verwenden. economy = ${Const|BaseURL}:8008/ (eventuell anpassen) Eventuell müsst ihr euren Viewer unter Eigenschaften etwas Pimpen mit: -loginuri http://DeinServer.de:8008/ -helperuri http://DeinServer.de:8008/ Ubuntu 18 = DOTNET 6.0 – Ubuntu 20+ DOTNET 8.0 opensim.currency – geändert Vom Original DTL/NSL Money Server für X64/Unix/DotNet und Windows 10/11 64bit mit XAMPP/MariaDB, X64 DotNet6 & X64 DotNet8 von Fumi.Iseki und NSL http://www.nsl.tuis.ac.jp , hier ist eine Testrevision für DotNet6 & DotNet8. TODO: Jetzt currency.php funktionsfähig machen. Github https://github.com/ManfredAabye/opensimcurrencyserver-dotnet/tree/main?tab=readme-ov-file |