mirror of
https://github.com/opensim/opensim.git
synced 2026-07-21 15:35:41 +08:00
configs. This works with sqlite and nhibernate backends, and stays with default seperate ini files for mysql and mssql until someone writes those.
401 lines
15 KiB
Plaintext
401 lines
15 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"
|
|
|
|
; the Asset DB source. This only works for sqlite and nhibernate for now
|
|
; Asset Source SQLite Exampe
|
|
; asset_source = "URI=file:Asset.db,version=3"
|
|
; Asset Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
|
|
; asset_source = "SQLiteDialect;SqliteClientDriver;URI=file:Asset.db,version=3"
|
|
|
|
; 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
|
|
|
|
[RemoteAdmin]
|
|
enabled = false
|
|
access_password = unknown
|
|
|
|
; 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
|
|
|
|
[AsteriskVoice]
|
|
; PLEASE NOTE that we don't have voice support in OpenSim quite yet - these configuration options are stubs
|
|
enabled = false
|
|
; SIP account server domain
|
|
sip_domain = testserver.com
|
|
; SIP conf server domain
|
|
conf_domain = testserver.com
|
|
; URL of the asterisk opensim frontend
|
|
asterisk_frontend = http://testserver.com:49153/
|
|
; password for the asterisk frontend XmlRpc calls
|
|
asterisk_password = bah-humbug
|
|
; timeout for XmlRpc calls to asterisk front end (in ms)
|
|
asterisk_timeout = 3000
|
|
; salt for asterisk nonces
|
|
asterisk_salt = paluempalum
|
|
|
|
; 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. - This module is for demonstration only -
|
|
; In grid mode, use this currency XMLRPC server. Leave blank for normal functionality
|
|
CurrencyServer = ""
|
|
; "http://192.168.1.127/currency.php"
|
|
|
|
; In grid mode, this is the land XMLRPC server. Leave blank for normal functionality
|
|
LandServer = ""
|
|
;"http://192.168.1.127/landtool.php"
|
|
|
|
; 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
|
|
|
|
[SVN]
|
|
Enabled = false
|
|
Directory = SVNmodule\repo
|
|
URL = "svn://your.repo.here/"
|
|
Username = "user"
|
|
Password = "password"
|
|
ImportOnStartup = false
|
|
Autosave = false
|
|
AutoSavePeriod = 15 ; Number of minutes between autosave backups
|