123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 |
- ; * Run
- ; * $ Robust.exe -inifile Robust.ini
- ; *
- ; **
- ; *
- ; * The Const section allows us to define some basic information that we
- ; * will use throughout our configuration. We will provide examples for
- ; * setting the base url of the Robust server and the public and private ports
- ; * it uses. Changing the values of the constants will set the operating
- ; * parameters thoughout the configuration. Other constants that may prove
- ; * to be useful may be added to the followin section. They may be
- ; * referenced anywhere in the configuration by using ${Const|Name}. One
- ; * such use is providing a base path for setting locations that Robust
- ; * uses to write data.
- ; *
- [Const]
- ; The URL of the Robust server
- BaseURL = "http://127.0.0.1"
-
- ; The public port of the Robust server
- PublicPort = "8002"
- ; The private port of the Robust server
- PrivatePort = "8003"
- ; * The startup section lists all the connectors to start up in this server
- ; * instance. This may be only one, or it may be the entire server suite.
- ; * Multiple connectors should be separated by commas.
- ; *
- ; * These are the IN connectors the server uses, the in connectors
- ; * read this config file and load the needed service and database connectors
- ; *
- ; * The full syntax of a connector string is:
- ; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
- ; *
- [Startup]
- ; Place to create a PID file
- ; If no path if specified then a PID file is not created.
- ; PIDFile = "/tmp/Robust.exe.pid"
- ; Plugin Registry Location
- ; Set path to directory for plugin registry. Information
- ; about the registered repositories and installed plugins
- ; will be stored here
- ; The Robust.exe process must have R/W access to the location
- RegistryLocation = "."
- ; Modular configurations
- ; Set path to directory for modular ini files...
- ; The Robust.exe process must have R/W access to the location
- ConfigDirectory = "."
-
- ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
- ConsoleHistoryFileEnabled = true
- ; The history file can be just a filename (relative to OpenSim's bin/ directory
- ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
- ConsoleHistoryFile = "RobustConsoleHistory.txt"
- ; How many lines of command history should we keep? (default is 100)
- ConsoleHistoryFileLines = 100
-
- [ServiceList]
- AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
- InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
- ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below)
- ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector"
- GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector"
- GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
- AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
- OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
- AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
- LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
- PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
- UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
- GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
- FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
- MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
- MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
- ;; Uncomment this if you want offline IM to work
- ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector"
- ;; Uncomment this if you want Groups V2 to work
- ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
- ;; Uncomment to provide bakes caching
- ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector"
- ;; Uncomment for UserProfiles see [UserProfilesService] to configure...
- ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector"
- ;; Uncomment if you want to have centralized estate data
- ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector"
- ; * This is common for all services, it's the network setup for the entire
- ; * server instance, if none is specified above
- ; *
- [Network]
- port = ${Const|PrivatePort}
- ; HTTPS for "Out of band" management applications such as the remote admin
- ; module. May specify https_main = True to make the main http server
- ; use https or "False" to make the main server HTTP
- ; https_main = False
- ;
- ; Create https_listener = "True" will create a listener on the port
- ; specified. Provide the path to your server certificate along with it's
- ; password
- ; https_listener = False
- ;
- ; Set our listener to this port
- ; https_port = 0
- ;
- ; Path to X509 certificate
- ; cert_path = "path/to/cert.p12"
- ;
- ; Password for cert
- ; cert_pass = "password"
- ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services.
- ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet
- ;; but you want to protect them from unauthorized access.
- ; AuthType = "BasicHttpAuthentication"
- ; HttpAuthUsername = "some_username"
- ; HttpAuthPassword = "some_password"
- ;;
- ;; AuthType above can be overriden in any of the service sections below by
- ; AuthType = "None"
- ;; This is useful in cases where you want to protect most of the services,
- ;; but unprotect individual services. Username and Password can also be
- ;; overriden if you want to use different credentials for the different services.
- ; * The following are for the remote console
- ; * They have no effect for the local or basic console types
- ; * Leave commented to diable logins to the console
- ;ConsoleUser = Test
- ;ConsolePass = secret
- ;ConsolePort = 0
- [DatabaseService]
- ; 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=***;"
- ; MySQL
- ; Uncomment these lines if you want to use MySQL storage
- ; Change the connection string to your db details
- StorageProvider = "OpenSim.Data.MySQL.dll"
- ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
- ; * As an example, the below configuration precisely mimicks the legacy
- ; * asset server. It is read by the asset IN connector (defined above)
- ; * and it then loads the OUT connector (a local database module). That,
- ; * in turn, reads the asset loader and database connection information
- ; *
- [AssetService]
- LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
- DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
- AssetLoaderArgs = "./assets/AssetSets.xml"
- ; Allow maptile assets to remotely deleted by remote calls to the asset service.
- ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
- ; This only applies to maptiles served via the version 1 viewer mechanisms
- ; Default is false
- AllowRemoteDelete = false
- ; Allow all assets to be remotely deleted.
- ; Only set this to true if you are operating a grid where you control all calls to the asset service
- ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
- ; If set to true, AllowRemoteDelete = true is required as well.
- ; Default is false.
- AllowRemoteDeleteAllTypes = false
- ; * This configuration loads the inventory server modules. It duplicates
- ; * the function of the legacy inventory server
- ; *
- [InventoryService]
- LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
- ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed?
- ; If this is set to false then some other arrangement must be made to perform these operations if necessary.
- AllowDelete = true
- ; * This is the new style grid service.
- ; * "Realm" is the table that is used for user lookup.
- ; * It defaults to "regions", which uses the legacy tables
- ; *
- [GridService]
- LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
- ; Realm = "regions"
- ; AllowDuplicateNames = "True"
- ;; Next, we can specify properties of regions, including default and fallback regions
- ;; The syntax is: Region_<RegionName> = "<flags>"
- ;; or: Region_<RegionID> = "<flags>"
- ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate
- ;;
- ;; 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.
- ;;
- ;; Example specification:
- ; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
- ; (replace spaces with underscore)
- ;; Allow supporting viewers to export content
- ;; Set to false to prevent export
- ExportSupported = true
- ; * This is the configuration for the freeswitch server in grid mode
- [FreeswitchService]
- LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService"
- ;; The IP address of your FreeSWITCH server.
- ;; 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
- ; * This is the new style authentication service. Currently, only MySQL
- ; * is implemented.
- ; *
- [AuthenticationService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
- ;; Allow the service to process HTTP getauthinfo calls.
- ;; Default is false.
- ; AllowGetAuthInfo = false
- ;; Allow the service to process HTTP setauthinfo calls.
- ;; Default is false.
- ; AllowSetAuthInfo = false
- ;; Allow the service to process HTTP setpassword calls.
- ;; Default is false.
- ; AllowSetPassword = false
- [OpenIdService]
- ; for the server connector
- AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
- UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
- ; * This is the new style authentication service. Currently, only MySQL
- ; * is implemented. "Realm" is the table that is used for user lookup.
- ; * It defaults to "useraccounts", which uses the new style.
- ; * Realm = "users" will use the legacy tables as an authentication source
- ; *
- [UserAccountService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
- ; Realm = "useraccounts"
- ; These are for creating new accounts by the service
- AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
- PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
- GridService = "OpenSim.Services.GridService.dll:GridService"
- InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
- AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
- GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
- ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2
- ;; to show a default "Ruth" avatar rather than a cloud for a newly created user.
- ;; Default is false
- CreateDefaultAvatarEntries = true
- ;; Allow the service to process HTTP createuser calls.
- ;; Default is false.
- ; AllowCreateUser = false
- ;; Allow the service to process HTTP setaccount calls.
- ;; Default is false.
- ; AllowSetAccount = false
- [GridUserService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
- [PresenceService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
- ; Set this to true to allow the use of advanced web services and multiple
- ; bots using one account
- AllowDuplicatePresences = false;
- [AvatarService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
- [FriendsService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
- [EstateService]
- LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
- [LibraryService]
- LibraryName = "OpenSim Library"
- DefaultLibrary = "./inventory/Libraries.xml"
- [LoginService]
- ; for the server connector
- LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
- ; for the service
- UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
- GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
- AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
- InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
- AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
- PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
- GridService = "OpenSim.Services.GridService.dll:GridService"
- SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
- LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
- FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
- ; 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
- WelcomeMessage = "Welcome, Avatar!"
- AllowRemoteSetLoginLevel = "false"
- ; For V2 map
- MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/";
- ; Url to search service
- ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/";
- ; For V3 destination guide
- ; DestinationGuide = "${Const|BaseURL}/guide"
- ; For V3 avatar picker (( work in progress ))
- ; AvatarPicker = "${Const|BaseURL}/avatars"
- ; If you run this login server behind a proxy, set this to true
- ; HasProxy = false
- ;; 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 = ""
- ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
- ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead,
- ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific
- ;; would result in time inconsistencies between grids (during summer and around DST transition period)
- ;; default let OpenSim calculate US Pacific DST
- ;; "none" disable DST (equivallent to "local" with system set to GMT)
- ;; "local" force legacy behaviour (using local system time to calculate DST)
- ; DSTZone = "America/Los_Angeles;Pacific Standard Time"
- ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
- ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
- ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
- ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
- ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
- ;; Options are
- ;; "none" no DST
- ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
- ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
- ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
- DSTZone = "America/Los_Angeles;Pacific Standard Time"
- ;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.
- [MapImageService]
- LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
- ; Set this if you want to change the default
- ; TilesStoragePath = "maptiles"
- ;
- ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}),
- ; you may want to set this. Otherwise, don't set it, because it's already protected.
- ; GridService = "OpenSim.Services.GridService.dll:GridService"
- ;
- ; Additionally, if you run this server behind a proxy, set this to true
- ; HasProxy = false
- [Messaging]
- ; OfflineIM
- OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
- [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
- ;welcome = ${Const|BaseURL}/welcome
- ; helper uri: optional: if it exists if will be used to tell the client to use
- ; this for all economy related things
- ;economy = ${Const|BaseURL}:${Const|PublicPort}/
- ; 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
- [UserProfilesService]
- LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
- Enabled = false
- ;; Configure this for separate profiles database
- ;; 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"
- [BakedTextureService]
- LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes"
- ;; This directory must be writable by the user ROBUST runs as. It will be created automatically.
- BaseDirectory = "./bakes"
|