1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
|
; * Run
; * $ Robust.exe -inifile Robust.HG.ini
; *
; * Configurations for enabling HG1.5
; *
; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService
; * OpenSim.Server.Handlers.dll:UserAgentService
; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and
; * OpenSim.Server.Handlers.dll:XInventoryInConnector
; * are started in port 8002, outside the firewall
; *
; **
; *
; * 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 = "robust-include"
; 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"
AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector"
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"
;; Additions for Hypergrid
GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector"
UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector"
HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector"
HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector"
InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector"
HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
;; Uncomment this if you want Groups V2, HG to work
; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector"
; * 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.
;; Hypergrid services are not affected by this; they are publicly available
;; by design.
;; By default, scripts are not allowed to call private services via llHttpRequest()
;; Such calls are detected by the X-SecondLife-Shared HTTP header
;; If you allow such calls you must be sure that they are restricted to very trusted scripters
;; (remember scripts can also be in visiting avatar attachments).
;; This can be overriden in individual private service sections if necessary
AllowllHTTPRequestIn = false
; * 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
[Hypergrid]
;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
;; This is the address of the external robust server that
;; runs the UserAgentsService, possibly this server.
;; For example http://myworld.com:8002
;; This is a default that can be overwritten in some sections.
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
;; This is the address of the external robust server
;; that runs the Gatekeeper service, possibly this server.
;; For example http://myworld.com:8002
;; This is a default that can be overwritten in some sections.
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
[AccessControl]
;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {}
;; Bar (|) separated list of viewers which may gain access to the regions.
;; One can use a substring of the viewer name to enable only certain
;; versions
;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
;; - "Imprudence" has access
;; - "Imprudence 1.3" has access
;; - "Imprudence 1.3.1" has no access
; AllowedClients = ""
;# {DeniedClients} {} {Bar (|) separated list of denied clients} {}
;; Bar (|) separated list of viewers which may not gain access to the regions.
;; One can use a Substring of the viewer name to disable only certain
;; versions
;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
;; - "Imprudence" has no access
;; - "Imprudence 1.3" has no access
;; - "Imprudence 1.3.1" has access
; DeniedClients = ""
[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]
;; Choose an asset service (Only one option should be enabled)
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector"
;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files
;; These directories must be on the same physical filesystem
;BaseDirectory = "./fsassets/data"
;SpoolDirectory = "./fsassets/tmp"
;; Original service can be checked if FSAssets can not find an asset
;FallbackService = "OpenSim.Services.AssetService.dll:AssetService";
;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset
;; Reduces DB calls if asset is requested often. Default value 0 will always update access time
;DaysBetweenAccessTimeUpdates = 30
;; Should FSAssets print read/write stats to the robust console, default is true
;ShowConsoleStats = true
;; FSAssets Custom Database Config (Leave blank to use grids default database configuration)
;StorageProvider = ""
;ConnectionString = ""
;Realm = "fsassets"
;; The following are common to both the default asset service and FSAsset service
;; Common asset service options
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"
// do not set this to TRUE unless you understand it
; AllowDuplicateNames = ""
;; Perform distance check for the creation of a linked region
; Check4096 = "True"
;; Needed to display non-default map tile images for linked regions
AssetService = "OpenSim.Services.AssetService.dll:AssetService"
;; Directory for map tile images of linked regions
; MapTileDirectory = "./maptiles"
;; 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 Hyperlinks to be created at the console
HypergridLinker = true
;; Allow supporting viewers to export content
;; Set to false to prevent export
ExportSupported = true
;; If you have this set under [Hypergrid], no need to set it here, leave it commented
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
; * 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"
; Realm = "useraccounts"
;; 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 user service.
; * "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"
[AgentPreferencesService]
; for the server connector
LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
[PresenceService]
; for the server connector
LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
[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
;; for hypergrid
UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
; This inventory service will be used to initialize the user's inventory
HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above
; for the correct method if passing additional arguments.
;; end hypergrid
; 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
; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs)
;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
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}"
SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {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
[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 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}/
[GatekeeperService]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
;; for the service
UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
GridService = "OpenSim.Services.GridService.dll:GridService"
AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
; how does the outside world reach me? This acts as public key too.
;; 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
; If you run this gatekeeper server behind a proxy, set this to true
; HasProxy = false
;; 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]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
;; for the service
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
GridService = "OpenSim.Services.GridService.dll:GridService"
GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
; If you run this user agent server behind a proxy, set this to true
; HasProxy = false
;; If you separate the UserAgentService from the LoginService, set this to
;; the IP address of the machine where your LoginService is
;LoginServerIP = "127.0.0.1"
; 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_<UserLevel> = 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
; * The interface that local users get when they are in other grids.
; * This restricts the inventory operations while in other grids.
; * Still not completely safe, especially if users perform inventory operations
; * while in those grids. The more the user accesses his/her inventory, the more
; * those simulators will know about the user's inventory.
; *
[HGInventoryService]
; For the InventoryServiceInConnector
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
;; alternatives:
;; HG1.5, more permissive, not recommended, but still supported
;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
; HGInventoryService is a public-facing inventory service that allows users to
; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector.
; Hence, if the user has set up authentication in [Network] to protect their private services
; make sure it is not set here.
AuthType = None
;; Can overwrite the default in [Hypergrid], but probably shouldn't
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
; * The interface that local users get when they are in other grids.
; * This restricts the access that the rest of the world has to
; * the assets of this world.
; *
[HGAssetService]
;; Use the second option if you have FSAsset service enabled
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService"
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
; HGAssetService is a public-facing service that allows users to
; read and create assets when on another grid. This reuses the general asset service connector.
; Hence, if the user has set up authentication in [Network] to protect their private services
; make sure it is overriden for this public service.
AuthType = None
;; Can overwrite the default in [Hypergrid], but probably shouldn't
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;; 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"
[HGFriendsService]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
GridService = "OpenSim.Services.GridService.dll:GridService"
PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
[HGInstantMessageService]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
GridService = "OpenSim.Services.GridService.dll:GridService"
PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
; This should always be true in the Robust config
InGatekeeper = True
[Messaging]
; OfflineIM
OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
[Groups]
;; for the HG Groups service
OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
;; What is the HomeURI of users associated with this grid?
;; Can overwrite the default in [Hypergrid], but probably shouldn't
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;; end hypergrid
;; Sets the maximum number of groups an agent may join
; MaxAgentGroups = 42
[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"
|