• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Scriptproblem OSGrid

Guten Morgen allerseits,

als wir auf unserem Server den Trunk 8314 aufgespielt haben, haben wir Probleme damit, das die Vendoren und der ATM nicht mehr richtig laufen.

Das heisst, beim anklicken unserer Vendoren passiert entweder gar nichts, oder es wird nur 1 Menue angezeigt und dann nichts mehr.

Auf unserem Server laufen 3 Simulationen. Eine mit 6, eine mit 4 und eine mit 3 Regionen. Nur auf der mit 3 Regionen, welche allerdings total leer sind, funktionieren die Vendoren einwandfrei.

Nun haben wir den neuesten Trunk aufgespielt (8386) und es ist das gleiche Problem. Die open sim ini´s sind bei allen 3 Simulationen gleich.

Wir hoffen es jat jemand von euch eine Ahnung wie wir den Fehler beheben können.

Gruß
Vivienne & Victor









Trunk 8386
 
@Beverly

Hier die gewünschten Daten. Erst die von der Simulation die richtig läuft.

  • [XEngine]
    ; Enable this engine in this OpenSim instance
    Enabled = true
    ; How many threads to keep alive even if nothing is happening
    MinThreads = 2
    ; How many threads to start at maximum load
    MaxThreads = 40
    ; Time a thread must be idle (in seconds) before it dies
    IdleTimeout = 60
    ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
    Priority = "BelowNormal"
    ; Maximum number of events to queue for a script (excluding timers)
    MaxScriptEventQueue = 300
    ; Stack size per thread created
    ThreadStackSize = 262144
    ; Rate to poll for asynchronous command replies (ms)
    AsyncLLCommandLoopms = 50
    ; Save the source of all compiled scripts
    WriteScriptSourceToDebugFile = false
    ; Default language for scripts
    DefaultCompileLanguage = lsl
    ; List of allowed languages (lsl,vb,js,cs)
    ; AllowedCompilers=lsl
    ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
    AllowedCompilers=lsl

    ; Compile debug info (line numbers) into the script assemblies
    CompileWithDebugInformation = true
    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = false
    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = VeryLow
    ; Interval (s) between background save of script states
    SaveInterval = 120
    ; Interval (s) between maintenance runs (0 = disable)
    MaintenanceInterval = 10
    ; Time a script can spend in an event handler before it is interrupted
    EventLimit = 30
    ; If a script overruns it's event limit, kill the script?
    KillTimedOutScripts = false
    ; Sets the multiplier for the scripting delays
    ScriptDelayFactor = 1.0
    ; The factor the 10 m distances llimits are multiplied by
    ScriptDistanceLimitFactor = 1.0

    ; OS Functions enable/disable
    ; For each function, you can add one line, as shown
    ; The default for all functions allows them if below threat level

    ; true allows the use of the function unconditionally
    ; Allow_osSetRegionWaterHeight = true
    Allow_osGetSimulatorVersion = True

    ; false disables the function completely
    ; Allow_osSetRegionWaterHeight = false

    ; Comma separated list of UUIDS allows the function for that list of UUIDS
    ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb


    ; Allow for llCreateLink and llBreakLink to work without asking for permission
    ; only enable this in a trusted environment otherwise you may be subject to hijacking
    ; AutomaticLinkPermission = false


    [ScriptEngine.DotNetEngine]
    Enabled = false

    ScriptDelayFactor = 1.0
    ScriptDistanceLimitFactor = 1.0


    ;
    ; These settings are specific to DotNetEngine script engine
    ; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
    ;

    ; When a script receives an event the event is queued.
    ; Any free thread will start executing this event. One script can only have one event executed simultaneously.
    ; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
    ; Same if you have 10 threads, then only 10 scripts can be run simultaneously.
    ; But because most scripts exit after their task, the threads are free to go on to the next script.

    ; Refresh ScriptEngine config options (these settings) every xx seconds
    ; 0 = Do not refresh
    ; Set it to number of seconds between refresh, for example 30.
    ; Will allow you to change ScriptEngine settings while server is running just by using "CONFIG SET" on console
    ; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
    ; NOTE! Disabled for now. Feature does not work.
    RefreshConfig=0

    ; Number of threads to use for script event execution
    ; Threads are shared across all regions
    NumberOfScriptThreads=2

    ; Script event execution thread priority inside application.
    ; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
    ScriptThreadPriority=BelowNormal

    ; How long MAX should a script event be allowed to run (per event execution)?
    ; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
    ; There is also a small speed penalty for every kill that is made
    MaxEventExecutionTimeMs=5000

    ; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
    EnforceMaxEventExecutionTime=true

    ; Should we stop the script completely when time exceeds?
    ; This is useful if you have a high <MaxEventExecutionTimeMs> and want to deactivate scripts that go wrong
    ; Note that for example physics engine can slow down the system and make scripts spend more time
    DeactivateScriptOnTimeout=false

    ; If no scripts have executed in this pass how long should we sleep before checking again
    ; Impact:
    ; Too low and you will waste lots of CPU
    ; Too high and people touching object or similar will have to wait up to this amount of time before script responding
    SleepTimeIfNoScriptExecutionMs=50

    ; AppDomains are used for two things:
    ; * Security: Scripts inside AppDomains are limited in permissions.
    ; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
    ; AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
    ; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
    ScriptsPerAppDomain=1

    ; MaintenanceLoop
    ; How often to run maintenance loop
    ; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
    MaintenanceLoopms=50

    ; How many maintenanceloops between each of these.
    ; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
    ; Script loading/unloading

    ; How long load/unload thread should sleep if there is nothing to do
    ; Higher value makes it respond slower when scripts are added/removed from prims
    ; But once active it will process all in queue before sleeping again
    MaintenanceLoopTicks_ScriptLoadUnload=1

    ; Other tasks
    ; check if we need to reload config, adjust running config and enforce max execution time
    MaintenanceLoopTicks_Other=10

    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = true

    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = Low

    ; Maximum number of items in load/unload queue before we start rejecting loads
    ; Note that we will only be rejecting load. Unloads will still be able to queue.
    LoadUnloadMaxQueueSize=100

    ; Maximum number of (LSL) events that can be queued before new events are ignored.
    EventExecutionMaxQueueSize=300

    ; Async LL command sleep
    ; If no async LL commands are waiting, how long should thread sleep before checking again
    ; Async LL commands are LSL-commands that causes an event to be fired back with result
    AsyncLLCommandLoopms=50

    ; When script is converted from LSL [libary:9344867954]Abkürzung für [LindenScriptingLanguage], [Scriptsprache] in [SecondLife][/libary:9344867954] to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
    WriteScriptSourceToDebugFile=true

    ; Specify default script compiler
    ; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
    ; Valid languages are: lsl, cs, js and vb
    DefaultCompileLanguage=lsl

    ; Specify what compilers are allowed to be used
    ; Note vb only works on Windows for now (Mono lacks VB compile support)
    ; Valid languages are: lsl, cs, js and vb
    ; AllowedCompilers=lsl,cs,js,vb. *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
    AllowedCompilers=lsl


    ; Compile scripts with debugging
    ; Probably a thousand times slower, but gives you a line number when something goes wrong.
    CompileWithDebugInformation=true

    ; Remove old scripts on next startup
    CleanUpOldScriptsOnStartup=true

Und nun die wo es probleme gibt.

  • [XEngine]
    ; Enable this engine in this OpenSim instance
    Enabled = true
    ; How many threads to keep alive even if nothing is happening
    MinThreads = 2
    ; How many threads to start at maximum load
    MaxThreads = 40
    ; Time a thread must be idle (in seconds) before it dies
    IdleTimeout = 60
    ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
    Priority = "BelowNormal"
    ; Maximum number of events to queue for a script (excluding timers)
    MaxScriptEventQueue = 300
    ; Stack size per thread created
    ThreadStackSize = 262144
    ; Rate to poll for asynchronous command replies (ms)
    AsyncLLCommandLoopms = 50
    ; Save the source of all compiled scripts
    WriteScriptSourceToDebugFile = false
    ; Default language for scripts
    DefaultCompileLanguage = lsl
    ; List of allowed languages (lsl,vb,js,cs)
    ; AllowedCompilers=lsl
    ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
    AllowedCompilers=lsl

    ; Compile debug info (line numbers) into the script assemblies
    CompileWithDebugInformation = true
    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = false
    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = VeryLow
    ; Interval (s) between background save of script states
    SaveInterval = 120
    ; Interval (s) between maintenance runs (0 = disable)
    MaintenanceInterval = 10
    ; Time a script can spend in an event handler before it is interrupted
    EventLimit = 30
    ; If a script overruns it's event limit, kill the script?
    KillTimedOutScripts = false
    ; Sets the multiplier for the scripting delays
    ScriptDelayFactor = 1.0
    ; The factor the 10 m distances llimits are multiplied by
    ScriptDistanceLimitFactor = 1.0

    ; OS Functions enable/disable
    ; For each function, you can add one line, as shown
    ; The default for all functions allows them if below threat level

    ; true allows the use of the function unconditionally
    ; Allow_osSetRegionWaterHeight = true
    Allow_osGetSimulatorVersion = True

    ; false disables the function completely
    ; Allow_osSetRegionWaterHeight = false

    ; Comma separated list of UUIDS allows the function for that list of UUIDS
    ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb


    ; Allow for llCreateLink and llBreakLink to work without asking for permission
    ; only enable this in a trusted environment otherwise you may be subject to hijacking
    ; AutomaticLinkPermission = false


    [ScriptEngine.DotNetEngine]
    Enabled = false

    ScriptDelayFactor = 1.0
    ScriptDistanceLimitFactor = 1.0


    ;
    ; These settings are specific to DotNetEngine script engine
    ; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
    ;

    ; When a script receives an event the event is queued.
    ; Any free thread will start executing this event. One script can only have one event executed simultaneously.
    ; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
    ; Same if you have 10 threads, then only 10 scripts can be run simultaneously.
    ; But because most scripts exit after their task, the threads are free to go on to the next script.

    ; Refresh ScriptEngine config options (these settings) every xx seconds
    ; 0 = Do not refresh
    ; Set it to number of seconds between refresh, for example 30.
    ; Will allow you to change ScriptEngine settings while server is running just by using "CONFIG SET" on console
    ; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
    ; NOTE! Disabled for now. Feature does not work.
    RefreshConfig=0

    ; Number of threads to use for script event execution
    ; Threads are shared across all regions
    NumberOfScriptThreads=2

    ; Script event execution thread priority inside application.
    ; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
    ScriptThreadPriority=BelowNormal

    ; How long MAX should a script event be allowed to run (per event execution)?
    ; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
    ; There is also a small speed penalty for every kill that is made
    MaxEventExecutionTimeMs=5000

    ; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
    EnforceMaxEventExecutionTime=true

    ; Should we stop the script completely when time exceeds?
    ; This is useful if you have a high <MaxEventExecutionTimeMs> and want to deactivate scripts that go wrong
    ; Note that for example physics engine can slow down the system and make scripts spend more time
    DeactivateScriptOnTimeout=false

    ; If no scripts have executed in this pass how long should we sleep before checking again
    ; Impact:
    ; Too low and you will waste lots of CPU
    ; Too high and people touching object or similar will have to wait up to this amount of time before script responding
    SleepTimeIfNoScriptExecutionMs=50

    ; AppDomains are used for two things:
    ; * Security: Scripts inside AppDomains are limited in permissions.
    ; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
    ; AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
    ; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
    ScriptsPerAppDomain=1

    ; MaintenanceLoop
    ; How often to run maintenance loop
    ; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
    MaintenanceLoopms=50

    ; How many maintenanceloops between each of these.
    ; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
    ; Script loading/unloading

    ; How long load/unload thread should sleep if there is nothing to do
    ; Higher value makes it respond slower when scripts are added/removed from prims
    ; But once active it will process all in queue before sleeping again
    MaintenanceLoopTicks_ScriptLoadUnload=1

    ; Other tasks
    ; check if we need to reload config, adjust running config and enforce max execution time
    MaintenanceLoopTicks_Other=10

    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = true

    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = Low

    ; Maximum number of items in load/unload queue before we start rejecting loads
    ; Note that we will only be rejecting load. Unloads will still be able to queue.
    LoadUnloadMaxQueueSize=100

    ; Maximum number of (LSL) events that can be queued before new events are ignored.
    EventExecutionMaxQueueSize=300

    ; Async LL command sleep
    ; If no async LL commands are waiting, how long should thread sleep before checking again
    ; Async LL commands are LSL-commands that causes an event to be fired back with result
    AsyncLLCommandLoopms=50

    ; When script is converted from LSL [libary:9344867954]Abkürzung für [LindenScriptingLanguage], [Scriptsprache] in [SecondLife][/libary:9344867954] to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
    WriteScriptSourceToDebugFile=true

    ; Specify default script compiler
    ; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
    ; Valid languages are: lsl, cs, js and vb
    DefaultCompileLanguage=lsl

    ; Specify what compilers are allowed to be used
    ; Note vb only works on Windows for now (Mono lacks VB compile support)
    ; Valid languages are: lsl, cs, js and vb
    ; AllowedCompilers=lsl,cs,js,vb. *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
    AllowedCompilers=lsl


    ; Compile scripts with debugging
    ; Probably a thousand times slower, but gives you a line number when something goes wrong.
    CompileWithDebugInformation=true

    ; Remove old scripts on next startup
    CleanUpOldScriptsOnStartup=true

Ich habe keine unterschiede gefunden, was aber nichts zu bedeuten hat^^

Gruß
Victor
 
hmm, versuche es mal, in dem du in dem Simulator auf dem es nicht läuft dieses änderst:

; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
Priority = "BelowNormal"

und zwar in das:

; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
Priority = "Normal"

wenns dann immer noch nicht läuft, dann "AboveNormal"

Lg Bev
 
Danke für die schnelle Antwort Beverly.

Wir werden das nachher mal testen.

Aber was wir nicht verstehen ist, die ini von beiden Sims ist ja gleich, warum die Vendoren dann auf der einen Sim laufen und auf der anderen nicht.

Nun ist leider erstmal wieder RL dran.

Danke uns bis bald
Vivienne & Victor
 
Hallo Beverly,

wir haben jetzt beide Änderungen getestet, beides bringt gar nix :-(

Vielleicht hat noch jemand eine Idee woran das liegen könnte.

Gruß
Vivienne & Victor
 
was mich zum denken bringt:

"Auf unserem Server laufen 3 Simulationen. Eine mit 6, eine mit 4 und eine mit 3 Regionen."


ungleiches Verhalten ist dabei durchweg üblich, letztlaufen nicht alle processe zur selben Zeit beim Start an usw... könnte ich nur 3 Seiten schreiben warum... in kurz: ungleich durchweg logisch bei knappen Resourcen...

denkt dran, dass die limits die ihr konfiguriert (z.b. zahl der threads, prozesse) pro sim gelten... dass sich also die scripts aller regionen in einem sim hier addieren..


--> über wieviel RAM im Server reden wir ?

--> Und wieiviel scripte (bitte in der art: simulator1 - region1 , 47 - simulator2, 103)


bedenkt immer: eigenen server betreiben ist halt höhere kunst, letztlich muss man alle parameter die man da konfiguriert erforschen und verstehen. :)


Vergleicht das auch mal mit der Opensim.ini vom meiner homepage - wenn ich die maxthreads sehe... nunja...

cheers,
Ralf
 
Hallo Ralf,

danke für deine Antwort. Das komische ist aber das alle Scripte liefen, bevor wir den einen Trunk aufgespielt haben (8314). Und bei den höheren Versionen war es bisher auch so.

Inzwischen laufen die Vendoren auf keiner Sim mehr, nichtmal auf der, wo keinerlei Scripte am laufen sind, ausser einem Poseständer.

Wir werden jetzt mal versuchen einen älteren Trunk aufzuspielen, mal sehen was dann ist.

Ich weiss die Daten vom Server jetzt nicht genau, aber wir haben 2048 MB Arbeitsspeicher. Das ist der größte V- Server von Host Europe (XL3.0)
Und wie bereits erwähnt lief ja alles schon.

Übrigens Ralf, die ini ist die, die wir von dir haben ^^. Victor hat da nichts dran geändert.

Gruß
Vivienne Clary
 
also, meine ini ist das keinesfalls - vergleich doch mal...


und: bitte bedenken, dass jede (--> jede <--) Änderung alles umkrempelen kann.

Ein Prim mehr
eine andere Version
2 scripte mehr
3 avatare mehr

oder was auch immer... insbesondere wenn man am oberen Ram-Rand krabelt...
13 regionen mit 3 sims auf 2GB Ram... das kann schon was kniffelig sein..


Könnt ihr ja berechnen, Grobkalkulation ja habe ich ja auf der homepage.


wie auch immer:

--> Und wieviel scripte (bitte in der art: simulator1 - region1 , 47 - simulator2, 103)

Primmenge wäre bei so viel Regionen auf 2GB Ram auch interessant.

Downgrade mag klappen - ich habe die Art Ereignisse aber jetzt 2 mal durch - und sowas ist logischerweise immer nur ne temporäre Lösung.

Ich habe auch noch keine Probleme zu 8286 gelesen...

Dauerhafte Lösung war eher:
Max 2 regionen per SIM
Ausnahme: regionen auf denen 0(nada, zero) scripte und sehr wenig (~20 pro region) prims sind (wasserrand), die können alle in einem leben.

Und: Speicher, genug Speicher... noch besser: berechnen was man da treibt.

Also, sobald ihr die Daten einwerft (prims, scripte) können wir das mit der Kalkulation von meiner page ja mal hier durchrechnen. Und mal checken, ob eure ini die Scriptmenge überhaupt unterstützt.


cu
Ralf
 
HURRAAAAAAAAAAA

wir haben den Fehler gefunden.
In unser OpenSim.ini steht:

  • [XEngine]
    ; Enable this engine in this OpenSim instance
    Enabled = true
    ; How many threads to keep alive even if nothing is happening
    MinThreads = 2
    ; How many threads to start at maximum load
    MaxThreads = 40
    ; Time a thread must be idle (in seconds) before it dies
    IdleTimeout = 60
    ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
    Priority = "BelowNormal"
    ; Maximum number of events to queue for a script (excluding timers)
    MaxScriptEventQueue = 300
    ; Stack size per thread created
    ..........

dort haben wir MaxThreads = 40 auf MaxThreads = 500 geändert und es geht alles wieder wie es soll

Lieben dank an Michelle und Arnout die uns ingame sehr geholfen haben.

Victor & Vivienne
 

Users who are viewing this thread

Zurück
Oben Unten