GridTalk.de
OpenSim autoconfig addon-module - 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)
+--- Thema: OpenSim autoconfig addon-module (/showthread.php?tid=4140)



OpenSim autoconfig addon-module - Manfred Aabye - 24.11.2021

Wer Lust und Zeit hat der kann ja mal mit meiner neuen Spielwiese herumexperimentieren.
Einiges hab ich drin, anderes funktioniert nicht richtig oder fehlt.

Was macht es:
Es erstellt aus euren *.ini.example Dateien
hoffentlich funktionierende Konfigurationen für:
MoneyServer
OpenSim
Robust
RobustHG
StandaloneCommon
GridCommon
osslEnable
Regions


viel Spaß beim testen Smile

Github: https://github.com/BigManzai/opensim-configuration-addon-modul


RE: OpenSim autoconfig addon-module - Manfred Aabye - 25.11.2021

Huch durch die win32.dll garnicht Linux mono tauglich.
Also noch einmal zum 4. mal neu starten lach.


RE: OpenSim autoconfig addon-module - Manfred Aabye - 26.11.2021

Alles neu mono und .Net kompatibel.
Probleme wird es mit der Avatar Registrierung in Robust und OpenSim geben.
Ich denke die Registrierung nehme ich raus.
Regions.ini funktioniert schon, aber es wird noch keine fertige Konfiguration geschrieben.
Ich denke ich ändere die Regions.ini auch nicht, sondern schreibe die gleich neu.
Kompilieren tut das ganze unter Win10 und Ubuntu18 Fehlerfrei.


RE: OpenSim autoconfig addon-module - Gubbly - 26.11.2021

Nette Idee aber benutze doch einen konfig reader. Dieses einzlene Zeilen schreiben und ersetzen ist ja grauenhaft. Das währe viel einfacher und fehlersicherer. OpenSim hat schon nini ( http://nini.sourceforge.net/ ) mit dabei oder nutze eine kleine klasse die dir diese aufgabe abnimmt. ( https://github.com/Sahrea/Chris.OS.Configurator/blob/master/Configurator/ConfigReader.cs )

Code:
ConfigReader config = new ConfigReader("OpenSim.ini")
config.set("Startup", "DefaultScriptEngine", "YEngine")
config.set("YEngine", "enable", "true")
config.set("XEngine", "enable", "false")
config.save()

Ist doch viel einfacher als nach Zeilen zu suchen und diese zu ersetzen.


RE: OpenSim autoconfig addon-module - Manfred Aabye - 28.11.2021

Ich hab das so von Diva Configure übernommen, weil ich nicht wusste wie ich anfangen sollte.
https://github.com/diva/d2/tree/master/Tools/configuration

Nini ist altes Zeug, wo es nicht einmal eine Dokumentation für gibt.
Ich hab schon einiges durch, das letzte war peanutbutter.ini und IniFileParser.
Entweder die sind undokumentiert, oder funktionieren nicht richtig, oder laufen nur unter Windows.

Dein Beispiel löscht bei mir alle Kommentare, na ja wahrscheinlich mache ich auch was verkehrt.

Die einfachste und sauberste Art für mich, ist es die Konfigurationen komplett neu zu schreiben,
so wie in ConfigureRegions() bei mir. Hier ist jeder schritt logisch nachvollziehbar.


RE: OpenSim autoconfig addon-module - Mareta Dagostino - 28.11.2021

Die Entwickler des .NET Frameworks möchten absichtlich das alte INI Format nicht unterstützen, neue Projekte sollen XML oder JSON verwenden. Soweit ich weiß, gibt es innerhalb von .NET nur eine Extension, um Key/Value Paare aus Ini-Dateien zu lesen, aber keine Klassen, die ggf. veränderte Ini-Dateien schreiben können.

Leider bleiben daher nur die Möglichkeiten, selber eine solche Klasse zu schreiben, oder die diversen Code-Projekte anderer Leute im Internet durchzuprobieren. Dieses hier ist sehr verbreitet und kann auch mit Kommentaren umgehen.


RE: OpenSim autoconfig addon-module - Gubbly - 30.11.2021

(28.11.2021, 13:57)Manfred Aabye schrieb: Dein Beispiel löscht bei mir alle Kommentare, na ja wahrscheinlich mache ich auch was verkehrt.

Für diesen Anwendungsfall, den ich dort habe, brauche ich keine kommentare. Wenn du kommentare behalten willst kannst du Zeile 30 und 31 löschen.


RE: OpenSim autoconfig addon-module - Manfred Aabye - 01.12.2021

Seegig sind die Blinden Smile

Steht ja da Trim und ; # hätte ich eigentlich gleich sehen können,
aber wenn man auf der Suche viele tausende von Zeilen lesen muss,
ist das gar nicht mehr so leicht.

XML hat sich nicht durchgesetzt, es ist für den Menschen einfach zu mühsam zu lesen.
Json ist etwas besser zu lesen, aber Ini ist für mich immer noch die beste Lösung.

Wie gesagt, ich möchte auf keinen Fall anderen die Dokumentation in den Skripten ändern oder löschen.
Das soll alles so bleiben und auch in Zukunft wenn sich die Konfigurationen ändern sollte,
soll es ja auch noch funktionieren.


RE: OpenSim autoconfig addon-module - Mareta Dagostino - 01.12.2021

XML hat sich in meinem Umfeld ganz massiv durchgesetzt, mit etwas Gewöhnung ist es meiner Meinung nach auch für Menschen gut lesbar. Aber selbstverständlich plädiere ich jetzt nicht dafür, die diversen OpenSim Ini-Dateien in XML-Dateien umzuwandeln, außer OpenSim würde generell umstellen. Ich finde deinen (@Manfred) Weg sehr gut, die Ini-Dateien möglichst wenig anzufassen, die Kommentare stehen zu lassen, und damit kompatibel zu den diversen existierenden Anleitungen und Hilfestellungen zu bleiben.


RE: OpenSim autoconfig addon-module - Manfred Aabye - 10.01.2022

Die Nini Konfiguration
Ich habe mal das Handbuch übersetzt und eine doxygen Dokumentation erstellt.
Nini wird von OpenSim benutzt um die xml und ini Konfigurationen zu lesen.
Konfigurationen können hiermit aber auch erstellt oder geändert werden.

Nini Handbuch:
https://github.com/BigManzai/opensim-configuration-addon-modul/wiki/Nini-Handbuch

Doxygen Dokumentation:
https://github.com/BigManzai/opensim-configuration-addon-modul
Datei NiniConfigDoc.zip entpacken und 000index.html oder index.html mit einem Internet Browser aufrufen.