diff options
author | mingchen | 2007-07-06 20:40:03 +0000 |
---|---|---|
committer | mingchen | 2007-07-06 20:40:03 +0000 |
commit | bc02ddf5231d7731af33cc0aa5dc914cbdeb5ee7 (patch) | |
tree | c2034371669c04d1130b6ed0d7309855f2860d8d /OpenSim/Region/Communications/OGS1 | |
parent | *Fixed 2 small references to localhost which has some conflicts when resolving. (diff) | |
download | opensim-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 'OpenSim/Region/Communications/OGS1')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 31 | ||||
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1UserServices.cs | 5 |
2 files changed, 20 insertions, 16 deletions
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 | } |