* Start listening for client connections immediately after a region initializes during initial instance startup. (as opposed to waiting for 'all of the regions' to initialize first)
* Removed hackish timer based client notification about regions up (no longer needed) * Added a comment about an inventory based login failure that causes me lots of greif testing and debugging. Comment includes *why* it's failing.afrisby
parent
c7f5a94763
commit
9abe4b2ebf
|
@ -338,10 +338,10 @@ namespace OpenSim
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start UDP servers
|
// Start UDP servers
|
||||||
for (int i = 0; i < m_udpServers.Count; i++)
|
//for (int i = 0; i < m_udpServers.Count; i++)
|
||||||
{
|
//{
|
||||||
m_udpServers[i].ServerListener();
|
// m_udpServers[i].ServerListener();
|
||||||
}
|
// }
|
||||||
|
|
||||||
//Run Startup Commands
|
//Run Startup Commands
|
||||||
if (m_startupCommandsFile != "")
|
if (m_startupCommandsFile != "")
|
||||||
|
@ -385,6 +385,7 @@ namespace OpenSim
|
||||||
|
|
||||||
m_udpServers.Add(udpServer);
|
m_udpServers.Add(udpServer);
|
||||||
m_regionData.Add(regionInfo);
|
m_regionData.Add(regionInfo);
|
||||||
|
udpServer.ServerListener();
|
||||||
|
|
||||||
return udpServer;
|
return udpServer;
|
||||||
}
|
}
|
||||||
|
@ -484,7 +485,7 @@ namespace OpenSim
|
||||||
m_regionData.RemoveAt(RegionHandleElement);
|
m_regionData.RemoveAt(RegionHandleElement);
|
||||||
}
|
}
|
||||||
UDPServer restartingRegion = CreateRegion(whichRegion);
|
UDPServer restartingRegion = CreateRegion(whichRegion);
|
||||||
restartingRegion.ServerListener();
|
//restartingRegion.ServerListener();
|
||||||
//m_sceneManager.SendSimOnlineNotification(restartingRegion.RegionHandle);
|
//m_sceneManager.SendSimOnlineNotification(restartingRegion.RegionHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -757,7 +758,7 @@ namespace OpenSim
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "create-region":
|
case "create-region":
|
||||||
CreateRegion(new RegionInfo(cmdparams[0], "Regions/" + cmdparams[1])).ServerListener();
|
CreateRegion(new RegionInfo(cmdparams[0], "Regions/" + cmdparams[1]));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "remove-region":
|
case "remove-region":
|
||||||
|
|
|
@ -65,6 +65,7 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
{
|
{
|
||||||
RestObjectPosterResponse<InventoryCollection> requester = new RestObjectPosterResponse<InventoryCollection>();
|
RestObjectPosterResponse<InventoryCollection> requester = new RestObjectPosterResponse<InventoryCollection>();
|
||||||
requester.ResponseCallback = InventoryResponse;
|
requester.ResponseCallback = InventoryResponse;
|
||||||
|
// THIS SHOULD BE A Guid, NOT A LLUUID! No longer Serializable! This will fail EVERY TIME.
|
||||||
requester.BeginPostObject<LLUUID>(_inventoryServerUrl + "/GetInventory/", userID);
|
requester.BeginPostObject<LLUUID>(_inventoryServerUrl + "/GetInventory/", userID);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
|
|
@ -55,7 +55,14 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
byte[] visualParams;
|
byte[] visualParams;
|
||||||
GetDefaultAvatarAppearance(out wearables, out visualParams);
|
GetDefaultAvatarAppearance(out wearables, out visualParams);
|
||||||
appearance = new AvatarAppearance(avatarId, wearables, visualParams);
|
appearance = new AvatarAppearance(avatarId, wearables, visualParams);
|
||||||
m_avatarsAppearance[avatarId] = appearance;
|
try
|
||||||
|
{
|
||||||
|
m_avatarsAppearance[avatarId] = appearance;
|
||||||
|
}
|
||||||
|
catch (System.NullReferenceException)
|
||||||
|
{
|
||||||
|
OpenSim.Framework.Console.MainLog.Instance.Error("AVATAR", "Unable to load appearance for uninitialized avatar");
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -313,17 +313,27 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
if ((Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1) && (Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1))
|
if ((Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1) && (Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1))
|
||||||
{
|
{
|
||||||
lock (m_regionRestartNotifyList)
|
try
|
||||||
{
|
{
|
||||||
if (!(m_regionRestartNotifyList.Contains(otherRegion)))
|
|
||||||
{
|
|
||||||
m_regionRestartNotifyList.Add(otherRegion);
|
|
||||||
|
|
||||||
m_restartWaitTimer.Interval = 50000;
|
ForEachScenePresence(delegate(ScenePresence agent)
|
||||||
m_restartWaitTimer.AutoReset = false;
|
{
|
||||||
m_restartWaitTimer.Elapsed += new ElapsedEventHandler(RestartNotifyWaitElapsed);
|
// If agent is a root agent.
|
||||||
m_restartWaitTimer.Start();
|
if (!agent.IsChildAgent)
|
||||||
|
{
|
||||||
|
//agent.ControllingClient.new
|
||||||
|
//this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
|
||||||
|
InformClientOfNeighbor(agent, otherRegion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
catch (System.NullReferenceException)
|
||||||
|
{
|
||||||
|
// This means that we're not booted up completely yet.
|
||||||
|
// This shouldn't happen too often anymore.
|
||||||
|
MainLog.Instance.Error("SCENE", "Couldn't inform client of regionup because we got a null reference exception");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue