356 lines
14 KiB
Plaintext
356 lines
14 KiB
Plaintext
[Startup]
|
|
gridmode = false
|
|
|
|
; Determines where the region XML files are stored.
|
|
; regionload_regionsdir="C:\somewhere\xmlfiles\"
|
|
|
|
; ##
|
|
; ## STORAGE
|
|
; ##
|
|
|
|
; *** Prim Storage - only leave one storage_plugin uncommented ***
|
|
; --- Null stores nothing - effectively disabling persistence:
|
|
storage_plugin = "OpenSim.Data.Null.dll"
|
|
|
|
; --- To use sqlite as region storage:
|
|
;storage_plugin = "OpenSim.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.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_database = "MySQL"
|
|
appearance_connection_string = "Data Source=localhost;Database=avatar_appearance;User ID=root;Password=xxxx;pooling=false;"
|
|
|
|
; Select whether you want to use local or grid asset storage.
|
|
;
|
|
; If you're running in standalone, you definitely want local, since there is no grid (hence this is redundant, and should
|
|
; really be eliminated). The database itself is defined in asset_plugin below
|
|
;
|
|
; If you're running a region server connecting to a grid, you probably want grid mode, since this will use the
|
|
; grid asset server. If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets
|
|
; locally. This will mean you won't be able to take items using your assets to other people's regions.
|
|
asset_database = "local"
|
|
;asset_database = "grid"
|
|
|
|
; Should avatars in neighbor sims see objects in this sim?
|
|
see_into_this_sim_from_neighbor = True
|
|
|
|
; ##
|
|
; ## 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
|
|
|
|
|
|
startup_console_commands_file = "startup_commands.txt"
|
|
shutdown_console_commands_file = "shutdown_commands.txt"
|
|
serverside_object_permissions = false
|
|
|
|
; if you would like to allow prims 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"
|
|
|
|
; ##
|
|
; ## 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
|
|
|
|
|
|
[StandAlone]
|
|
accounts_authenticate = true
|
|
welcome_message = "Welcome to OpenSim"
|
|
|
|
; Asset database provider
|
|
asset_plugin = "OpenSim.Data.SQLite.dll"
|
|
; asset_plugin = "OpenSim.Data.MySQL.dll"
|
|
|
|
; Inventory database provider
|
|
inventory_plugin = "OpenSim.Data.SQLite.dll"
|
|
; inventory_plugin = "OpenSim.Data.MySQL.dll"
|
|
|
|
; User Data Database provider
|
|
userDatabase_plugin = "OpenSim.Data.SQLite.dll"
|
|
; userDatabase_plugin = "OpenSim.Data.MySQL.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}"
|
|
|
|
|
|
[Voice]
|
|
; PLEASE NOTE that we don't have voice support in OpenSim quite yet - these configuration options are stubs
|
|
enabled = false
|
|
; This is not supported by the SLViewer right now and
|
|
; hardcoded within the SL Viewer. Maybe it will be
|
|
; changed in future. :-)
|
|
account_management_server = https://www.bhr.vivox.com/api2
|
|
; Global SIP Server for conference calls
|
|
sip_domain = testserver.com
|
|
|
|
; 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.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 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
|
|
|
|
|
|
; 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
|
|
|
|
[LL-Functions]
|
|
; Set the following to true to allow administrator owned scripts to execute console commands
|
|
AllowosConsoleCommand=false
|
|
|
|
[DataSnapshot]
|
|
; The following set of configs pertains to search.
|
|
; Set index_sims to true to enable search engines to index your searchable data
|
|
; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs
|
|
index_sims = false
|
|
; If search is on, change this to your grid name; will be ignored for standalones
|
|
gridname = "OSGrid"
|
|
; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
|
|
; Later, you may want to increase this to 3600 (1 hour) or more
|
|
default_snapshot_period = 1200
|
|
; This will be created in bin, if it doesn't exist already. It will hold the data snapshots.
|
|
snapshot_cache_directory = "DataSnapshot"
|
|
; This semicolon-separated string serves to notify specific data services
|
|
; about the existence of this sim.
|
|
data_services="http://metaverseink.com/cgi-bin/register.py"
|
|
|
|
[Economy]
|
|
; These economy values get used in the BetaGridLikeMoneyModule
|
|
|
|
; 45000 is the highest value that the sim could possibly report because of protocol constraints
|
|
ObjectCapacity = 45000
|
|
|
|
; Money Unit fee to upload textures, animations etc
|
|
PriceUpload = 0
|
|
|
|
; Money Unit fee to create groups
|
|
PriceGroupCreate = 0
|
|
|
|
; This is the account Money goes to for fees. Remember, economy requires that money circulates somewhere... even if it's an upload fee
|
|
EconomyBaseAccount = 00000000-0000-0000-0000-000000000000
|
|
|
|
; This is the type of user that will pay fees.
|
|
; Set this to 2 for users, estate managers and Estate Owners
|
|
; Set this to 1 for Users and Estate Managers
|
|
; Set this to 0 for Users only.
|
|
; -1 disables
|
|
UserLevelPaysFees = -1
|
|
|
|
; Amount to give to user as a stipend
|
|
UserStipend = 1000
|
|
|
|
; When a user gets low on money units and logs off, then logs back on, issue a new stipend if they have less money units then this
|
|
; amount. Be aware that the account money isn't stored anywhere so users will get a stipend if you restart the simulator
|
|
IssueStipendWhenClientIsBelowAmount = 10
|
|
|
|
; If this is true, the simulator will remember account balances until the simulator is shutdown or restarted.
|
|
KeepMoneyAcrossLogins = true
|
|
|
|
; We don't really know what the rest of these values do. These get sent to the client
|
|
; These taken from Agni at a Public Telehub. Change at your own risk.
|
|
ObjectCount = 0
|
|
PriceEnergyUnit = 100
|
|
PriceObjectClaim = 10
|
|
PricePublicObjectDecay = 4
|
|
PricePublicObjectDelete = 4
|
|
PriceParcelClaim = 1
|
|
PriceParcelClaimFactor = 1
|
|
|
|
PriceRentLight = 5
|
|
TeleportMinPrice = 2
|
|
TeleportPriceExponent = 2
|
|
EnergyEfficiency = 1
|
|
PriceObjectRent = 1
|
|
PriceObjectScaleFactor = 10
|
|
PriceParcelRent = 1 |