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
#4
Ich wollte einmal fragen wie lange die Opensim_source.bat laufen sollte one dass man sich gedanken machen sollte.
Bei mir sieht es so aus als würde sie sich bei :

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

aufgehängt haben.
Seit etwa 20 Minuten tut sich in der Console einfach nichts mehr.
Zitieren
#5
Keine 20 Minuten dauert das eigentlich.
Bei mir hängt sich das auch auf, bei den Dev´s anscheinend nicht, deshalb mache ich das anders siehe OpenSim Windows Tool.

PHP-Code:
@echo off
echo _______________________________________________________________________________________________________________________
echo OpenSim Windows Tool Version 17032025 V10
echo Systemvorraussetzung zum erstellen vom OpenSimulator:
echo 
DOTNET 8.0.x https://dotnet.microsoft.com/en-us/download/dotnet/8.0
echo Visual Tudio 22 Community https://visualstudio.microsoft.com/de/vs/community/
echo Git https://git-scm.com/downloads/win
echo _______________________________________________________________________________________________________________________
set 
/p setupChoice="Moechten Sie das Setup starten? ([J]/N): "

:: Standardwert "J" setzenwenn keine Eingabe gemacht wurde
if "%setupChoice%"=="" set setupChoice=J

if /"%setupChoice%" NEQ "J" (
    echo 
Setup abgebrochen.
    exit /
b
)

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

if not exist "opensimsource" (
    echo 
opensimsource Verzeichnis existiert nichtlade OpenSim herunter...
    
git clone https://github.com/opensim/opensim.git opensimsource
) else (
    echo 
opensimsource uebersprungen.
)

echo 
_______________________________________________________________________________________________________________________
echo OpenSimSearch Repository
echo _______________________________________________________________________________________________________________________
    set 
/p OpenSimSearchChoice="Moechten Sie das OpenSimSearch Repository herunterladen? ([N]/J): "

    
:: Standardwert "N" setzenwenn keine Eingabe gemacht wurde
    
if "%OpenSimSearchChoice%"=="" set OpenSimSearchChoice=N

    
if /"%OpenSimSearchChoice%"=="J" (
        
git clone https://github.com/ManfredAabye/OpenSimSearch.git opensimsearch
        
xcopy //"opensimsearch\OpenSimSearch\*.*" "addon-modules\"
    ) else (
        echo OpenSimSearch Repository uebersprungen.
    )


echo _______________________________________________________________________________________________________________________
echo Money Repository
echo _______________________________________________________________________________________________________________________
set /p moneyChoice="
Moechten Sie das Money Repository herunterladen? ([N]/J): "

:: Standardwert "
N" setzen, wenn keine Eingabe gemacht wurde
if "
%moneyChoice%"=="" set moneyChoice=N

if /i "
%moneyChoice%"=="J" (
    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 vorhanden, ueberspringe den Download...
    )

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

    xcopy /s /y "
opensimsource\opensimcurrencyserver\addon-modules\*.*" "opensimsource\addon-modules\"
    xcopy /s /y "
opensimsource\opensimcurrencyserver\bin\*.*" "opensimsource\bin\"
    ) else (
        echo Money Repository uebersprungen.
    )

echo _______________________________________________________________________________________________________________________
echo PayPal Repository
echo _______________________________________________________________________________________________________________________
    set /p paypalChoice="
Moechten Sie das PayPal Repository herunterladen? ([N]/J): "

    :: Standardwert "
N" setzen, wenn keine Eingabe gemacht wurde
    if "
%paypalChoice%"=="" set paypalChoice=N

    if /i "
%paypalChoice%"=="J" (
        git clone https://github.com/AdamFrisby/DTL-PayPal.git DTL-PayPal
    ) else (
        echo Money Repository uebersprungen.
    )

:: Inventar herunterladen
echo _______________________________________________________________________________________________________________________
echo Inventar Repository
echo _______________________________________________________________________________________________________________________
set /p InventarChoice="
Moechten Sie das Inventar Repository herunterladen? ([J]/N): "

:: Standardwert "
J" setzen, wenn keine Eingabe gemacht wurde
if "
%InventarChoice%"=="" set InventarChoice=J

if /i "
%InventarChoice%"=="J" (

    :: Skripte herunterladen
    if not exist "
opensimsource\opensim-ossl-example-scripts" (
    echo Lade Skripte herunter...
    cd opensimsource
    git clone https://github.com/ManfredAabye/opensim-ossl-example-scripts.git opensim-ossl-example-scripts
    cd ..
    ) else (
        echo opensim-ossl-example-scripts bereits vorhanden, ueberspringe den Download...
    )
    xcopy /s /y "
opensimsource\opensim-ossl-example-scripts\ScriptsAssetSet\*.*" "opensimsource\bin\assets\ScriptsLibrary\"
    xcopy /s /y "
opensimsource\opensim-ossl-example-scripts\inventory\ScriptsLibrary\*.*" "opensimsource\bin\inventory\ScriptsLibrary\"

    :: Inventar Ruth2
    if not exist "
opensimsource\Ruth2" (
    echo Lade Ruth2 herunter...
    cd opensimsource
    git clone https://github.com/ManfredAabye/Ruth2.git Ruth2
    cd ..
    ) else (
        echo Ruth2 bereits vorhanden, ueberspringe den Download...
    )
    xcopy /s /y "
opensimsource\Ruth2\Artifacts\IAR\*.iar" "opensimsource\bin\Library"

    :: Inventar Roth2
    if not exist "
opensimsource\Roth2" (
    echo Lade Roth2 herunter...
    cd opensimsource
    git clone https://github.com/ManfredAabye/Roth2.git Roth2
    cd ..
    ) else (
        echo Roth2 bereits vorhanden, ueberspringe den Download...
    )
    xcopy /s /y "
opensimsource\Roth2\Artifacts\IAR\*.iar" "opensimsource\bin\Library"
    ) else (
        echo Inventar Repository uebersprungen.
)

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

cd opensimsource

echo _______________________________________________________________________________________________________________________
echo example Endungen entfernen
echo _______________________________________________________________________________________________________________________
set /p exampleChoice="
Moechten Sie .example Endungen in allen Dateien entfernen? ([J]/N): "

:: Standardwert "
J" setzen, wenn keine Eingabe gemacht wurde
if "
%exampleChoice%"=="" set exampleChoice=J

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

echo _______________________________________________________________________________________________________________________
echo Test Region erstellen
echo _______________________________________________________________________________________________________________________
set /p RegionChoice="
Moechten Sie eine Test Region erstellen? ([J]/N): "

:: Standardwert "
J" setzen, wenn keine Eingabe gemacht wurde
if "
%RegionChoice%"=="" set RegionChoice=J

if /i "
%RegionChoice%"=="J" (
:: Zielpfad zur Datei
cd opensimsource
git clone https://github.com/ManfredAabye/OpenSim-Terrain.git OpenSim-Terrain
cd ..
xcopy /s /y "
opensimsource\OpenSim-Terrain\*.raw" "opensimsource\bin"
xcopy /s /y "
opensimsource\OpenSim-Terrain\*.png" "opensimsource\bin"
xcopy /s /y "
opensimsource\OpenSim-Terrain\*.oar" "opensimsource\bin"
xcopy /s /y "
opensimsource\OpenSim-Terrain\*.ini" "opensimsource\bin\Regions"

:: Erfolgsmeldung ausgeben
echo Die Datei Regionsdaten wurden aktualisiert.
)

echo _______________________________________________________________________________________________________________________
echo Kopiere System.Drawing.Common.dll.win in bin...
echo _______________________________________________________________________________________________________________________
cd opensimsource
copy bin\System.Drawing.Common.dll.win bin\System.Drawing.Common.dll
cd ..
echo _______________________________________________________________________________________________________________________
echo Erstelle die Prebuild Dateien...
echo _______________________________________________________________________________________________________________________
:: Voher cleanen sonst doppelte eintragungen von dotnet 8.0
:: Wenn die Datei OpenSim.sln vorhanden ist kann ein clean nicht schaden oder?
cd opensimsource
if exist "
OpenSim.sln" (
dotnet bin\prebuild.dll /file prebuild.xml /clean
)

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): "

:: Standardwert "
J" setzen, wenn keine Eingabe gemacht wurde
if "
%compileChoice%"=="" set compileChoice=J

echo _______________________________________________________________________________________________________________________
if /i "
%compileChoice%"=="J" (
    echo Starte die Kompilierung von OpenSimulator...
    dotnet build --configuration Release OpenSim.sln
) else (
    echo Kompilierung uebersprungen.
)
cd ..

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

echo _______________________________________________________________________________________________________________________
echo Setup abgeschlossen.
echo _______________________________________________________________________________________________________________________
echo Sie benoetigen noch einen OpenSim faehigen Viewer den bekommen sie hier: "
https://wiki.firestormviewer.org/downloads"
echo Starten sie nun den OpenSimulator mit dem Befehl "dotnet opensim.dll" dieser befindet sich im Verzeichnis opensimsource/bin
echo Im folgenden Fenster geben sie "create user" ein und erstellen einen neuen User mit dem Namen "opensim avatar".
echo 
Wenn das Land unterwasser istgeben sie ein"terrain fill 20.5" dann ist ihr Land 50cm ueber der Wassergrenze.
echo 
Wenn sie ein forgefertigtes Land haben moechten dann geben sie in der Konsole "load oar terrain.oar" ein.
echo 
Starten sie ihren Firestorm Viewer und waehlen sie unter Einstellungen OpenSim neues Grid hinzufuegen aus 
echo und fuegen dort "http://127.0.0.1:9000" ein.

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.



Zitieren


Gehe zu:


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