GridTalk.de
OpenSim.Webinterface - 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: Q & A Forum (https://www.gridtalk.de/forumdisplay.php?fid=112)
+---- Thema: OpenSim.Webinterface (/showthread.php?tid=4990)

Seiten: 1 2


OpenSim.Webinterface - Manfred Aabye - 09.02.2025

Webinterface
für den OpenSimulator geschrieben in PHP 8.3

Hier entsteht ein Webinterface für den OpenSimulator dieser ist noch nicht voll funktionsfähig,
aber zum Testen reicht es schon.

Das Webinterface hat die Aufgabe, die in der Robust.ini aufgeführten Seiten zu unterstützen.

Eine Unterstützung für Economy ist nicht mehr erforderlich, ich möchte aber eine kleine Übersicht des Kontos der Nutzer bereitstellen.

Die Inex.php ist nur eine Testseite, in der man die Einzelteile bequem aufrufen kann.

In der Datei /include/config.php (config.php.example) müsst ihr eure Daten eingeben.

Folgende Daten der Robust Datenbank sind erforderlich:

// MySQL Verbindungsdaten
define('DB_USERNAME', 'your_username');
define('DB_PASSWORD', 'your_password');
define('DB_NAME', 'your_database');

// Seitenadressen
define('BASE_URL', 'http://yourdomain.com');
define('SITE_NAME', 'Dein Grid Name');

Dann muss noch die Robust.ini Konfiguration angepasst werden:

[LoginService]
; For V2 map
MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/webinterface/maptile.php";

; Url to search service
SearchURL = "${Const|BaseURL}:${Const|PublicPort}/webinterface/searchservice.php";

; For V3 destination guide
DestinationGuide = "${Const|BaseURL}/webinterface/guide.php"

; For V3 avatar picker (( work in progress ))
AvatarPicker = "${Const|BaseURL}/webinterface/avatarpicker.php"

[GridInfoService]
; login page: optional: if it exists it will be used to tell the client to use
; this as splash page
welcome = ${Const|BaseURL}/webinterface/welcomesplashpage.php

; helper uri: optional: if it exists it will be used to tell the client to use
; this for all economy related things
economy = ${Const|BaseURL}:8008/

; web page of grid: optional: page providing further information about your grid
about = ${Const|BaseURL}/webinterface/aboutinformation.php

; account creation: optional: page providing further information about obtaining
; a user account on your grid
register = ${Const|BaseURL}/webinterface/registeruser.php

; help: optional: page providing further assistance for users of your grid
help = ${Const|BaseURL}/webinterface/help.php

; password help: optional: page providing password assistance for users of your grid
password = ${Const|BaseURL}/webinterface/passwordreset.php

; partner help: optional: page providing partner assistance for users of your grid
partner = ${Const|BaseURL}/webinterface/partner.php

; a http page for grid status
GridStatus = ${Const|BaseURL}:${Const|PublicPort}/webinterface/gridstatus.php

; a RSS page for grid status
GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/webinterface/gridstatusrss.php

Download Github:
https://github.com/ManfredAabye/OpenSim.Webinterface


RE: OpenSim.Webinterface - Manfred Aabye - 10.02.2025

Heute am 10.02.2025 habe ich fast alles überarbeitet, Passwortgenerator hinzugefügt, über 700 Fehler beseitigt.
Die Farben sind auch einfach in der config.php hinzuzufügen oder einfach mal mit den Testbuttons ausprobieren.

Tests:
Oben Links auf der angezeigten Splash Seite sollte der SITE_NAME des Grids stehen, welcher in der config.php eingestellt wurde.
Oben Rechts auf der angezeigten Splash Seite sollte die Daten des Grids stehen, welche in der config.php unter Datenbank eingestellt wurden.

OpenSim Viewer öffnen, aber nicht einwählen.
Unten rechts auf "Create an account" klicken
und etwa 10 Sekunden warten,
es sollte jetzt die Registration eines Benutzers möglich sein.

Unten rechts auf "Forgot password?" klicken
und etwa 10 Sekunden warten,
es sollte jetzt das Erstellen eines neuen Passwortes eines Benutzers möglich sein.

Jetzt in das Grid einwählen.
Destinations - Destinations of interesst: hier müssen die in der include/destinations.json eingetragenen Regionen angezeigt werden.
Search - find plasecs, events, people: Hier ist noch eine Datenbank Suche hinzugekommen.


RE: OpenSim.Webinterface - Manfred Aabye - 11.02.2025

Heute am 11.02.2025 ist ein Konfigurator hinzugekommen, der aber noch nicht ausreichend getestet wurde.
Beim "Avatar Picker" hab ich noch so meine Probleme.
Ich dachte, das wäre zum Aussuchen von Avataren bei der Registrierung, aber es scheint so, dass es im OpenSimulator einfach nur der Vorname, Nachname und UUID abgefragt wird.
Wenn jemand einen Avatar Picker kennt, der zur Auswahl von Avataren dient, dann sagt mir bitte Bescheid.
Das Einzige, was ich kenne, ist das von Secondlife und Metropolis, aber ich habe da kein Zugriff auf den Sourcecode.


RE: OpenSim.Webinterface - Bogus Curry - 12.02.2025

Hallo Manni ;D

Ich hab mal den ChatGPT gefragt, keinen Schimmer ob der Code funzt, aber hier ist der was er ausgespuckt hat.

PHP-Code:
<?php
$avatars 
= [
    [
'vorname' => 'Max''nachname' => 'Mustermann''uid' => '1234-5678-91011'],
    [
'vorname' => 'Erika''nachname' => 'Musterfrau''uid' => '2234-5678-91011'],
    [
'vorname' => 'John''nachname' => 'Doe''uid' => '3234-5678-91011'],
    [
'vorname' => 'Jane''nachname' => 'Doe''uid' => '4234-5678-91011']
];

if (
$_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['avatar'])) {
    
$selectedUid $_POST['avatar'];
    
$selectedAvatar array_filter($avatars, fn($avatar) => $avatar['uid'] === $selectedUid);
    
    if (
$selectedAvatar) {
        
$selectedAvatar array_values($selectedAvatar)[0];
        echo 
"<p>Gewählter Avatar: {$selectedAvatar['vorname']} {$selectedAvatar['nachname']} (UID: {$selectedAvatar['uid']})</p>";
    } else {
        echo 
"<p>Ungültige Auswahl.</p>";
    }
}
?>

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Avatar Picker</title>
</head>
<body>
    <h2>Wähle deinen Avatar</h2>
    <form method="POST">
        <select name="avatar">
            <?php foreach ($avatars as $avatar): ?>
                <option value="<?= htmlspecialchars($avatar['uid']) ?>">
                    <?= htmlspecialchars($avatar['vorname'] . ' ' $avatar['nachname']) ?>
                </option>
            <?php endforeach; ?>
        </select>
        <button type="submit">Auswählen</button>
    </form>
</body>
</html> 

Und gefragt hab ich ;D

Zitat:Schreibe mir ein Avatar picker mit den Angaben, Vorname, Name, UID für OpenSim in Php



RE: OpenSim.Webinterface - Manfred Aabye - 12.02.2025

ChatGPT schreibt leider immer etwas, weil es nicht sagen kann, das weiß ich nicht lach.
(In tabledata.php findet man Userpicks -> pickuuid ob das für die Avatarauswahl genutzt werden kann?)

Heute habe ich die Welcome Splash Seite komplett überarbeitet, es stellt auch Regionslinks der 10 meistbesuchten Regionen zur Verfügung dies portiert die Leute direkt im Viewer zur Region (Nur mit Firestorm getestet.).

Ich habe die Texte unterlegt, damit sie auf hellen Bildern besser lesbar sind.

Ein Fehler der Hintergrundbilder wurde entfernt, denn es wollte immer die index.html Seite als Bild laden.

Mit tabledata.php habe ich eine ganz einfache Datenbankanzeige hinzugefügt.

Die config.example.php hat sich schneller verändert als ich den Konfigurator ändern kann.

Bitte ändert als Erstes immer die Passwörter in der config.php, das ist ganz wichtig.

   


RE: OpenSim.Webinterface - Manfred Aabye - 12.02.2025

So ich hab dein Skript getestet Bogus etwas Ähnliches hast du,
wenn du tabledata.php startest, dann in der Auswahltabelle UserAccounts auswählst,
nur sind das dann die echten Konten der Leute im Grid.

Aber finde ich klasse Bogus das du helfen wolltest wenn du anregungen zum OpenSim.Webinterface hast, dann poste das bitte.


RE: OpenSim.Webinterface - Bogus Curry - 12.02.2025

Na ein versuch war es wert ;D


RE: OpenSim.Webinterface - Manfred Aabye - 15.02.2025

Neuigkeiten
Ich habe eine neue guide.php zusammengebastelt Wink
Mit der neuen guide lassen sich ausgesuchte Regionen präsentieren,
alle Regionen im Grid anwählen,
bis zu 293 Grids direkt teleportieren und Grids in Firestorm registrieren.
Manche Grids sind nur Zeitweise Online andere haben keinen freien zutritt das kann ich natürlich nicht alles kontrollieren.

Dazu habe ich eine TOS und eine DMCA Vorlage erstellt zur Nutzungsreglung
und gesetzlicher Absicherung, halt als Startpunkt, damit man das Rad nicht neu erfinden muss.

Hier und da hab ich noch Fehler entfernt, sofern ich sie gefunden habe.

Tipps:
Tolle Farbtabelle gibt es hier: https://www.farb-tabelle.de/de/farbtabelle.htm

Einfach Farben aus der config ändern, zum Beispiel:
'burntOrange' => array('header' => '#FF7F50', 'footer' => '#FF7F50', 'secondary' => '#FFA07A', 'primary' => '#FF4500')
ändern zu:
'mannis_warme_farbe' => array('header' => '#cdb38b', 'footer' => '#eecfa1', 'secondary' => '#f5f5dc', 'primary' => '#4F4F4F')
So kann man das einfach für Weihnachten, Ostern und so weiter ändern, Hintergrund/Logo Bilder png mit Transparenz für die Dekoration.
Ich habe das ganze sehr flexibel gemacht und vieles ist ist direkt in der config.php änderbar.


RE: OpenSim.Webinterface - Manfred Aabye - 16.02.2025

Die vorletzte Seite ist gerade fertig geworden.
Ich habe mein Grid komplett erneuert inklusive dieses Webinterface, um zu schauen, ob es dann damit Probleme gibt.
Wenn, alles so einfach und schnell installierbar wäre wie das Webinterface, das wäre zu schön.

Github: https://github.com/ManfredAabye/OpenSim.Webinterface/tree/main
(github.com/ManfredAabye/OpenSim.Webinterface/tree/main)

   


RE: OpenSim.Webinterface - Bogus Curry - 17.02.2025

Danke Manni, das du dir soviel Mühe machst, ein solches Hilfe zu erstellen. Denke das ist für viele neulinge eine grosse Erleichterung ;D