Arriba-Sim: Binärdownload für Metropolis (inoffiziell)

2456711

Comments

  • Genie Fegte
    Genie Fegte
     Member edited 3:35PM
    Ich habe auch gerade umgestellt auf Arriba.
    Die enthaltene Opensim.ini habe ich durch meine "alte" aus der 0.8 Metro Windowsversion ersetzt.
    Unter Windows solte unter [STARTUP] folgende Einstellung eingefügt werden
    async_call_method = UnsafeQueueUserWorkItem
    Dadurch werden unter Windows die Threads automatisch an das System angepasst.
    Im Ordner Config-Include muss die "FlotsamCache.ini.example" umbenannt werden in "FlotsamCache.ini."
    Das ganze läuft bei mir unter Windows7 64bit als 768x768 Varregion und macht bisher einen sehr guten Eindruck.
    Die Region nennt sich MetroRadio falls es sich jemand ansehen will, das laden dauert ein wenig weil dort ca 80.000Prims verbaut sind und 1230 Skripte aktiv sind :D


    Liebe Grüsse

    Genie
  • Mareta Dagostino
    Mareta Dagostino
     Member edited 3:35PM
    Hier folgt eine kommentierte Liste der Unterschiede zwischen der OpenSim.ini von Metro und der OpenSim.ini in dem hier besprochenen Arriba Binärdownload.

    In der Ini-Datei von Metro, aber nicht in "meiner" Ini-Datei:
    (Nicht aufgeführt: Werte, die genauso wie die Defaults gesetzt wurden.)
    [Startup]
        physics = OpenDynamicsEngine
    
    Anmerkung: Das habe ich absichtlich auf dem Default "BulletSim" gelassen.
    [DataSnapshot]
        index_sims = false
    
    Anmerkung: Das habe ich absichtlich auf "true" gesetzt, weil sich die Metro-Admins ziemlich viel Mühe gegeben haben mit dem Inworld-Such-Tool. Wer das Feature nicht mag, soll es halt selber abschalten.
    [XEngine]
        MaxThreads = 300
        Priority = "Lowest"
        MaxScriptEventQueue = 350
    
    Anmerkung: Arriba hat ein anderes Laufzeitverhalten, spezielle Performanceoptimierungen müssten neu erprobt werden. Ich habe hier die Arriba Defaults nicht geändert.
    ScriptStopStrategy = abort
    
    Anmerkung: Freaky schrieb mal, dass bei Arriba "co-op" verwendet werden sollte.
    DeleteScriptsOnStartup = false
    
    Anmerkung: Sicher eine gute Optimierung, um die Startzeit zu verringern. Aber risikobehaftet, weil Serverbetreiber dann selber von Zeit zu Zeit die durch diverse Besucher angesammelten Scripte löschen müssen.
    ; Rate to poll for asynchronous command replies (ms)
        ; currently unused
        AsyncLLCommandLoopms = 500
    
    Anmerkung: Arriba hat ein anderes Laufzeitverhalten, spezielle Performanceoptimierungen müssten neu erprobt werden. Ich habe hier die Arriba Defaults nicht geändert.
    AllowOSFunctions = true
        ... jede Menge OSFunctions ...
    
    Anmerkung: Ich würde lieber nur gezielt einzelne OSSL Funktionen vorbelegt freigeben, wo kein Risiko durch versehentliche Fehlprogrammierung oder absichtlichen Missbrauch durch Griefer besteht.

    In "meiner" Ini-Datei, aber nicht in derIni-Datei von Metro:
    [EntityTransfer]
        ;; Patch added by Mareta, Idea copied from Akira
        DisableInterRegionTeleportCancellation = false
        LevelHGTeleport = 0
        MaxOutgoingTransferVersion = "SIMULATION/0.3"
        max_distance = 16383
    
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Folgendes schaltet die Script-Engine ab:

    ScriptStopStrategy = abort

    Es funktioniert ausschliesslich

    ScriptStopStrategy = co-op


    Bezüglich async_call_method:

    Diese Einstellungen basieren auf dem Ursprungs-OpenSim und halfen sicherlich dort ein paar Quentchen zu holen. Allerdings sind durch die vielen Optimierungen die Laufzeiteigenschaften gewaltig geändert. Dadurch sind bisherige Annahmen bezüglich der Ini bei der Arriba-Sim hinfällig.
  • Mareta Dagostino
    Mareta Dagostino
     Member edited 3:35PM
    Unter Windows solte unter [STARTUP] folgende Einstellung eingefügt werden
    async_call_method = UnsafeQueueUserWorkItem
    
    Dadurch werden unter Windows die Threads automatisch an das System angepasst.
    Im Ordner Config-Include muss die "FlotsamCache.ini.example" umbenannt werden in "FlotsamCache.ini."

    Danke, Genie.

    Ich habe aus dem Metro-Download beide OpenSim.ini Dateien (Linux und Windows) verglichen, sie sind identisch. Speziell "UnsafeQueueUserWorkItem" soll unter Windows zwar performanter laufen, aber nach den mir bekannten Informationen unter Linux nicht ordentlich. Weiß da jemand genaueres? Jedenfalls haben sich die Metro-Admins auch nicht getraut, das mit UnsafeQueueUserWorkItem pauschal vorzubelegen, und "SmartThreadPool" gewählt. Das sollte überall zumindest laufen.

    Die "FlotsamCache.ini" ist tatsächlich im Metro-Download anders belegt als die Defaults, wenn man die FlotsamCache.ini.example Datei nicht umbennent. Im Folgenden die Unterschiede:
    ; How often should hit rates be displayed (given in AssetRequests)
        ; 0 to disable
        HitRateDisplay = 0    ; Anmerkung: Default ist 100
    
        ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes
        ; Optimization: for VPS or limited memory system installs set Timeout to .016 (1 minute)
        ; increases performance without large memory impact
        MemoryCacheTimeout = 0   ; Anmerkung: Default ist 2
    
        ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes
        ; Specify 0 if you do not want your disk cache to expire
        FileCacheTimeout = 0   ; Anmerkung: Default ist 48
    
        ; How often {in hours} should the disk be checked for expired filed
        ; Specify 0 to disable expiration checking
        FileCleanupTimer = 0   ; Anmerkung: Default ist 1.0 every hour
    

    Soweit ich das verstehe, zielen die Änderungen darauf hin, möglichst alle Assets im Cache auf der lokalen Platte zu lassen, ohne automatisch "alte" Sachen wegzuräumen. Dann füllt sich die lokale Platte natürlich so lange unbegrenzt weiter, bis die Platte voll ist, oder bis OpenSim neu installiert wird. Oder bis der Serverbetreiber manuell löscht. Die Defaults löschen "alte" Assets automatisch, dafür werden unter Umständen manche Assets unnötigerweise wieder vom Assetserver des Grids angefordert, die noch Platz auf der lokalen Platte gehabt hätten.

    Wie ist eure Meinung, was sind günstige Werte für einen Default? Abschalten wie im Metro-Beispiel halte ich nicht für optimal, weil viele von uns doch Mietserver betreiben, die sehr lange Zeiträume unbeaufsichtigt laufen. (Wenn ich keine neuen OpenSim Installationen ausprobiere, läuft mein Mietserver zum Beispiel schon mal zwei Monate, ohne dass ich mich dort auch nur einlogge.)
  • Genie Fegte
    Genie Fegte
     Member edited 3:35PM
    Freaky schrieb
    Bezüglich async_call_method:

    Diese Einstellungen basieren auf dem Ursprungs-OpenSim und halfen sicherlich dort ein paar Quentchen zu holen. Allerdings sind durch die vielen Optimierungen die Laufzeiteigenschaften gewaltig geändert. Dadurch sind bisherige Annahmen bezüglich der Ini bei der Arriba-Sim hinfällig.

    Das hat sich dann wohl geändert. In der Metroversion war das noch möglich, "Arriba" ignoriert die Einstellung einfach :lol:
    Sie wird beim Laden wohl aufgerufen aber danach ignoriert .
    In den Metroversionen läuft diese Einstellung tatsächlich nicht unter Linux, da diese unter .net die CPU abfragt und daraufhin die Threads in Windows automatisch passend zum Prozessor einstellt.

    bezüglich den FlotsamCache Setting
    CacheDirectory = ./assetcache
    ; Other examples:
    ;CacheDirectory = /directory/writable/by/OpenSim/instance

    ; Log level
    ; 0 - (Error) Errors only
    ; 1 - (Info) Hit Rate Stats + Level 0
    ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1
    ;
    LogLevel = 0

    ; How often should hit rates be displayed (given in AssetRequests)
    ; 0 to disable
    HitRateDisplay = 0

    ; Set to false for no memory cache
    MemoryCacheEnabled = false

    ; Set to false for no file cache
    FileCacheEnabled = true

    ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes
    ; Optimization: for VPS or limited memory system installs set Timeout to .016 (1 minute)
    ; increases performance without large memory impact
    MemoryCacheTimeout = 0

    ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes
    ; Specify 0 if you do not want your disk cache to expire
    FileCacheTimeout = 0

    ; How often {in hours} should the disk be checked for expired filed
    ; Specify 0 to disable expiration checking
    FileCleanupTimer = 24 ;every day
    so werden einmal am Tag alle ungültigen Files aus dem Cache gelöscht und nur die im Simulator befindlichen bleiben im Cache auf der Festplatte
  • Piper
    Piper
     Member CreativeGroup edited 3:35PM
    Huhu leute,

    hab echt ein Problem :(

    Habe SqLite und windows

    2014-07-11 18:31:17,742 ERROR - OpenSim.Services.Base.ServiceBase [SERVICE BASE]: Failed to load plugin OpenSim.Region.Framework.Interfaces.ISimulationDataStore from OpenSim.Data.SQLite.dll with args URI=file:OpenSim.db,version=3,UseUTF16Encoding=True
    System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.IO.FileLoadException: Die Datei oder Assembly "Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)
    bei OpenSim.Data.SQLite.SQLiteSimulationData.Initialise(String connectionString)
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
    bei System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    bei System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
    bei System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
    bei System.Activator.CreateInstance(Type type, Object[] args)
    bei OpenSim.Services.Base.ServiceBase.LoadPlugin[T](String dllName, String className, Object[] args)
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Bitte entweder mit 7Zip oder einem anderen Tool entpacken. Oder vorher in den Eigenschaften der ZIP-Datei auf Zulassen klicken.

    Windows markiert diese Dateien und verhindert dann den Zugriff wenn man beim eingebauten ZIP-Entpacker nicht vorher auf "Zulassen" klickt.
  • Piper
    Piper
     Member CreativeGroup edited 3:35PM
    Hallo Freaky,

    habe die zip Datei in ein anderes Verzeichnis entpackt und nur die regions.ini und den listener port in der opensim.ini geändert.
    und gleicher Fehler

    Gruß Piper
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Auf Linux wurde eine andere Mono.Data.Sqlite-Version eingebunden.

    Mono.Data.Sqlite im bin-Ordner hat die Version 1.0.61.0

    Ich habe das im git jetzt so abgeändert, dass er genau die beiliegende Version verwendet.

    Das war im prebuild.xml nicht so angegeben und war geerbt.

    So hätte dieses aussehen müssen:

    <Reference name="Mono.Data.Sqlite" path="../../../bin/"/>
  • Piper
    Piper
     Member CreativeGroup edited 3:35PM
    Sorry,

    ich krieg das net hin :(
    Habe die Opensim.ini.example in Opensim.ini umbenannt und den listener port geändert
    und die Regions.ini ebenso auf meine Daten geändert...
    Dann in der Start up den Zusatz wie hier im Thread geändert.. und die Floatsam .. geändert in eine ini.

    Und das krieg ich im log:

    2014-07-11 20:24:09,909 INFO - OpenSim.Application [OPENSIM MAIN]: configured log4net using default OpenSim.exe.config
    2014-07-11 20:24:10,003 INFO - OpenSim.Application [OPENSIM MAIN]: System Locale is de-DE
    2014-07-11 20:24:10,019 INFO - OpenSim.Application [OPENSIM MAIN]: Environment variable MONO_THREADS_PER_CPU is unset
    2014-07-11 20:24:10,019 INFO - OpenSim.Application [OPENSIM MAIN]: Runtime gave us 8 min worker threads and 8 min IOCP threads
    2014-07-11 20:24:10,019 INFO - OpenSim.Application [OPENSIM MAIN]: Runtime gave us 32767 max worker threads and 1000 max IOCP threads
    2014-07-11 20:24:10,019 INFO - OpenSim.Application [OPENSIM MAIN]: Limiting max worker threads to 1000
    2014-07-11 20:24:10,019 INFO - OpenSim.Application [OPENSIM MAIN]: Threadpool set to 1000 max worker threads and 1000 max IOCP threads
    2014-07-11 20:24:10,034 INFO - OpenSim.Application [OPENSIM MAIN]: Environment is supported by OpenSimulator.
    2014-07-11 20:24:10,097 INFO - OpenSim.ConfigurationLoader [CONFIG]: Reading configuration settings
    2014-07-11 20:24:10,097 INFO - OpenSim.ConfigurationLoader [CONFIG]: Reading embedded OpenSimDefaults.ini
    2014-07-11 20:24:10,175 INFO - OpenSim.ConfigurationLoader [CONFIG]: Reading configuration file E:\_OpenSim\Simulators\Garden\Metro Arriba\Neu Arriba\bin\OpenSim.ini
    2014-07-11 20:24:10,206 INFO - OpenSim.ConfigurationLoader [CONFIG]: Loading environment variables for Config
    2014-07-11 20:24:10,237 INFO - OpenSim.OpenSim [OPENSIM MAIN]: Using async_call_method UnsafeQueueUserWorkItem
    2014-07-11 20:24:10,284 INFO - OpenSim.OpenSim ====================================================================
    2014-07-11 20:24:10,284 INFO - OpenSim.OpenSim ========================= STARTING OPENSIM =========================
    2014-07-11 20:24:10,284 INFO - OpenSim.OpenSim ====================================================================
    2014-07-11 20:24:10,346 INFO - OpenSim.Framework.Servers.ServerBase [SERVER BASE]: Starting in E:\_OpenSim\Simulators\Garden\Metro Arriba\Neu Arriba\bin
    2014-07-11 20:24:10,346 INFO - OpenSim.Framework.Servers.ServerBase [SERVER BASE]: OpenSimulator version: OpenSim Arriba (Codename: That is Not True) 2014-07-04 / 49e084ad7178107829f37626c23ffa6786da266c Dev
    2014-07-11 20:24:10,346 INFO - OpenSim.Framework.Servers.ServerBase [SERVER BASE]: Operating system version: Microsoft Windows NT 6.1.7601 Service Pack 1, .NET platform Win32NT, 64-bit
    2014-07-11 20:24:10,393 INFO - OpenSim.Framework.Servers.ServerBase [SERVER BASE]: Logging started to file E:\_OpenSim\Simulators\Garden\Metro Arriba\Neu Arriba\bin\OpenSim.log
    2014-07-11 20:24:10,455 ERROR - OpenSim.Application [APPLICATION]:
    APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

    Exception: System.Exception: Configuration file is missing the [SimulationDataStore] section. Have you copied OpenSim.ini.example to OpenSim.ini to reference config-include/ files?
    bei OpenSim.OpenSimBase.StartupSpecific()
    bei OpenSim.OpenSim.StartupSpecific()
    bei OpenSim.Framework.Servers.BaseOpenSimServer.Startup()
    bei OpenSim.Application.Main(String[] args)

    Application is terminating: True
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Nimm bitte die OpenSim.ini, FlotsamCache.ini
    und die GridCommon.ini von Mareta und packe die in die entsprechenden Ordner in dem neu entpackten.

    Und auch die von dir bereits angepasste Regions.ini
  • Mareta Dagostino
    Mareta Dagostino
     Member edited 3:35PM
    Das sieht doch schon gar nicht mehr so schlecht aus, das Programm konnte anlaufen und ist erst beim Auswerten der ersten Inis rausgeflogen. Du schreibst, du hättest Opensim.ini.example in Opensim.ini umbenannt! Wenn du die Example-Datei nimmst, musst du von Hand alle Einträge für Metro passend einsetzen. Ich empfehle dir eher, die bereits für Metro angepasste Opensim.ini als Basis zu verwenden, und da die einzelnen Einträge zu ändern, wo du dir mit anderen Werten bessere Ergebnisse erhoffst.

    Mindestens musst du all die Einträge drin lassen bzw. einsetzen, wo Webadressen auf "hypergrid.org" zeigen. Am Ende der .example Datei muss noch bei [Architecture] in der Zeile ; Include-Architecture = "config-include/GridHypergrid.ini" das Semikolon entfernt werden.

    EDIT: Aber wie Freaky schrieb, nimm besser erstmal die OpenSim.ini. Der andere Weg, die Beispieldatei passend zu machen, ist steinig und schwer (mit Xavier Naidoos Worten).
  • Piper
    Piper
     Member CreativeGroup edited 3:35PM
    Oh ihr seid Spitzeeeeeeeeeeeeee :)

    Hab es jetzt noch mal probiert und hingekriegt !!!

    DANKEEEEEEEEEE Ihr Beiden :)

    Und wie du schon sagst Mareta, jetzt kann ich mit dem ausprobieren anfangen.. aber ich weiss nun läuft es !!!

    DANKE DANKE

    LG Piper
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Ich habe die Defaults der OSSL-Funktionen mal genauer angeschaut. Es sind einige dabei wo man an sich sagen kann, die kann man schon generell an machen kann.
    Das ist der aktuelle Stand den ich jetzt in den Defaults eingebaut habe.

    AllowOSFunctions = true
    AllowLightShareFunctions = true
    OSFunctionThreatLevel = Low
    Allow_osGetNotecard = true
    Allow_osGetNotecardLine = true
    Allow_osGetNumberOfNotecardLines = true


    Die Funktionen bezüglich Notecard landen im gleichen Code wie ihre dataserver-Entsprechungen. Daher keine Nachteile für den Sim-Betrieb aus meiner Sicht.
  • Freaky Tech
    Freaky Tech
     Member edited 3:35PM
    Dieses Problem habe ich heute gefixt:

    http://www.gridtalk.de/showthread.php?t ... 8#pid14208

    Es handelt sich hier um die Objektduplikation im Bau-Menü.

    hier nochmal der Text aus dem Abschlusspost meinerseits:

    Hab die eigentliche Ursache gefunden, der ziemlich zerfledderte Code bezüglich des TaskInventory macht die Übersicht nicht einfach. So wurden dann fälschlicherweise die Original-Inventory Items in das neue Prim eingehängt.

    Die Codeteile sind dort derartig verstreut, dass ein Überblick dort nur schwierig ist.

    Gut nun kenne ich diese Funktion und kann auch darauf achten, dass der nicht nochmal ein Defekt passiert.

    Nun ist dieses im Arriba auch wieder repariert.

    Diese Funktion kennen wohl weit weniger als gedacht, der ist sehr früh bei der Überarbeitung der Locks im Objektinventarhandling reingekommen.

    Gruss Freaky
Sign In or Register to comment.
© Copyright 2017 - Metropolis Metaversum
All times are GMT