Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
OpenSimulator und MoneyServer
#1
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/opensimc...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

echo _______________________________________________________________________________________________________________________
echo Starte die OpenSim Setup...
echo 
_______________________________________________________________________________________________________________________
echo Ueberpruefenob das opensimsource-Verzeichnis existiert
echo _______________________________________________________________________________________________________________________

if not exist "opensimsource" (
    echo 
Lade OpenSim herunter...
    
git clone https://github.com/opensim/opensim.git opensimsource
) else (
    echo 
Loesche altes Verzeichniss...
    
rmdir /s opensimsource
    
echo Lade OpenSim herunter...
    
git clone https://github.com/opensim/opensim.git opensimsource
)

echo 
_______________________________________________________________________________________________________________________
echo Money Repository in ein Unterverzeichnis von opensimsource klonen
echo _______________________________________________________________________________________________________________________

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 vorhandenueberspringe den Download...
)

echo 
_______________________________________________________________________________________________________________________
echo Kopiere Dateien von opensimcurrencyserver nach opensimsource...
echo 
_______________________________________________________________________________________________________________________

xcopy 
//"opensimsource\opensimcurrencyserver\addon-modules\*.*" "opensimsource\addon-modules\"
xcopy /s /y "
opensimsource\opensimcurrencyserver\bin\*.*" "opensimsource\bin\"

echo _______________________________________________________________________________________________________________________
echo Wechsle in das Verzeichnis opensimsource...
echo _______________________________________________________________________________________________________________________

cd opensimsource

echo _______________________________________________________________________________________________________________________
echo Entferne .example Endungen in allen Dateien...
echo _______________________________________________________________________________________________________________________

for /r %%f in (*.example) do (
    set "
newname=%%~dpnf"
    >nul 2>&1 ren "
%%f" "%%~nf"
)

echo _______________________________________________________________________________________________________________________
echo Kopiere System.Drawing.Common.dll.win in bin...
echo _______________________________________________________________________________________________________________________

copy bin\System.Drawing.Common.dll.win bin\System.Drawing.Common.dll

echo _______________________________________________________________________________________________________________________
echo Erstelle die Prebuild Dateien...
echo _______________________________________________________________________________________________________________________

dotnet bin\prebuild.dll /target vs2022 /targetframework net8_0 /excludedir = "
obj bin" /file prebuild.xml

echo _______________________________________________________________________________________________________________________
echo Erstelle die compile.bat...
echo _______________________________________________________________________________________________________________________

@echo Creating compile.bat
@echo dotnet build --configuration Release OpenSim.sln > compile.bat

echo _______________________________________________________________________________________________________________________
set /p compileChoice="
Moechten Sie den OpenSimulator jetzt kompilieren? (J/N): "
echo _______________________________________________________________________________________________________________________
if /i "
%compileChoice%"=="J" (
    echo Starte die Kompilierung von OpenSimulator...
    dotnet build --configuration Release OpenSim.sln
) else (
    echo Kompilierung uebersprungen.
)

echo _______________________________________________________________________________________________________________________
echo Zurueck ins Hauptverzeichnis...
cd ..

echo _______________________________________________________________________________________________________________________

echo Setup abgeschlossen.
pause 
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Dorena Verne
Zitieren
#2
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"?>
<methodCall>
    <methodName>preflightBuyLandPrep</methodName>
    <params>
        <param>
            <value>
                <struct>
                    <member>
                        <name>agentId</name>
                        <value>
                            <string>134e495d-0b1e-48b5-b40b-b009a600c1ca</string>
                        </value>
                    </member>
                    <member>
                        <name>billableArea</name>
                        <value>
                            <int>0</int>
                        </value>
                    </member>
                    <member>
                        <name>currencyBuy</name>
                        <value>
                            <int>0</int>
                        </value>
                    </member>
                    <member>
                        <name>language</name>
                        <value>
                            <string>de</string>
                        </value>
                    </member>
                    <member>
                        <name>secureSessionId</name>
                        <value>
                            <string>d4dde134-cf17-4e8a-46f6-05e5b7fe1125</string>
                        </value>
                    </member>
                </struct>
            </value>
        </param>
    </params>
</methodCall> 

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
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#3
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/opensimc...me-ov-file
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste