aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authormingchen2007-07-06 20:40:03 +0000
committermingchen2007-07-06 20:40:03 +0000
commitbc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7 (patch)
treec2034371669c04d1130b6ed0d7309855f2860d8d /OpenSim/Region
parent*Fixed 2 small references to localhost which has some conflicts when resolving. (diff)
downloadopensim-SC-bc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7.zip
opensim-SC-bc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7.tar.gz
opensim-SC-bc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7.tar.bz2
opensim-SC-bc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7.tar.xz
*Fixed several bugs that crashed the viewer and opensim server when logging in on grid mode
*Note: Grid Mode now works in sugilite, but is still unstable **Known bug in which the grid server crashes after being relaunched from a previously create configuration **Crashing of the viewer crashes the OpenSim server which then crashes the grid server -- needs better handling of exceptions **Multiple sims is still untested, but should connect correctly. Moving between the sims may be a different story
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs3
-rw-r--r--OpenSim/Region/ClientStack/ClientViewBase.cs2
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1GridServices.cs31
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1UserServices.cs5
4 files changed, 24 insertions, 17 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index 64856ea..0114fb1 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -41,11 +41,12 @@ namespace OpenSim.Region.ClientStack
41 protected override void ProcessInPacket(Packet Pack) 41 protected override void ProcessInPacket(Packet Pack)
42 { 42 {
43 ack_pack(Pack); 43 ack_pack(Pack);
44 debug = true;
44 if (debug) 45 if (debug)
45 { 46 {
46 if (Pack.Type != PacketType.AgentUpdate) 47 if (Pack.Type != PacketType.AgentUpdate)
47 { 48 {
48 Console.WriteLine(Pack.Type.ToString()); 49 Console.WriteLine("IN: " + Pack.Type.ToString());
49 } 50 }
50 } 51 }
51 52
diff --git a/OpenSim/Region/ClientStack/ClientViewBase.cs b/OpenSim/Region/ClientStack/ClientViewBase.cs
index f105978..24c6911 100644
--- a/OpenSim/Region/ClientStack/ClientViewBase.cs
+++ b/OpenSim/Region/ClientStack/ClientViewBase.cs
@@ -71,6 +71,8 @@ namespace OpenSim.Region.ClientStack
71 // Keep track of when this packet was sent out 71 // Keep track of when this packet was sent out
72 Pack.TickCount = Environment.TickCount; 72 Pack.TickCount = Environment.TickCount;
73 73
74 Console.WriteLine("OUT: " + Pack.Type.ToString());
75
74 if (!Pack.Header.Resent) 76 if (!Pack.Header.Resent)
75 { 77 {
76 // Set the sequence number 78 // Set the sequence number
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 4d93cc9..b7d62ed 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -83,26 +83,29 @@ namespace OpenSim.Region.Communications.OGS1
83 83
84 List<RegionInfo> neighbours = new List<RegionInfo>(); 84 List<RegionInfo> neighbours = new List<RegionInfo>();
85 85
86 foreach (Hashtable n in (Hashtable)respData.Values) 86 foreach (ArrayList a in respData.Values)
87 { 87 {
88 string internalIpStr = (string)n["sim_ip"]; 88 foreach (Hashtable n in a)
89 int port = (int)n["sim_port"]; 89 {
90 string externalUri = (string)n["sim_uri"]; 90 string internalIpStr = (string)n["sim_ip"];
91 91 int port = (int)n["sim_port"];
92 IPEndPoint neighbourInternalEndPoint = new IPEndPoint( IPAddress.Parse( internalIpStr ), port); 92 string externalUri = (string)n["sim_uri"];
93 string neighbourExternalUri = externalUri;
94 93
95 RegionInfo neighbour = new RegionInfo((uint)n["x"], (uint)n["y"], neighbourInternalEndPoint, neighbourExternalUri ); 94 IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(internalIpStr), port);
95 string neighbourExternalUri = externalUri;
96 96
97 //OGS1 97 RegionInfo neighbour = new RegionInfo((uint)n["x"], (uint)n["y"], neighbourInternalEndPoint, neighbourExternalUri);
98 //neighbour.RegionHandle = (ulong)n["regionhandle"]; is now calculated locally
99 98
100 neighbour.RegionName = (string)n["name"]; 99 //OGS1
100 //neighbour.RegionHandle = (ulong)n["regionhandle"]; is now calculated locally
101 101
102 //OGS1+ 102 neighbour.RegionName = (string)n["name"];
103 neighbour.SimUUID = (string)n["uuid"];
104 103
105 neighbours.Add(neighbour); 104 //OGS1+
105 neighbour.SimUUID = (string)n["uuid"];
106
107 neighbours.Add(neighbour);
108 }
106 } 109 }
107 110
108 return neighbours; 111 return neighbours;
diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
index 7c7db03..3a3bccb 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
@@ -35,8 +35,9 @@ namespace OpenSim.Region.Communications.OGS1
35 userData.profileWantDoMask = Convert.ToUInt32(data["profile_want_do"]); 35 userData.profileWantDoMask = Convert.ToUInt32(data["profile_want_do"]);
36 userData.profileImage = new LLUUID((string)data["profile_image"]); 36 userData.profileImage = new LLUUID((string)data["profile_image"]);
37 userData.lastLogin = Convert.ToInt32((string)data["profile_lastlogin"]); 37 userData.lastLogin = Convert.ToInt32((string)data["profile_lastlogin"]);
38 userData.homeLocation = new LLVector3(); 38 userData.homeRegion = Convert.ToUInt64((string)data["home_region"]);
39 userData.homeLookAt = new LLVector3(); 39 userData.homeLocation = new LLVector3((float)Convert.ToDecimal((string)data["home_coordinates_x"]), (float)Convert.ToDecimal((string)data["home_coordinates_y"]), (float)Convert.ToDecimal((string)data["home_coordinates_z"]));
40 userData.homeLookAt = new LLVector3((float)Convert.ToDecimal((string)data["home_look_x"]), (float)Convert.ToDecimal((string)data["home_look_y"]), (float)Convert.ToDecimal((string)data["home_look_z"]));
40 41
41 return userData; 42 return userData;
42 } 43 }