[Startup] gridmode = false ; ## ; ## STORAGE ; ## ; *** Prim Storage - only leave one storage_plugin uncommented *** ; --- The NullStorage stores nothing - effectively disabling persistence: storage_plugin = "OpenSim.DataStore.NullStorage.dll" ; --- To use sqlite as region storage: ;storage_plugin = "OpenSim.Framework.Data.SQLite.dll" storage_connection_string="URI=file:OpenSim.db,version=3"; ; --- To use MySQL storage, supply your own connectionstring (this is only an example): ; note that the supplied account needs create privilegies if you want it to auto-create needed tables. ; storage_plugin="OpenSim.Framework.Data.MySQL.dll" ; storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;"; ; turn on experimental storage of prim inventories in the region database ; Prim inventory storage is now turned on by default ; However, this option remains in case it needs to be disabled ; More details of the current state of this can be found at ; ; http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence ; storage_prim_inventories = true ; Avatar appearance persistence appearance_persist = false appearance_connection_string = "Data Source=localhost;Database=avatar_appearance;User ID=root;Password=xxxx;pooling=false;" ; Select the type of database to use for asset storage ;asset_database = "db4o" asset_database = "sqlite" ;asset_database = "grid" ;asset_database = "mssql" ; ## ; ## PHYSICS ; ## ; Select a mesher here. ZeroMesher is save and fast. ; ZeroMesher also means that the physics engine models the physics of prims ; sticking to the basic shapes the engine does support. Usually this is only a box. ; Meshmerizer gives a better handling of complex prims by using triangle meshes. ; Note, that only ODE physics currently deals with meshed prims in a satisfactoring way ; meshing = ZeroMesher ;meshing = Meshmerizer ; Choose one of the physics engines below physics = basicphysics ;physics = POS ;physics = OpenDynamicsEngine ;physics = modified_BulletX verbose = true startup_console_commands_file = "startup_commands.txt" shutdown_console_commands_file = "shutdown_commands.txt" serverside_object_permissions = false ; if you would like to allow prim to be physical and move by physics with the physical checkbox in the client set this to true. physical_prim = true ; To run a script every few minutes, set the script filename here ; timer_Script = "filename" [StandAlone] accounts_authenticate = true welcome_message = "Welcome to OpenSim" inventory_plugin = "OpenSim.Framework.Data.SQLite.dll" ; userDatabase_plugin = "OpenSim.Framework.Data.DB4o.dll" userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll" default_location_x = 1000 default_location_y = 1000 dump_assets_to_file = false [Network] http_listener_port = 9000 remoting_listener_port = 8895 ; Uncomment below to enable llRemoteData/remote channels ; remoteDataPort = 20800 grid_server_url = "http://127.0.0.1:8001" grid_send_key = "null" grid_recv_key = "null" user_server_url = "http://127.0.0.1:8002" user_send_key = "null" user_recv_key = "null" asset_server_url = "http://127.0.0.1:8003" inventory_server_url = "http://127.0.0.1:8004" [Chat] whisper_distance = 10 say_distance = 30 shout_distance = 100 ; Uncomment the following for IRC bridge ; experimental, so if it breaks... keep both parts... yada yada ; also, not good error detection when it fails ;[IRC] ;server = name.of.irc.server.on.the.net ;nick = OpenSimBotNameProbablyMakeThisShorter ;channel = #the_irc_channel_you_want_to_connect_to ;port = 6667 ;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message ; must start with "PRIVMSG {0} : " or irc server will get upset ;for <bot>:<user in region> :<message> ;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" ;for <bot>:<message> - <user of region> : msgformat = "PRIVMSG {0} : {3} - {1} of {2}" ;for <bot>:<message> - from <user> : ;msgformat = "PRIVMSG {0} : {3} - from {1}" ; Uncomment the following to control the progression of daytime ; in the Sim. The defaults are what is shown below ;[Sun] ; number of wall clock hours for an opensim day. 24.0 would mean realtime ;day_length = 0.5 ; send a Sun update ever frame_rate # of frames. A lower number will ; make for smoother sun transition at the cost of network ;frame_rate = 100 ; ## ; ## ScriptEngine ; ## ; These are region modules loaded into each region to provide script support ; Scripts may be everything from LSL or C# scripts put in prims to whole game systems that controls the whole grid. ; You can load multiple modules by separating them with a coma. ; ; Example: ;script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll,OpenSim.Region.ScriptEngine.RemoteServer.dll ; ; This is the current and most stable ScriptEngine: script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll ;Experimental remote ScriptServer plugin (does not currently work): ;script_engine = OpenSim.Region.ScriptEngine.RemoteServer.dll [ScriptEngine.DotNetEngine] ; ; 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 editing this file. ; For example to increase or decrease number of threads. ; 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 ; Should the script threads be private for each region? ; true: Each region will get <NumberOfScriptThreads> dedicated to scripts within that region ; Number of threads will be <NumberOfScriptThreads>*<NumberOfRegions> ; false: All regions share <NumberOfScriptThreads> for all their scripts ; Note! If you run multiple script engines based on "OpenSim.Region.ScriptEngine.Common" then all of them will share the same threads. ; *** This setting will not work until you restart OpenSim PrivateRegionThreads=false ; 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 ; Script loading / unloading sleep ; 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 ScriptLoadUnloadLoopms=30 ; Loading and unloading of scripts is queued and processed by a separate thread. ; This thread can either be shared among all regions, or private (one thread per region) PrivateScriptLoadUnloadThread=false ; 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 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 ; 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