Die Metro-spezifische SYSTEMIP Variante findet sich im Arriba Sim seit heute 16:15 als
ExternalHostName=MetroIP
wieder.
Alle Builds davor enthalten diese Variante noch nicht.
Zusätzlich gibt es für alle "Freunde" des 24h Disconnects die folgende Funktion (neu in der Regions.ini):
; *
; * IP Changes Detector
; * It will recheck the ExternalHostName for changes of external IP address if enabled.
; *
; * It registers, the grid registration and the vivox registration
; *
; CheckForIPChanges = false
Diese Funktion triggert sowohl die Registration der Sim als auch des Vivox-Voice-Moduls neu.
bezgl. Skripte:
den Parameter ScriptStopStrategy hab ich in die Rente geschickt. Der wird nicht mehr ausgewertet. Die Kompilate haben jetzt einen etwas anderen Namen und so triggert sich das Kompilieren von alleine.
Klasse Sachen, die du da machst, Freaky!
Die 24 h Trennung ist eine typisch deitsche Unart, um zu verhindern, dass Server auf einem privaten Internetanschluss betrieben werden (Dauerbetrieb).
Da werden sich einige Homies freuen
Hi nur kurz als Info ,bei mir auf einem Windows Server häufen sich Meldungen auch in rot mit Arriba ,was die normalen 0.80 Simulatoren nicht Anzeigen ,merke zwar keine Beeinflussung läuft also alles bis jetzt ,aber trotzdem mal Infos rüber lassen ,hier ein Auszug ,des Logs
Grüße Jader
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:07:58,943 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:08:26,088 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:08:59,019 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:09:59,032 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:10:26,645 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:10:59,061 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:11:59,106 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:12:27,326 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:12:59,197 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
Für die FlotsamCache.ini habe ich den Vorschlag von Genie Fegte übernommen, siehe den Beitrag weiter oben im Thread.
In der OpenSim.ini ist nun der Abschnitt mit "ScriptStopStrategy" gelöscht, da dieser Parameter in Arriba nicht mehr verwendet wird. Außerdem sind jetzt einige wenige OSSL Funktionen defaultmäßig aktiviert, die von Freaky empfohlenen und ein paar lesende Zugriffe, die ich unbedenklich finde bezüglich Griefing:
-> AllowOSFunctions = true
-> OSFunctionThreatLevel = Low
-> Allow_osGetAgents = true
-> Allow_osGetAvatarList = true
-> Allow_osGetCurrentSunHour = true
-> Allow_osGetMapTexture = true
-> Allow_osGetSunParam = true
-> Allow_osGetTerrainHeight = true
-> Allow_osNpcGetOwner = true
-> Allow_osGetWindParam = true
-> Allow_osAvatarName2Key = true
-> Allow_osKey2Name = true
-> Allow_osGetNotecard = true
-> Allow_osGetNotecardLine = true
-> Allow_osGetNumberOfNotecardLines = true
In der Regions.ini gibt es neue Features, die hier im Thread ja bereits beschrieben sind. Betroffen sind Server, die keine feste IP-Adresse haben:
-> ExternalHostName = SYSTEMIP (allgemein)
-> ExternalHostName = MetroIP (speziell angepasst fürs Metropolis Grid)
Wer den Server außerdem dauerhaft über die nächtliche Zwangstrennung einiger Provider hinweg betreiben will, braucht noch den folgenden neuen Parameter zusätzlich:
-> CheckForIPChanges = true
Windows-Benutzer bitte fürs Entpacken der Zip-Datei entweder 7Zip oder ein anderes Tool verwenden, oder vorher in den Eigenschaften der Zip-Datei auf "Zulassen" klicken. (Danke an Freaky für den Hinweis.)
@Dorena: Gerne darfst Du Zwischenversionen hier reinstellen! Ich werde sicherlich nicht dauerhaft im Wochentakt oder öfter compilieren. Wer gerne "meine" Ini-Dateien als Basis haben will, kann sie ja aus dem letzten Download ziehen, oder ich lege sie noch separat daneben.
Wichtige Ergänzung zu dem Parameter "CheckForIPChanges"
Dieser Parameter fragt zyklisch einen Server des Metro-Grids ab und belastet damit die Performance des Grids. Er sollte wirklich ausschließlich nur von Leuten verwendet werden, die erstens an einer dynamisch vergebenen IP-Adresse hängen und zweitens ihren Server dauerhaft über Nacht durchlaufen lassen!
Für alle anderen reicht es, wenn die IP einmalig beim Start von OpenSim festgestellt wird, der Parameter braucht dann nicht angegeben werden bzw. sollte auf "false" stehen.
Carima läuft nun auch mit Arriba und ich bin echt beeindruckt von dem Performance Schub. Meine Hochachtung für alle die an diesem Projekt arbeiten.
Ich habe allerdings seit der Umstellung zu den bereist bestehenden Problemen ein neues hinzu bekommen.
Wir nutzen an einigen Stellen ein TP Script. Das nun leider klemmt. Ich bekomme folgende Meldung im Scriptwarungsfenster:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> OpenSim.Region.ScriptEngine.Shared.ScriptException: OSSL Runtime Error: osTeleportAgent permission denied. Allowed threat level is Low but function threat level is Severe.
Server stack trace:
at OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.OSSLError(String msg)
at OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.osTeleportAgent(String agent, String regionName, Vector3 position, Vector3 lookat)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at OpenSim.Re
hallo, kopiere von deiner alten Opensim.ini die Zeilen, die die OSSL-Befehle beinhalten. Damit sollte es dann wieder gehen. Die ini von Arriba hat nicht die gleichen Voreinstellungen. Deshalb hatte ich Freaky gesagt, am besten die bestehende Metro so übernehmen, denn einige werden ein Teleport-Script haben.
Sag Bescheid, ob damit dein Problem gelöst ist...
bitte meldet doch hier die fehlenden OSSL Befehle, dann mache ich sie voraussichtlich am 4. August in das nächste Binary mit rein. Ansonsten habe ich den ganzen Metro-Block an Befehlen in die OpenSim.ini reinkopiert, ihr braucht nur an den gewünschten Stellen das Kommentar-Semikolon entfernen.
Wenn mehrheitlich die Rückmeldung kommt, es sollen wie im Metro-Download erstmal alle Befehle freigeschaltet werden, und ihr nehmt das Risiko der Anfälligkeit für Griefer hin, kann ich auch im kompletten Funktionsblock des Metro-Downloads die Semikolons rausmachen. Selber betreibe ich die Regionen halt lieber so vernagelt wie möglich, und öffne nur das, was wirklich gebraucht wird.
Freaky hat keinen direkten Einfluss auf die Konfigurationsdateien in "meinem" Binärdownload, der hier im Thread diskutiert wird, denn ich lege die Dateien nach dem Compilieren manuell ins Verzeichnis rein. Freakys Example-Configs sind nicht für die einzelnen Grids angepasst, sondern "nur" Beispielschablonen und ohne Anpassungen nicht lauffähig.
Einfach im Blindflug die OpenSim.ini aus dem Metro-Download in die Arriba kopieren kann funktionieren, muss aber nicht. Ich rate davon ab! Besser ist, einzelne Befehle mit Sachverstand umzuschalten. In dem Fall eben nur den OSSL Funktionsblock freischalten (Semikolons entfernen). Zwischen verschiedenen OpenSim Versionen müssen die Ini-Dateien nicht kompatibel sein.
Hallo Mareta, ich hatte ja auch vorgeschlagen, den OSSL Block, nicht die ganze ini zu nehmen. Ich bin im Moment unterwegs, ich schicke dir dem Block, wenn ich Sonntag wieder zuhause bin.
Sagen möchte ich dazu allerdings schonmal, dass der Block schon sehr sicher konfiguriert ist, weil die Freigaben der Befehle mit höherem Threat-Level ausschliesslich über die Variablen Owner und Manager erfolgen.
Okay das Prinzip habe ich verstanden. Die OSSL Befehle sind in der Arriba Opensim.ini größtenteils auskommentiert. Gerade unter dem Aspekt Missbräuchlicher Nutzung Stichwort: "Griefer" würde ich schon gerne die Möglichkeiten auf das notwendige beschränken. Und da kommt dann aber auch mein Problem: Mir mangelt es an Wissen welche Befehle ich nun freischalten soll und welche potentiell gefährlich sind. KAnn ich anhand der von mir geposteten Fehlermeldung auf die richtigen Befehle schließen ? Oder mach ich es wie Eryn vorgeschlagen hat und "kopiere" den Block der OSSL Befehle in die aktuelle Opensim.ini.....
Hi, solange in deiner alten ini die Befehle, die unter einem Threat Level höher als low eingetragen sind, auch mit den Variablen Owner und Manager arbeiten, kann da nicht viel passieren. Der allgemeine Threat Level über dem Block sollte aber nicht über Low angehoben werden.
Das Prinzip ist folgendes: Der allgemeine Threat Level bestimmt, welche Befehle generell freigeschaltet werden. Sollten darüber hinaus noch Befehle eines höheren Levels benötigt werden, so kommt der Block zum Einsatz, wenn die Befehle aktiv (nicht auskommentiert) sind und ein "true" oder eine entsprechende Variable nutzen. Das kann eine bestimmte UUID oder eben Owner, etc sein. Damit können diese Befehle eines höheren Threat Levels auch nur von diesen bestimmten Usern benutzt werden, das heisst, Scripte eines Griefers, das diese Befehle benutze laufen nicht und werfen genau den Fehler aus, den du bekommen hast.
Du kannst jetzt natürlich auch nur den einen Befehl OSTeleportAgent auf deine UUID oder - vorausgesetzt dir gehört das Estate oder du bist Manager - mit den Variablen freischalten.
Sorry, wenn der Befehl jetzt nicht 100% so heisst. Ich schreibe dies von meinem Telefon
ich wäre lieber an der Information, was sich warum geändert hat, interessiert, da ich mir meine Ini´s mit viel Mühe und Arbeit selber nach meinen Bedürfnissen zurechtgeschustert habe.
Gerade mit den OSSL-Befehlen. Das wäre doof, wenn man jedesmal Zeile für Zeile kontrollieren müsste. Hier ist was true, da ist was false. Oft gibt es gar kein Richtig oder Falsch, manchmal ist es einfach nur Geschmaksache.
Diese Arbeit müsste ich dann jedesmal wieder machen, um am Ende festzustellen, das sich hier oder da nur ein Semikolon eingeschlichen oder aufgelöst hat.
Das wäre sehr umständlich.
Eine punktuelle Info wäre für die, die das auch so machen, einfacher.
So in der Art wie: Um folgende neue Funktionalität nutzen zu können sollte "HIER = Irgendwie" stehen und "DA = Ein ganz Anders" oder so ähnlich.
Nur als Idee, ich würde es nett finden.
Es könnte auch heißen: "Dass man die alte INI einfach übernehmen kann." Das wäre dann sehr kurz und bündig.
@Primus: Wenn du den Quellcode des Scripts öffnest, fangen die fraglichen Befehle mit "os" an statt mit "ll". Alle solche Befehle müssen in deiner Opensim.ini freigeschaltet sein.
@Eryn: Du brauchst mir die Funktionenliste aus dem Metropolis-Beispiel nicht schicken, sie ist auskommentiert bereits in OpenSim.ini eingefügt.
@Spike: Leider bleibt die Arbeit, die gelieferte OpenSim.ini an die persönlichen Vorlieben anzupassen, niemand erspart. Ich habe versucht, aus verschiedenen Beispielen das beste zu ziehen, aber allen kann ich es nicht gleichzeitig Recht machen. Übrigens benutze ich nicht mal selber mein eigenes Beispiel, weil meine persönlichen Vorlieben gewiss nicht mehrheitsfähig sind. Ein paar Beiträge weiter vorne habe ich die Unterschiede zur Beispieldatei im Metropolis-Download aufgelistet, mit jeweiliger Begündung warum ich abgewichen bin. Zusätzlich sind der Übersichtlichkeit wegen alle Parameter auskommentiert, die eh auf den Defaultwert eingestellt sind.
Nachdem die Wünsche in den beiden Foren sehr unterschiedlich sind, und auch Freaky die Defaults im Arriba überarbeiten will, lege ich für die nächste Zeit eine Variante dazu:
-> OSFunctionThreatLevel = None
-> alle Einzelfunktionen aktiviert wie im Metropolis-Beispiel
Alles andere ist genauso, wie in der OpenSim.ini im bin-Verzeichnis der Zip-Datei. Bitte gegebenfalls einfach umbenennen und über die OpenSim.ini drüberkopieren. Falls ihr in eurer OpenSim.ini bereits Anpassungen gemacht habt, geht es aber wahrscheinlich schneller, in der eigenen Datei vor den OSSL Befehlen selber die Semikolons wegzumachen, statt die ganze Datei wieder nach Unterschieden zu durchsuchen.
Comments
wieder.
Alle Builds davor enthalten diese Variante noch nicht.
Zusätzlich gibt es für alle "Freunde" des 24h Disconnects die folgende Funktion (neu in der Regions.ini):
Diese Funktion triggert sowohl die Registration der Sim als auch des Vivox-Voice-Moduls neu.
bezgl. Skripte:
den Parameter ScriptStopStrategy hab ich in die Rente geschickt. Der wird nicht mehr ausgewertet. Die Kompilate haben jetzt einen etwas anderen Namen und so triggert sich das Kompilieren von alleine.
Gruss Freaky
Die 24 h Trennung ist eine typisch deitsche Unart, um zu verhindern, dass Server auf einem privaten Internetanschluss betrieben werden (Dauerbetrieb).
Da werden sich einige Homies freuen
Grüße Jader
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:07:58,943 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:08:26,088 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:08:59,019 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:09:59,032 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:10:26,645 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:10:59,061 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:11:59,106 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
2014-07-14 18:12:27,326 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine [XEngine]: Failed to save state of script ~ball.~ball, item UUID 3596608e-a650-4ed7-9427-864afa2e30cb, prim UUID 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 in Aladino. Exception
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance instance)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String assembly)
bei OpenSim.Region.ScriptEngine.XEngine.XEngine.<DoBackup>m__7(IScriptInstance i)
2014-07-14 18:12:59,197 DEBUG - OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance [SCRIPT INSTANCE]: Runtime error in script ~ball, part ~ball 47e3d091-cff9-4501-aeaf-7b06dcaa1cd0 at <30.33158, 19.7473, 40.63852> in Aladino
System.AppDomainUnloadedException: Die Zielanwendungsdomäne wurde entladen.
Server stack trace:
bei System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
bei System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String state, String FunctionName, Object[] args)
bei OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor()
ist bei dir AppDomainLoading auf ein oder aus?
Die einzige Änderung, die es gab bezog sich bezüglich AppDomainLoading auf Skripte, die nicht korrekt kompilieren. Ich habe das wieder zurückgebaut.
Gruss
Freaky
ArribaBin_Metro_1de6581aea_14-07-14.zip
Für die FlotsamCache.ini habe ich den Vorschlag von Genie Fegte übernommen, siehe den Beitrag weiter oben im Thread.
In der OpenSim.ini ist nun der Abschnitt mit "ScriptStopStrategy" gelöscht, da dieser Parameter in Arriba nicht mehr verwendet wird. Außerdem sind jetzt einige wenige OSSL Funktionen defaultmäßig aktiviert, die von Freaky empfohlenen und ein paar lesende Zugriffe, die ich unbedenklich finde bezüglich Griefing:
-> AllowOSFunctions = true
-> OSFunctionThreatLevel = Low
-> Allow_osGetAgents = true
-> Allow_osGetAvatarList = true
-> Allow_osGetCurrentSunHour = true
-> Allow_osGetMapTexture = true
-> Allow_osGetSunParam = true
-> Allow_osGetTerrainHeight = true
-> Allow_osNpcGetOwner = true
-> Allow_osGetWindParam = true
-> Allow_osAvatarName2Key = true
-> Allow_osKey2Name = true
-> Allow_osGetNotecard = true
-> Allow_osGetNotecardLine = true
-> Allow_osGetNumberOfNotecardLines = true
In der Regions.ini gibt es neue Features, die hier im Thread ja bereits beschrieben sind. Betroffen sind Server, die keine feste IP-Adresse haben:
-> ExternalHostName = SYSTEMIP (allgemein)
-> ExternalHostName = MetroIP (speziell angepasst fürs Metropolis Grid)
Wer den Server außerdem dauerhaft über die nächtliche Zwangstrennung einiger Provider hinweg betreiben will, braucht noch den folgenden neuen Parameter zusätzlich:
-> CheckForIPChanges = true
Windows-Benutzer bitte fürs Entpacken der Zip-Datei entweder 7Zip oder ein anderes Tool verwenden, oder vorher in den Eigenschaften der Zip-Datei auf "Zulassen" klicken. (Danke an Freaky für den Hinweis.)
@Dorena: Gerne darfst Du Zwischenversionen hier reinstellen!
Dieser Parameter fragt zyklisch einen Server des Metro-Grids ab und belastet damit die Performance des Grids. Er sollte wirklich ausschließlich nur von Leuten verwendet werden, die erstens an einer dynamisch vergebenen IP-Adresse hängen und zweitens ihren Server dauerhaft über Nacht durchlaufen lassen!
Für alle anderen reicht es, wenn die IP einmalig beim Start von OpenSim festgestellt wird, der Parameter braucht dann nicht angegeben werden bzw. sollte auf "false" stehen.
Carima läuft nun auch mit Arriba und ich bin echt beeindruckt von dem Performance Schub.
Ich habe allerdings seit der Umstellung zu den bereist bestehenden Problemen ein neues hinzu bekommen.
Wir nutzen an einigen Stellen ein TP Script. Das nun leider klemmt. Ich bekomme folgende Meldung im Scriptwarungsfenster:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> OpenSim.Region.ScriptEngine.Shared.ScriptException: OSSL Runtime Error: osTeleportAgent permission denied. Allowed threat level is Low but function threat level is Severe.
Server stack trace:
at OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.OSSLError(String msg)
at OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.osTeleportAgent(String agent, String regionName, Vector3 position, Vector3 lookat)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at OpenSim.Re
Habt Ihr einen Tip für mich was ich tun kann ?
Herzlichen Dank
Primus
Sag Bescheid, ob damit dein Problem gelöst ist...
bitte meldet doch hier die fehlenden OSSL Befehle, dann mache ich sie voraussichtlich am 4. August in das nächste Binary mit rein. Ansonsten habe ich den ganzen Metro-Block an Befehlen in die OpenSim.ini reinkopiert, ihr braucht nur an den gewünschten Stellen das Kommentar-Semikolon entfernen.
Wenn mehrheitlich die Rückmeldung kommt, es sollen wie im Metro-Download erstmal alle Befehle freigeschaltet werden, und ihr nehmt das Risiko der Anfälligkeit für Griefer hin, kann ich auch im kompletten Funktionsblock des Metro-Downloads die Semikolons rausmachen. Selber betreibe ich die Regionen halt lieber so vernagelt wie möglich, und öffne nur das, was wirklich gebraucht wird.
Freaky hat keinen direkten Einfluss auf die Konfigurationsdateien in "meinem" Binärdownload, der hier im Thread diskutiert wird, denn ich lege die Dateien nach dem Compilieren manuell ins Verzeichnis rein. Freakys Example-Configs sind nicht für die einzelnen Grids angepasst, sondern "nur" Beispielschablonen und ohne Anpassungen nicht lauffähig.
Einfach im Blindflug die OpenSim.ini aus dem Metro-Download in die Arriba kopieren kann funktionieren, muss aber nicht. Ich rate davon ab! Besser ist, einzelne Befehle mit Sachverstand umzuschalten. In dem Fall eben nur den OSSL Funktionsblock freischalten (Semikolons entfernen). Zwischen verschiedenen OpenSim Versionen müssen die Ini-Dateien nicht kompatibel sein.
Liebe Grüße,
Mareta
Sagen möchte ich dazu allerdings schonmal, dass der Block schon sehr sicher konfiguriert ist, weil die Freigaben der Befehle mit höherem Threat-Level ausschliesslich über die Variablen Owner und Manager erfolgen.
Das Prinzip ist folgendes: Der allgemeine Threat Level bestimmt, welche Befehle generell freigeschaltet werden. Sollten darüber hinaus noch Befehle eines höheren Levels benötigt werden, so kommt der Block zum Einsatz, wenn die Befehle aktiv (nicht auskommentiert) sind und ein "true" oder eine entsprechende Variable nutzen. Das kann eine bestimmte UUID oder eben Owner, etc sein. Damit können diese Befehle eines höheren Threat Levels auch nur von diesen bestimmten Usern benutzt werden, das heisst, Scripte eines Griefers, das diese Befehle benutze laufen nicht und werfen genau den Fehler aus, den du bekommen hast.
Du kannst jetzt natürlich auch nur den einen Befehl OSTeleportAgent auf deine UUID oder - vorausgesetzt dir gehört das Estate oder du bist Manager - mit den Variablen freischalten.
Sorry, wenn der Befehl jetzt nicht 100% so heisst. Ich schreibe dies von meinem Telefon
ich wäre lieber an der Information, was sich warum geändert hat, interessiert, da ich mir meine Ini´s mit viel Mühe und Arbeit selber nach meinen Bedürfnissen zurechtgeschustert habe.
Gerade mit den OSSL-Befehlen. Das wäre doof, wenn man jedesmal Zeile für Zeile kontrollieren müsste. Hier ist was true, da ist was false. Oft gibt es gar kein Richtig oder Falsch, manchmal ist es einfach nur Geschmaksache.
Diese Arbeit müsste ich dann jedesmal wieder machen, um am Ende festzustellen, das sich hier oder da nur ein Semikolon eingeschlichen oder aufgelöst hat.
Das wäre sehr umständlich.
Eine punktuelle Info wäre für die, die das auch so machen, einfacher.
So in der Art wie: Um folgende neue Funktionalität nutzen zu können sollte "HIER = Irgendwie" stehen und "DA = Ein ganz Anders" oder so ähnlich.
Nur als Idee, ich würde es nett finden.
Es könnte auch heißen: "Dass man die alte INI einfach übernehmen kann." Das wäre dann sehr kurz und bündig.
Spike
@Primus: Wenn du den Quellcode des Scripts öffnest, fangen die fraglichen Befehle mit "os" an statt mit "ll". Alle solche Befehle müssen in deiner Opensim.ini freigeschaltet sein.
@Eryn: Du brauchst mir die Funktionenliste aus dem Metropolis-Beispiel nicht schicken, sie ist auskommentiert bereits in OpenSim.ini eingefügt.
@Spike: Leider bleibt die Arbeit, die gelieferte OpenSim.ini an die persönlichen Vorlieben anzupassen, niemand erspart. Ich habe versucht, aus verschiedenen Beispielen das beste zu ziehen, aber allen kann ich es nicht gleichzeitig Recht machen. Übrigens benutze ich nicht mal selber mein eigenes Beispiel, weil meine persönlichen Vorlieben gewiss nicht mehrheitsfähig sind. Ein paar Beiträge weiter vorne habe ich die Unterschiede zur Beispieldatei im Metropolis-Download aufgelistet, mit jeweiliger Begündung warum ich abgewichen bin. Zusätzlich sind der Übersichtlichkeit wegen alle Parameter auskommentiert, die eh auf den Defaultwert eingestellt sind.
Nachdem die Wünsche in den beiden Foren sehr unterschiedlich sind, und auch Freaky die Defaults im Arriba überarbeiten will, lege ich für die nächste Zeit eine Variante dazu:
-> OSFunctionThreatLevel = None
-> alle Einzelfunktionen aktiviert wie im Metropolis-Beispiel
Alles andere ist genauso, wie in der OpenSim.ini im bin-Verzeichnis der Zip-Datei. Bitte gegebenfalls einfach umbenennen und über die OpenSim.ini drüberkopieren. Falls ihr in eurer OpenSim.ini bereits Anpassungen gemacht habt, geht es aber wahrscheinlich schneller, in der eigenen Datei vor den OSSL Befehlen selber die Semikolons wegzumachen, statt die ganze Datei wieder nach Unterschieden zu durchsuchen.
Download: OpenSim.ini.ExampleWithMetroOSSL
Liebe Grüße,
Mareta
Dabei habe ich den folgenden Stand auch im Git implementiert:
die folgenden Rechte sind grundsätzlich vorhanden:
osSetTerrainHeight => Terraforming allowed
osGetTerrainHeight => always on
osTerrainFlush => estate manager or estate owner
osRegionRestart => estate manager or estate owner
osRegionNotice => estate manager or estate owner
osSetDynamicTextureURL => always on
osSetDynamicTextureURLBlend => always on
osSetDynamicTextureURLBlendFace => always on
osSetDynamicTextureData => always on
osSetDynamicTextureDataBlend => always on
osSetDynamicTextureDataBlendFace => always on
osConsoleCommand => estate manager or estate owner
osSetPrimFloatOnWater => always on
osTeleportOwner => always on
osGetAgents => always on
osMovePen => always on
osDrawLine => always on
osDrawText => always on
osDrawEllipse => always on
osDrawRectangle => always on
osDrawFilledRectangle => always on
osDrawFilledPolygon => always on
osDrawPolygon => always on
osSetFontSize => always on
osSetFontName => always on
osSetPenSize => always on
osSetPenColor => always on
osSetPenColour => always on, deprecated
osSetPenCap => always on
osDrawImage => always on
osGetDrawStringSize => always on
osSetRegionWaterHeight => estate manager or estate owner
osSetRegionSunSettings => estate manager or estate owner
osSetEstateSunSettings => estate manager or estate owner
osGetCurrentSunHour => always on
osSunGetParam => always on
osSunSetParam => estate manager or estate owner
osWindActiveModelPluginName => always on
osSetWindParam => estate manager or estate owner
osGetWindParam => always on
osParcelJoin => estate manager or estate owner
osParcelSubdivide => estate manager or estate owner
osParcelSetDetails => parcel owner (except owner, group, claimdate)
osList2Double => always on
osSetParcelMediaURL => parcel owner
osSetParcelSIPAddress => parcel owner
osParseJSONNew => always on
osParseJSON => always on
osMessageObject => always on
osMakeNotecard => always on
osGetNotecardLine => always on
osGetNotecard => always on
osGetNumberOfNotecardLines => always on
osAvatarName2Key => always on
osKey2Name => always on
osFormatString => always on
osMatchString => always on
osReplaceString => always on
osLoadedCreationDate => always on
osLoadedCreationTime => always on
osLoadedCreationID => always on
osGetLinkPrimitiveParams => always on
osForceCreateLink => always on
osForceBreakLink => always on
osForceBreakAllLinks => always on
osIsNpc => always on
osNpcSaveAppearance => npc owner
osNpcLoadAppearance => npc owner
osNpcGetOwner => npc owner
osNpcGetPos => npc owner
osNpcMoveTo => npc owner
osNpcMoveToTarget => npc owner
osNpcGetRot => npc owner
osNpcSetRot => npc owner
osNpcStopMoveToTarget => npc owner
osNpcSay => npc owner
osNpcShout => npc owner
osNpcSit => npc owner
osNpcStand => npc owner
osNpcRemove => npc owner
osNpcPlayAnimation => npc owner
osNpcStopAnimation => npc owner
osNpcWhisper => npc owner
osNpcTouch => npc owner
osOwnerSaveAppearance => always on
osGetMapTexture => always on
osGetRegionSize => always on
osKickAvatar => etstate manager or estate owner
osGetHealth => always on
osGetAvatarList => always on
osUnixTimeToTimestamp => always on
osGetInventoryDesc => always on
osInviteToGroup => prim owner has group invite permission
osEjectFromGroup => prim owner has group eject permission
osSetTerrainTexture => estate manager or estate owner
osSetTerrainTextureHeight => estate manager or estate owner
osIsUUID => always on
osMin => always on
osMax => always on
osGetRezzingObject => always on
osListenRegex => always on
osRegexIsMatch => always on
die folgenden Funktionen müssen explizit über opensim.ini freigegeben werden:
osSetRot => threat level very high
osTeleportAgent => Threat Level severe
osAvatarPlayAnimation => threat level very high
osAvatarStopAnimation => threat level very high
osGetAgentIP => threat level high
osGetScriptEngineName => threat level high
osGetPhysicsEngineType => threat level high
osGetSimulatorVersion => threat level high
osGetGridNick => threat level moderate
osGetGridName => threat level moderate
osGetGridLoginURI => threat level moderate
osGetGridHomeURI => threat level moderate
osGetGridGatekeeperURI => threat level moderate
osGetGridCustom => threat level moderate
osNpcCreate => threat level high
osAgentSaveAppearance => threat level veryhigh
osGetRegionMapTexture => threat level high
osGetRegionStats => threat level moderate
osGetSimulatorMemory => threat level moderate
osSetSpeed => threat level moderate
osCauseDamage => threat level high
osCauseHealing => threat level high
osGetPrimitiveParams => threat level high
osSetPrimitiveParams => threat level high
osSetProjectionParams => threat level high
osForceAttachToAvatar => threat level high
osForceAttachToAvatarFromInventory => threat level high
osForceAttachToOtherAvatarFromInventory => threat level severe
osGetNumberOfAttachments => threat level moderate
osMessageAttachments => threat level moderate
osSetContentType => threat level high
osDropAttachment => Threat level moderate
osForceDropAttachment => threat level high
osDropAttachmentAt => threat level moderate
osForceDropAttachmentAt => threat level high
Eventuell geht aus der unteren Liste noch die ein oder andere in eine Neubewertung.
Allerdings hat sich bei der Bewertung auch gezeigt, dass die gesamte Bestands-Bewertung einer Überprüfung bedurfte.