diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLAssetData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 12 | ||||
-rw-r--r-- | bin/OpenSim.Server.ini.example | 10 |
7 files changed, 32 insertions, 27 deletions
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index 259e186..fc05d1d 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs | |||
@@ -44,7 +44,6 @@ namespace OpenSim.Data.MySQL | |||
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | 45 | ||
46 | private MySQLManager _dbConnection; | 46 | private MySQLManager _dbConnection; |
47 | private long TicksToEpoch; | ||
48 | 47 | ||
49 | #region IPlugin Members | 48 | #region IPlugin Members |
50 | 49 | ||
@@ -61,8 +60,6 @@ namespace OpenSim.Data.MySQL | |||
61 | /// <param name="connect">connect string</param> | 60 | /// <param name="connect">connect string</param> |
62 | override public void Initialise(string connect) | 61 | override public void Initialise(string connect) |
63 | { | 62 | { |
64 | TicksToEpoch = new DateTime(1970,1,1).Ticks; | ||
65 | |||
66 | // TODO: This will let you pass in the connect string in | 63 | // TODO: This will let you pass in the connect string in |
67 | // the config, though someone will need to write that. | 64 | // the config, though someone will need to write that. |
68 | if (connect == String.Empty) | 65 | if (connect == String.Empty) |
@@ -223,7 +220,7 @@ namespace OpenSim.Data.MySQL | |||
223 | using (cmd) | 220 | using (cmd) |
224 | { | 221 | { |
225 | // create unix epoch time | 222 | // create unix epoch time |
226 | int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000); | 223 | int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow); |
227 | cmd.Parameters.AddWithValue("?id", asset.ID); | 224 | cmd.Parameters.AddWithValue("?id", asset.ID); |
228 | cmd.Parameters.AddWithValue("?name", assetName); | 225 | cmd.Parameters.AddWithValue("?name", assetName); |
229 | cmd.Parameters.AddWithValue("?description", assetDescription); | 226 | cmd.Parameters.AddWithValue("?description", assetDescription); |
@@ -248,6 +245,9 @@ namespace OpenSim.Data.MySQL | |||
248 | 245 | ||
249 | private void UpdateAccessTime(AssetBase asset) | 246 | private void UpdateAccessTime(AssetBase asset) |
250 | { | 247 | { |
248 | // Writing to the database every time Get() is called on an asset is killing us. Seriously. -jph | ||
249 | return; | ||
250 | |||
251 | lock (_dbConnection) | 251 | lock (_dbConnection) |
252 | { | 252 | { |
253 | _dbConnection.CheckConnection(); | 253 | _dbConnection.CheckConnection(); |
@@ -262,7 +262,7 @@ namespace OpenSim.Data.MySQL | |||
262 | using (cmd) | 262 | using (cmd) |
263 | { | 263 | { |
264 | // create unix epoch time | 264 | // create unix epoch time |
265 | int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000); | 265 | int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow); |
266 | cmd.Parameters.AddWithValue("?id", asset.ID); | 266 | cmd.Parameters.AddWithValue("?id", asset.ID); |
267 | cmd.Parameters.AddWithValue("?access_time", now); | 267 | cmd.Parameters.AddWithValue("?access_time", now); |
268 | cmd.ExecuteNonQuery(); | 268 | cmd.ExecuteNonQuery(); |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 8487adc..4b27fa2 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3289,11 +3289,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3289 | new CoarseLocationUpdatePacket.IndexBlock(); | 3289 | new CoarseLocationUpdatePacket.IndexBlock(); |
3290 | loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; | 3290 | loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; |
3291 | loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total]; | 3291 | loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total]; |
3292 | 3292 | int selfindex = -1; | |
3293 | for (int i = 0; i < total; i++) | 3293 | for (int i = 0; i < total; i++) |
3294 | { | 3294 | { |
3295 | CoarseLocationUpdatePacket.LocationBlock lb = | 3295 | CoarseLocationUpdatePacket.LocationBlock lb = |
3296 | new CoarseLocationUpdatePacket.LocationBlock(); | 3296 | new CoarseLocationUpdatePacket.LocationBlock(); |
3297 | |||
3297 | lb.X = (byte)CoarseLocations[i].X; | 3298 | lb.X = (byte)CoarseLocations[i].X; |
3298 | lb.Y = (byte)CoarseLocations[i].Y; | 3299 | lb.Y = (byte)CoarseLocations[i].Y; |
3299 | 3300 | ||
@@ -3301,8 +3302,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3301 | loc.Location[i] = lb; | 3302 | loc.Location[i] = lb; |
3302 | loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock(); | 3303 | loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock(); |
3303 | loc.AgentData[i].AgentID = users[i]; | 3304 | loc.AgentData[i].AgentID = users[i]; |
3305 | if (users[i] == AgentId) | ||
3306 | selfindex = i; | ||
3304 | } | 3307 | } |
3305 | ib.You = -1; | 3308 | ib.You = (short)selfindex; |
3306 | ib.Prey = -1; | 3309 | ib.Prey = -1; |
3307 | loc.Index = ib; | 3310 | loc.Index = ib; |
3308 | loc.Header.Reliable = false; | 3311 | loc.Header.Reliable = false; |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs index 1422add..046bee5 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs | |||
@@ -154,6 +154,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid | |||
154 | 154 | ||
155 | ((ISharedRegionModule)m_GridServiceConnector).AddRegion(scene); | 155 | ((ISharedRegionModule)m_GridServiceConnector).AddRegion(scene); |
156 | 156 | ||
157 | // Yikes!! Remove this as soon as user services get refactored | ||
158 | LocalAssetServerURI = scene.CommsManager.NetworkServersInfo.UserURL; | ||
159 | LocalInventoryServerURI = scene.CommsManager.NetworkServersInfo.InventoryURL; | ||
160 | LocalUserServerURI = scene.CommsManager.NetworkServersInfo.UserURL; | ||
161 | HGNetworkServersInfo.Init(LocalAssetServerURI, LocalInventoryServerURI, LocalUserServerURI); | ||
162 | |||
157 | } | 163 | } |
158 | 164 | ||
159 | public void RemoveRegion(Scene scene) | 165 | public void RemoveRegion(Scene scene) |
@@ -173,9 +179,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid | |||
173 | if (!m_Initialized) | 179 | if (!m_Initialized) |
174 | { | 180 | { |
175 | m_aScene = scene; | 181 | m_aScene = scene; |
176 | LocalAssetServerURI = m_aScene.CommsManager.NetworkServersInfo.UserURL; | ||
177 | LocalInventoryServerURI = m_aScene.CommsManager.NetworkServersInfo.InventoryURL; | ||
178 | LocalUserServerURI = m_aScene.CommsManager.NetworkServersInfo.UserURL; | ||
179 | 182 | ||
180 | m_HypergridServiceConnector = new HypergridServiceConnector(scene.AssetService); | 183 | m_HypergridServiceConnector = new HypergridServiceConnector(scene.AssetService); |
181 | 184 | ||
@@ -189,9 +192,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid | |||
189 | MainConsole.Instance.Commands.AddCommand("HGGridServicesConnector", false, "link-mapping", "link-mapping [<x> <y>] <cr>", | 192 | MainConsole.Instance.Commands.AddCommand("HGGridServicesConnector", false, "link-mapping", "link-mapping [<x> <y>] <cr>", |
190 | "Set local coordinate to map HG regions to", hgCommands.RunCommand); | 193 | "Set local coordinate to map HG regions to", hgCommands.RunCommand); |
191 | 194 | ||
192 | // Yikes!! Remove this as soon as user services get refactored | ||
193 | HGNetworkServersInfo.Init(LocalAssetServerURI, LocalInventoryServerURI, LocalUserServerURI); | ||
194 | |||
195 | m_Initialized = true; | 195 | m_Initialized = true; |
196 | } | 196 | } |
197 | } | 197 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 890126f..627034a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2402,11 +2402,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2402 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); | 2402 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); |
2403 | item = InventoryService.GetItem(item); | 2403 | item = InventoryService.GetItem(item); |
2404 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); | 2404 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); |
2405 | IAvatarFactory ava = RequestModuleInterface<IAvatarFactory>(); | 2405 | |
2406 | if (ava != null) | 2406 | if (m_AvatarFactory != null) |
2407 | { | 2407 | { |
2408 | m_log.InfoFormat("[SCENE INVENTORY]: Saving avatar attachment. AgentID:{0} ItemID:{1} AttachmentPoint:{2}", remoteClient.AgentId, itemID, AttachmentPt); | 2408 | m_log.InfoFormat("[SCENE INVENTORY]: Saving avatar attachment. AgentID:{0} ItemID:{1} AttachmentPoint:{2}", remoteClient.AgentId, itemID, AttachmentPt); |
2409 | ava.UpdateDatabase(remoteClient.AgentId, presence.Appearance); | 2409 | m_AvatarFactory.UpdateDatabase(remoteClient.AgentId, presence.Appearance); |
2410 | } | 2410 | } |
2411 | } | 2411 | } |
2412 | } | 2412 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index fba9ea8..4c7850f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2481,7 +2481,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2481 | if (aCircuit == null || aCircuit.child == false) | 2481 | if (aCircuit == null || aCircuit.child == false) |
2482 | { | 2482 | { |
2483 | sp.IsChildAgent = false; | 2483 | sp.IsChildAgent = false; |
2484 | sp.RezAttachments(); | 2484 | Util.FireAndForget(delegate(object o) { sp.RezAttachments(); }); |
2485 | } | 2485 | } |
2486 | } | 2486 | } |
2487 | 2487 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 15fb11f..646a483 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2507,8 +2507,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); | 2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); |
2508 | for (int i = 0; i < avatars.Count; i++) | 2508 | for (int i = 0; i < avatars.Count; i++) |
2509 | { | 2509 | { |
2510 | if (avatars[i] != this) | 2510 | // Requested by LibOMV. Send Course Location on self. |
2511 | { | 2511 | //if (avatars[i] != this) |
2512 | //{ | ||
2512 | if (avatars[i].ParentID != 0) | 2513 | if (avatars[i].ParentID != 0) |
2513 | { | 2514 | { |
2514 | // sitting avatar | 2515 | // sitting avatar |
@@ -2530,7 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2530 | CoarseLocations.Add(avatars[i].m_pos); | 2531 | CoarseLocations.Add(avatars[i].m_pos); |
2531 | AvatarUUIDs.Add(avatars[i].UUID); | 2532 | AvatarUUIDs.Add(avatars[i].UUID); |
2532 | } | 2533 | } |
2533 | } | 2534 | //} |
2534 | } | 2535 | } |
2535 | 2536 | ||
2536 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); | 2537 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); |
@@ -3841,6 +3842,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3841 | List<int> attPoints = m_appearance.GetAttachedPoints(); | 3842 | List<int> attPoints = m_appearance.GetAttachedPoints(); |
3842 | foreach (int p in attPoints) | 3843 | foreach (int p in attPoints) |
3843 | { | 3844 | { |
3845 | if (m_isDeleted) | ||
3846 | return; | ||
3847 | |||
3844 | UUID itemID = m_appearance.GetAttachedItem(p); | 3848 | UUID itemID = m_appearance.GetAttachedItem(p); |
3845 | UUID assetID = m_appearance.GetAttachedAsset(p); | 3849 | UUID assetID = m_appearance.GetAttachedAsset(p); |
3846 | 3850 | ||
@@ -3866,9 +3870,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3866 | { | 3870 | { |
3867 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); | 3871 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); |
3868 | } | 3872 | } |
3869 | |||
3870 | } | 3873 | } |
3871 | |||
3872 | } | 3874 | } |
3873 | } | 3875 | } |
3874 | } | 3876 | } |
diff --git a/bin/OpenSim.Server.ini.example b/bin/OpenSim.Server.ini.example index 635ba1e..f3d222f 100644 --- a/bin/OpenSim.Server.ini.example +++ b/bin/OpenSim.Server.ini.example | |||
@@ -58,7 +58,7 @@ LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" | |||
58 | AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | 58 | AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" |
59 | StorageProvider = "OpenSim.Data.MySQL.dll" | 59 | StorageProvider = "OpenSim.Data.MySQL.dll" |
60 | ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=grid;" | 60 | ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=grid;" |
61 | ; Realm = "auth" | 61 | ; Realm = "users" |
62 | 62 | ||
63 | ; * This is the new style user service. | 63 | ; * This is the new style user service. |
64 | ; * "Realm" is the table that is used for user lookup. | 64 | ; * "Realm" is the table that is used for user lookup. |
@@ -75,7 +75,7 @@ ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=gr | |||
75 | ; * It defaults to "regions", which uses the legacy tables | 75 | ; * It defaults to "regions", which uses the legacy tables |
76 | ; * | 76 | ; * |
77 | [GridService] | 77 | [GridService] |
78 | LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" | 78 | LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" |
79 | StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" | 79 | StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" |
80 | ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=grid;" | 80 | ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=grid;" |
81 | Realm = "regions" | 81 | Realm = "regions" |