; This is the main configuration file for an instance of OpenSim running in standalone mode [DatabaseService] ; ; ### Choose the DB ; ; SQLite Include-Storage = "config-include/storage/SQLiteStandalone.ini"; ; MySQL ; Uncomment these lines if you want to use MySQL storage ; Change the connection string to your db details ; Remove SslMode=None if you need secure connection to the local MySQL ; In most cases ssl is just a pure waste of resources, specially when MySQL is on same machine, and closed to outside ; If using MySQL 8.0.4 or later, check that default-authentication-plugin=mysql_native_password ; rather than caching_sha2_password is set in /etc/mysql/mysql.conf.d/mysqld.cnf (not applicable to MariaDB). ;StorageProvider = "OpenSim.Data.MySQL.dll" ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" ; Uncomment this line if you are using MySQL and want to use a different database for estates. ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. ; Most people won't need to do this so only uncomment if you know what you're doing. ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" ; MSSQL ; Uncomment these lines if you want to use MSSQL storage ; Change the connection string to your db details ; The value for server property is shown in your SQL Server Management Studio login dialog. ; (This sample is the default of express edition) ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" ; PGSQL ; Uncomment these lines if you want to use PGSQL storage ; Change the connection string to your db details ;StorageProvider = "OpenSim.Data.PGSQL.dll" ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;SSL Mode = Disable" [Hypergrid] ; Uncomment the variable GatekeeperURI to enable ; Hypergrid configuration. Otherwise, ignore. ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server ;; that runs the Gatekeeper service. ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN) or IPs of the gatekeeper of this world and port (default 80 or 443 if entry starts with https://)} {} ;; comma separated list, ;; this is to allow this world to identify this entries also as references to itself ;; entries can be unsecure url (host:port) if using ssl, direct login url if diferent, old grid url, etc ; GatekeeperURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server that ;; runs the UserAgentsService. ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {HomeURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the home service of this world and port (default 80 or 443)} {} ;; comma separated list, ;; see GatekeeperURIAlias ; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 [Modules] ;; Asset cache module. ;; Warning this is required for several region features AssetCaching = "FlotsamAssetCache" Include-FlotsamCache = "config-include/FlotsamCache.ini" ;; Authorization is not on by default, as it depends on external php ;AuthorizationServices = "LocalAuthorizationServicesConnector" [AssetService] DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "assets/AssetSets.xml" [GridService] ;; For in-memory region storage (default) StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" ;;--- For MySql region storage (alternative) ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" ;; Directory for map tile images of remote regions ; MapTileDirectory = "./maptiles" ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut ;; ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified ;; an explicit region. ;; ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online ;; region will be used. ;; ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the ;; order specified. This only applies to local logins at this time, not Hypergrid connections. ;; ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. ;; ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. ;; ;; For example: Region_Welcome_Area = "DefaultRegion, DefaultHGRegion" ;; Allow supporting viewers to export content ;; Set to false to prevent export ExportSupported = true [LibraryModule] ; Set this if you want to change the name of the OpenSim Library ;LibraryName = "My World's Library" [LoginService] WelcomeMessage = "Welcome, Avatar!" SRV_HomeURI = "${Hypergrid|HomeURI}" SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" ;; For Viewer 2 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" ; Url to search service ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; ; For V3 destination guide ; DestinationGuide = "${Const|BaseURL}/guide" ; The minimum user level required for a user to be able to login. 0 by default ; If you disable a particular user's account then you can set their login level below this number. ; You can also change this level from the console though these changes will not be persisted. ; MinLoginLevel = 0 ;; Ask co-operative viewers to use a different currency name ;Currency = "" ;; Set minimum fee to publish classified ; ClassifiedFee = 0 ;; If the region requested at login is not found and there are no default or fallback regions ;; online or defined in section [GridService], try to send user to any region online ;; this similar to legacy (was disabled on 0.9.2.0) ;; you should set this to false and define regions with Default and possible Fallback flags ;; With this option set to true, users maybe sent to regions they where not supposed to be, or even know about ;AllowLoginFallbackToAnyRegion = true ; Basic Login Service Dos Protection Tweaks ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to ;; get around this basic DOS protection. ; DOSAllowXForwardedForHeader = false ;; The protector adds up requests during this rolling period of time, default 10 seconds ; DOSRequestTimeFrameMS = 10000 ;; ;; The amount of requests in the above timeframe from the same endpoint that triggers protection ; DOSMaxRequestsInTimeFrame = 5 ;; ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. ; DOSForgiveClientAfterMS = 120000 ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. [FreeswitchService] ;; If FreeSWITCH is not being used then you don't need to set any of these parameters ;; ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone ;; This has to be set for the FreeSWITCH service to work ;; This address must be reachable by viewers. ;ServerAddress = 127.0.0.1 ;; The following configuration parameters are optional ;; By default, this is the same as the ServerAddress ; Realm = 127.0.0.1 ;; By default, this is the same as the ServerAddress on port 5060 ; SIPProxy = 127.0.0.1:5060 ;; Default is 5000ms ; DefaultTimeout = 5000 ;; The dial plan context. Default is "default" ; Context = default ;; Currently unused ; UserName = freeswitch ;; Currently unused ; Password = password ;; The following parameters are for STUN = Simple Traversal of UDP through NATs ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal ;; stun.freeswitch.org is not guaranteed to be running so use it in ;; production at your own risk ; EchoServer = 127.0.0.1 ; EchoPort = 50505 ; AttemptSTUN = false [GridInfoService] ; These settings are used to return information on a get_grid_info call. ; Client launcher scripts and third-party clients make use of this to ; autoconfigure the client and to provide a nice user experience. If you ; want to facilitate that, you should configure the settings here according ; to your grid or standalone setup. ; ; See http://opensimulator.org/wiki/GridInfo ; login uri: for grid this is the login server URI login = ${Const|BaseURL}:${Const|PublicPort}/ ; long grid name: the long name of your grid gridname = "the lost continent of hippo" ; short grid name: the short name of your grid gridnick = "hippogrid" ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page. May also be served from an external web server, e.g. for ; information on a standalone ;welcome = ${Const|BaseURL}/welcome ; helper uri: optional: if it exists it will be used to tell the client to use ; this for all economy related things ;economy = ${Const|BaseURL}/economy ; web page of grid: optional: page providing further information about your grid ;about = ${Const|BaseURL}/about ; account creation: optional: page providing further information about obtaining ; a user account on your grid ;register = ${Const|BaseURL}/register ; help: optional: page providing further assistance for users of your grid ;help = ${Const|BaseURL}/help ; password help: optional: page providing password assistance for users of your grid ;password = ${Const|BaseURL}/password ; HG address of the gatekeeper, if you have one ; this is the entry point for all the regions of the world ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ ; HG user domain, if you have one ; this is the entry point for all user-related HG services ; uas = ${Const|BaseURL}:${Const|PublicPort}/ ;; a http page for grid status ;GridStatus = ${Const|BaseURL}:${Const|PublicPort}/GridStatus ;; a RSS page for grid status ;GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/GridStatusRSS [MapImageService] ; Set this if you want to change the default ; TilesStoragePath = "maptiles" [AuthorizationService] ; If you have regions with access restrictions ; specify them here using the convention ; Region_ = ; Valid flags are: ; DisallowForeigners -- HG visitors not allowed ; DisallowResidents -- only Admins and Managers allowed ; Example: ; Region_Test_1 = "DisallowForeigners" ;; ;; HG configurations ;; [GatekeeperService] ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section AllowTeleportsToAnyRegion = true ;; Regular expressions for controlling which client versions are accepted/denied. ;; An empty string means nothing is checked. ;; ;; Example 1: allow only these 3 types of clients (any version of them) ;; AllowedClients = "Imprudence|Hippo|Second Life" ;; ;; Example 2: allow all clients except these ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" ;; ;; Note that these are regular expressions, so every character counts. ;; Also note that this is very weak security and should not be trusted as a reliable means ;; for keeping bad clients out; modified clients can fake their identifiers. ;; ;; ;AllowedClients = "" ;DeniedClients = "" ;; Are foreign visitors allowed? ;ForeignAgentsAllowed = true ;; ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" ;; ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" [UserAgentService] ;; User level required to be contacted from other grids ;LevelOutsideContacts = 0 ;; Restrictions on destinations of local users. ;; Are local users allowed to visit other grids? ;; What user level? Use variables of this forrm: ;; ForeignTripsAllowed_Level_ = true | false ;; (the default is true) ;; For example: ; ForeignTripsAllowed_Level_0 = false ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it ;; ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" ;; ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" ;; This variable controls what is exposed to profiles of local users ;; as seen from outside of this grid. Leave it uncommented for exposing ;; UserTitle, UserFlags and the creation date. Uncomment and change to False ;; to block this info from being exposed. ; ShowUserDetailsInHGProfile = True [HGAssetService] ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh ;; ;; Leave blank or commented if you don't want to apply any restrictions. ;; A more strict, but still reasonable, policy may be to disallow the exchange ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" [HGInventoryAccessModule] ;; If you want to protect your assets from being copied by foreign visitors ;; uncomment the next line. You may want to do this on sims that have licensed content. ;; true = allow exports, false = disallow exports. True by default. ; OutboundPermission = True ;; Send visual reminder to local users that their inventories are unavailable while they are traveling ;; and available when they return. True by default. ;RestrictInventoryAccessAbroad = True [HGFriendsModule] ; User level required to be able to send friendship invitations to foreign users ;LevelHGFriends = 0; [Messaging] [EntityTransfer] ;; User level from which local users are allowed to HG teleport. Default 0 (all users) ;LevelHGTeleport = 0 ;; Are local users restricted from taking their appearance abroad? ;; Default is no restrictions ;RestrictAppearanceAbroad = false ;; If appearance is restricted, which accounts' appearances are allowed to be exported? ;; Comma-separated list of account names AccountForAppearance = "Test User, Astronaut Smith" [UserProfilesService] ;; To use, set Enabled to true then configure for your site... Enabled = false LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" ;; Configure this for separate databse ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" ; Realm = UserProfiles UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"