| 13 |
using OpenSim.Framework.Communications.Cache; |
using OpenSim.Framework.Communications.Cache; |
| 14 |
using OpenSim.Region.ClientStack; |
using OpenSim.Region.ClientStack; |
| 15 |
using OpenSim.Region.ClientStack.LindenUDP; |
using OpenSim.Region.ClientStack.LindenUDP; |
| 16 |
|
using ModularRex.RexNetwork.RexLogin; |
| 17 |
|
|
| 18 |
namespace ModularRex.RexNetwork |
namespace ModularRex.RexNetwork |
| 19 |
{ |
{ |
| 954 |
|
|
| 955 |
public override void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) |
public override void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) |
| 956 |
{ |
{ |
| 957 |
|
IRexUDPPort module = m_scene.RequestModuleInterface<IRexUDPPort>(); |
| 958 |
|
int udpport = module.GetPort(neighbourHandle); |
| 959 |
|
|
| 960 |
m_log.DebugFormat("[REXCLIENT]: Informing Client About Neighbour {0}", neighbourExternalEndPoint); |
m_log.DebugFormat("[REXCLIENT]: Informing Client About Neighbour {0}", neighbourExternalEndPoint); |
| 961 |
base.InformClientOfNeighbour(neighbourHandle, new IPEndPoint(neighbourExternalEndPoint.Address, neighbourExternalEndPoint.Port-2000)); |
base.InformClientOfNeighbour(neighbourHandle, new IPEndPoint(neighbourExternalEndPoint.Address, udpport)); |
| 962 |
} |
} |
| 963 |
|
|
| 964 |
public override void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint externalIPEndPoint, |
public override void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint externalIPEndPoint, |
| 965 |
string capsURL) |
string capsURL) |
| 966 |
{ |
{ |
| 967 |
|
IRexUDPPort module = m_scene.RequestModuleInterface<IRexUDPPort>(); |
| 968 |
|
int udpport = module.GetPort(newRegionHandle); |
| 969 |
|
|
| 970 |
m_log.DebugFormat("[REXCLIENT]: Crossing client to region {0}", externalIPEndPoint); |
m_log.DebugFormat("[REXCLIENT]: Crossing client to region {0}", externalIPEndPoint); |
| 971 |
base.CrossRegion(newRegionHandle, pos, lookAt, new IPEndPoint(externalIPEndPoint.Address, externalIPEndPoint.Port - 2000), capsURL); |
base.CrossRegion(newRegionHandle, pos, lookAt, new IPEndPoint(externalIPEndPoint.Address, udpport), capsURL); |
| 972 |
} |
} |
| 973 |
|
|
| 974 |
public override void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, |
public override void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, |
| 975 |
uint flags, string capsURL) |
uint flags, string capsURL) |
| 976 |
{ |
{ |
| 977 |
|
IRexUDPPort module = m_scene.RequestModuleInterface<IRexUDPPort>(); |
| 978 |
|
int udpport = module.GetPort(regionHandle); |
| 979 |
|
|
| 980 |
m_log.DebugFormat("[REXCLIENT]: Sending region teleport to client {0}", newRegionEndPoint); |
m_log.DebugFormat("[REXCLIENT]: Sending region teleport to client {0}", newRegionEndPoint); |
| 981 |
base.SendRegionTeleport(regionHandle, simAccess, new IPEndPoint(newRegionEndPoint.Address, newRegionEndPoint.Port - 2000), locationID, flags, capsURL); |
base.SendRegionTeleport(regionHandle, simAccess, new IPEndPoint(newRegionEndPoint.Address, udpport), locationID, flags, capsURL); |
| 982 |
} |
} |
| 983 |
} |
} |
| 984 |
} |
} |