Merge branch 'master' into careminster
commit
d0473b73da
|
@ -259,8 +259,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
|
||||
{
|
||||
// this user is going to another grid
|
||||
// check if HyperGrid teleport is allowed, based on user level
|
||||
if (sp.UserLevel < m_levelHGTeleport)
|
||||
// for local users, check if HyperGrid teleport is allowed, based on user level
|
||||
if (Scene.UserManagementModule.IsLocalGridUser(sp.UUID) && sp.UserLevel < m_levelHGTeleport)
|
||||
{
|
||||
m_log.WarnFormat("[HG ENTITY TRANSFER MODULE]: Unable to HG teleport agent due to insufficient UserLevel.");
|
||||
reason = "Hypergrid teleport not allowed";
|
||||
|
|
|
@ -92,7 +92,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
|||
m_HomeURI = thisModuleConfig.GetString("HomeURI", m_HomeURI);
|
||||
m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true);
|
||||
m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", string.Empty);
|
||||
m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", false);
|
||||
m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", true);
|
||||
}
|
||||
else
|
||||
m_log.Warn("[HG INVENTORY ACCESS MODULE]: HGInventoryAccessModule configs not found. ProfileServerURI not set!");
|
||||
|
@ -351,6 +351,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
|||
|
||||
private void ProcessInventoryForArriving(IClientAPI client)
|
||||
{
|
||||
// No-op for now, but we may need to do something for freign users inventory
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -397,6 +398,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
|||
|
||||
private void ProcessInventoryForLeaving(IClientAPI client)
|
||||
{
|
||||
// No-op for now
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
|
@ -532,7 +532,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
if (PhysicsActor != null)
|
||||
{
|
||||
m_velocity = PhysicsActor.TargetVelocity;
|
||||
m_velocity = PhysicsActor.Velocity;
|
||||
|
||||
// m_log.DebugFormat(
|
||||
// "[SCENE PRESENCE]: Set velocity {0} for {1} in {2} via getting Velocity!",
|
||||
|
@ -547,7 +547,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
try
|
||||
{
|
||||
PhysicsActor.Velocity = value;
|
||||
PhysicsActor.TargetVelocity = value;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -67,10 +67,25 @@ namespace OpenSim.Server.Handlers.Asset
|
|||
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
|
||||
|
||||
bool allowDelete = serverConfig.GetBoolean("AllowRemoteDelete", false);
|
||||
bool allowDeleteAllTypes = serverConfig.GetBoolean("AllowRemoteDeleteAllTypes", false);
|
||||
|
||||
AllowedRemoteDeleteTypes allowedRemoteDeleteTypes;
|
||||
|
||||
if (!allowDelete)
|
||||
{
|
||||
allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.None;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (allowDeleteAllTypes)
|
||||
allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.All;
|
||||
else
|
||||
allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.MapTile;
|
||||
}
|
||||
|
||||
server.AddStreamHandler(new AssetServerGetHandler(m_AssetService));
|
||||
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
|
||||
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowDelete));
|
||||
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowedRemoteDeleteTypes));
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("Assets", false,
|
||||
"show asset",
|
||||
|
|
|
@ -42,18 +42,32 @@ using OpenSim.Framework.Servers.HttpServer;
|
|||
|
||||
namespace OpenSim.Server.Handlers.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// Remote deletes allowed.
|
||||
/// </summary>
|
||||
public enum AllowedRemoteDeleteTypes
|
||||
{
|
||||
None,
|
||||
MapTile,
|
||||
All
|
||||
}
|
||||
|
||||
public class AssetServerDeleteHandler : BaseStreamHandler
|
||||
{
|
||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private IAssetService m_AssetService;
|
||||
protected bool m_allowDelete;
|
||||
|
||||
public AssetServerDeleteHandler(IAssetService service, bool allowDelete) :
|
||||
/// <summary>
|
||||
/// Asset types that can be deleted remotely.
|
||||
/// </summary>
|
||||
private AllowedRemoteDeleteTypes m_allowedTypes;
|
||||
|
||||
public AssetServerDeleteHandler(IAssetService service, AllowedRemoteDeleteTypes allowedTypes) :
|
||||
base("DELETE", "/assets")
|
||||
{
|
||||
m_AssetService = service;
|
||||
m_allowDelete = allowDelete;
|
||||
m_allowedTypes = allowedTypes;
|
||||
}
|
||||
|
||||
public override byte[] Handle(string path, Stream request,
|
||||
|
@ -63,9 +77,28 @@ namespace OpenSim.Server.Handlers.Asset
|
|||
|
||||
string[] p = SplitParams(path);
|
||||
|
||||
if (p.Length > 0 && m_allowDelete)
|
||||
if (p.Length > 0)
|
||||
{
|
||||
result = m_AssetService.Delete(p[0]);
|
||||
if (m_allowedTypes != AllowedRemoteDeleteTypes.None)
|
||||
{
|
||||
string assetID = p[0];
|
||||
|
||||
AssetBase asset = m_AssetService.Get(assetID);
|
||||
if (asset != null)
|
||||
{
|
||||
if (m_allowedTypes == AllowedRemoteDeleteTypes.All
|
||||
|| (int)(asset.Flags & AssetFlags.Maptile) != 0)
|
||||
{
|
||||
result = m_AssetService.Delete(assetID);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.DebugFormat(
|
||||
"[ASSET SERVER DELETE HANDLER]: Request to delete asset {0}, but type is {1} and allowed remote delete types are {2}",
|
||||
assetID, (AssetFlags)asset.Flags, m_allowedTypes);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XmlSerializer xs = new XmlSerializer(typeof(bool));
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace OpenSim.Services.AssetService
|
|||
|
||||
if (assetLoaderEnabled)
|
||||
{
|
||||
m_log.DebugFormat("[ASSET]: Loading default asset set from {0}", loaderArgs);
|
||||
m_log.DebugFormat("[ASSET SERVICE]: Loading default asset set from {0}", loaderArgs);
|
||||
|
||||
m_AssetLoader.ForEachDefaultXmlAsset(
|
||||
loaderArgs,
|
||||
|
@ -200,20 +200,7 @@ namespace OpenSim.Services.AssetService
|
|||
if (!UUID.TryParse(id, out assetID))
|
||||
return false;
|
||||
|
||||
AssetBase asset = m_Database.GetAsset(assetID);
|
||||
if (asset == null)
|
||||
return false;
|
||||
|
||||
if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
|
||||
{
|
||||
return m_Database.Delete(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.DebugFormat("[ASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -194,21 +194,7 @@ namespace OpenSim.Services.AssetService
|
|||
if (!UUID.TryParse(id, out assetID))
|
||||
return false;
|
||||
|
||||
AssetBase asset = m_Database.GetAsset(assetID);
|
||||
if (asset == null)
|
||||
return false;
|
||||
|
||||
if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
|
||||
{
|
||||
return m_Database.Delete(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.DebugFormat("[XASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ namespace OpenSim.Services.HypergridService
|
|||
m_ConfigName = configName;
|
||||
|
||||
if (m_Database == null)
|
||||
m_log.WarnFormat("[XXX]: m_Database is null!");
|
||||
m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: m_Database is null!");
|
||||
|
||||
//
|
||||
// Try reading the [InventoryService] section, if it exists
|
||||
|
@ -301,7 +301,7 @@ namespace OpenSim.Services.HypergridService
|
|||
|
||||
public override bool AddFolder(InventoryFolderBase folder)
|
||||
{
|
||||
m_log.WarnFormat("[HG SUITCASE INVENTORY SERVICE]: AddFolder {0} {1}", folder.Name, folder.ParentID);
|
||||
//m_log.WarnFormat("[HG SUITCASE INVENTORY SERVICE]: AddFolder {0} {1}", folder.Name, folder.ParentID);
|
||||
// Let's do a bit of sanity checking, more than the base service does
|
||||
// make sure the given folder's parent folder exists under the suitcase tree of this user
|
||||
|
||||
|
@ -323,7 +323,7 @@ namespace OpenSim.Services.HypergridService
|
|||
|
||||
public override bool UpdateFolder(InventoryFolderBase folder)
|
||||
{
|
||||
m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: Update folder {0}, version {1}", folder.ID, folder.Version);
|
||||
//m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: Update folder {0}, version {1}", folder.ID, folder.Version);
|
||||
if (!IsWithinSuitcaseTree(folder.Owner, folder.ID))
|
||||
{
|
||||
m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: folder {0} not within Suitcase tree", folder.Name);
|
||||
|
@ -584,7 +584,7 @@ namespace OpenSim.Services.HypergridService
|
|||
{
|
||||
if (a.Wearables[i][j].ItemID == itemID)
|
||||
{
|
||||
m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is a wearable", itemID);
|
||||
//m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is a wearable", itemID);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -593,7 +593,7 @@ namespace OpenSim.Services.HypergridService
|
|||
// Check attachments
|
||||
if (a.GetAttachmentForItem(itemID) != null)
|
||||
{
|
||||
m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is an attachment", itemID);
|
||||
//m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is an attachment", itemID);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -485,8 +485,15 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset
|
|||
; *
|
||||
[HGInventoryService]
|
||||
; For the InventoryServiceInConnector
|
||||
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
|
||||
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"
|
||||
HomeURI = "http://127.0.0.1:8002"
|
||||
|
||||
; * The interface that local users get when they are in other grids.
|
||||
|
|
|
@ -77,7 +77,19 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto
|
|||
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
|
||||
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
|
||||
AssetLoaderArgs = "./assets/AssetSets.xml"
|
||||
AllowRemoteDelete = "false"
|
||||
|
||||
; 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
|
||||
|
|
|
@ -47,36 +47,6 @@
|
|||
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
|
||||
AssetLoaderArgs = "assets/AssetSets.xml"
|
||||
|
||||
[HGInventoryService]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
|
||||
[HGAssetService]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
|
||||
;; 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]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
Gatekeeper = "http://127.0.0.1:9000"
|
||||
|
||||
;; 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.
|
||||
; OutboundPermission = False
|
||||
|
||||
[HGFriendsModule]
|
||||
; User level required to be able to send friendship invitations to foreign users
|
||||
;LevelHGFriends = 0;
|
||||
|
||||
[GridService]
|
||||
;; For in-memory region storage (default)
|
||||
|
@ -97,11 +67,6 @@
|
|||
;; change this to the address of your simulator
|
||||
Gatekeeper="http://127.0.0.1:9000"
|
||||
|
||||
[Messaging]
|
||||
; === HG ONLY ===
|
||||
;; change this to the address of your simulator
|
||||
Gatekeeper = "http://127.0.0.1:9000"
|
||||
|
||||
[LibraryModule]
|
||||
; Set this if you want to change the name of the OpenSim Library
|
||||
;LibraryName = "My World's Library"
|
||||
|
@ -140,41 +105,6 @@
|
|||
;AllowedClients = ""
|
||||
;DeniedClients = ""
|
||||
|
||||
[GatekeeperService]
|
||||
ExternalName = "http://127.0.0.1:9000"
|
||||
|
||||
; 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"
|
||||
|
||||
|
||||
[FreeswitchService]
|
||||
;; If FreeSWITCH is not being used then you don't need to set any of these parameters
|
||||
|
@ -279,6 +209,44 @@
|
|||
; Example:
|
||||
; Region_Test_1 = "DisallowForeigners"
|
||||
|
||||
;;
|
||||
;; HG configurations
|
||||
;;
|
||||
[GatekeeperService]
|
||||
ExternalName = "http://127.0.0.1:9000"
|
||||
|
||||
; 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
|
||||
|
@ -299,3 +267,57 @@
|
|||
;; 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"
|
||||
|
||||
[HGInventoryService]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
|
||||
[HGAssetService]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
|
||||
;; 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]
|
||||
HomeURI = "http://127.0.0.1:9000"
|
||||
Gatekeeper = "http://127.0.0.1:9000"
|
||||
|
||||
;; 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]
|
||||
; === HG ONLY ===
|
||||
;; change this to the address of your simulator
|
||||
Gatekeeper = "http://127.0.0.1:9000"
|
||||
|
||||
|
||||
[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"
|
||||
|
|
|
@ -152,7 +152,13 @@
|
|||
;; This greatly restricts the inventory operations while in other grids
|
||||
[HGInventoryService]
|
||||
; For the InventoryServiceInConnector
|
||||
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
|
||||
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"
|
||||
|
||||
|
|
Loading…
Reference in New Issue