From b089ccfa3d351b4dba43bcbc284d87d7c4963dae Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Sat, 2 Feb 2008 06:34:07 +0000 Subject: Hopefully fixed MySQL DB crash on startup issue (so we can remove 3 sec wait). Added option to try alternate UDP ports if the one configured is in use. UDP packets are now bound to the actual outside IP address and hopefully won't "randomly" select IP on multihomed systems. --- OpenSim/Region/ClientStack/RegionApplicationBase.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/ClientStack/RegionApplicationBase.cs') diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index e74873d..f8b0c9e 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs @@ -109,10 +109,16 @@ namespace OpenSim.Region.ClientStack protected Scene SetupScene(RegionInfo regionInfo, out UDPServer udpServer, bool m_permissions) { AgentCircuitManager circuitManager = new AgentCircuitManager(); - udpServer = new UDPServer((uint) regionInfo.InternalEndPoint.Port, m_assetCache, m_log, circuitManager); + IPAddress listenIP; + if (!IPAddress.TryParse(regionInfo.ExternalHostName, out listenIP)) + listenIP = IPAddress.Parse("0.0.0.0"); - Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager); + uint port = (uint) regionInfo.InternalEndPoint.Port; + udpServer = new UDPServer(listenIP, ref port, regionInfo.m_allow_alternate_ports, m_assetCache, m_log, circuitManager); + regionInfo.InternalEndPoint.Port = (int)port; + Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager); + udpServer.LocalScene = scene; scene.LoadWorldMap(); -- cgit v1.1