NATループバック機能つきルータ†[edit]
サーバの NAT 越え†[edit]
- UDP でのアドレス通知は無くなった(プロトコルとしては残っているが,使われなくなった)
- InternalAddress の使い方が簡単になった.(というか殆ど使用されていない)
ServerIPAddress†[edit]
- OpenSim/Framework/RegionInfo.cs
- OpenSim/Services/Interfaces/IGridService.cs
- DB の regions の Token を間借り (InternalIPAddess を入れる)
IGridService.cs†[edit]
- OpenSim.exe
- public GridRegion(Dictionary<string, object> kvp)
- public Dictionary<string, object> ToKeyValuePairs()
- Robust.exe
- public GridRegion(Dictionary<string, object> kvp)
- public Dictionary<string, object> ToKeyValuePairs()
NetworkUtil.cs†[edit]
- OpenSim/Framework/NetworkUtil.cs
- OpenSim/Services/LLLoginService/LLLoginResponse.cs
- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
- CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint externalIPEndPoint, string capsURL)
- OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
- SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, uint flags, string capsURL)
- OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
- OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
- CrossRegion() : newRegionExternalEndPoint
- TeleportFinishEvent() : regionExternalEndPoint
- OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
- EnableSimulator(ulong handle, IPEndPoint endPoint, UUID avatarID, int regionSizeX, int regionSizeY)
- OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Capabilities/Caps.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
接続してきた Viewer のアドレスを直接知ることができない.
aCircuit (AgentCircuitData) の Channel から Region のプライベートアドレス情報を取り出す
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Services/LLLoginService/LLLoginService.cs
aCircuit (AgentCircuitData) の Channel に Region のプライベートアドレス情報を載せる
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
接続してきた Viewer のアドレスを直接知ることができない.
aCircuit (AgentCircuitData) の Channel から Region のプライベートアドレス情報を取り出す
Private IP 情報†[edit]
- hash[]
- OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs
- OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
- OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
- OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs
- OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs
- OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
- OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
- OpenSim/Region/Framework/Scenes/Scene.cs
- OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs
通常のTeleport†[edit]
- Scene.cs: RequestTeleportLocation()
- Teleport()
- TeleportAgentToDifferentRegion()
- DoTeleportInternal()
Telepot to Home†[edit]
- OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
- TeleportHome()
- DoTeleport()
- DoTeleportInternal()
-- OLD -- サーバの NAT 越え -- OLD --†[edit]
ExternalHostName†[edit]
- ExternalIPAddress を定義して,ExternalHostName と明確に役目を分離
- ExternalHostName : CAP用 URL生成に使用
- ExternalIPAddress : UDP通信のためのサーバIP通知に使用.NATの外側のアドレス
- 関連ファイル
- OpenSim/Framework/RegionInfo.cs
- OpenSim/Framework/Communications/Clients/GridClient.cs
- OpenSim/Framework/Communications/Tests/LoginServiceTests.cs
- OpenSim/Services/Interfaces/IGridService.cs
- OpenSim/Data/RegionProfileData.cs
- serverIP -> serverName
- serverIPadr を新しく定義
- OpenSim/Data/RegionProfileServiceProxy.cs
- OpenSim/Data/MySQL/MySQLManager.cs
- OpenSim/Data/MSSQL/MSSQLGridData.cs
- OpenSim/Data/SQLite/SQLiteManager.cs
- OpenSim/Grid/GridServer.Modules/GridXmlRpcModule.cs
- OpenSim/Grid/GridServer.Modules/GridRestModule.cs
- OpenSim/Region/Framework/Scenes/Scene.cs
- OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
- OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
- OpenSim/Framework/NetworkUtil.cs
- GetIPformString() を追加
- GetNATIP() を追加
- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
- OpenSim/Grid/UserServer.Modules/UserLoginService.cs
- OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
- OpenSim/Client/Linden/LLStandaloneLoginService.cs
NATの外側と内側へのUDPアドレスの通知†[edit]
- 外側へは ExternalIPAddress を通知
- 内側へは InternalEndPoint.IPAddress または ローカルIP(自動取得)を通知
- Opensim/Framework/NetworkUtil.cs
sim_ip (login)†[edit]
- OpenSim/Framework/Communications/Services/LoginResponse.cs
- OpenSim/Client/Linden/LLStandaloneLoginService.cs
- SimAddress
- OpenSim/Grid/UserServer.Modules/UserLoginService.cs
- PrepareLoginToRegion(RegionProfileData regionInfo, UserProfileData user, LoginResponse response, IPEndPoint remoteClient)
- OpenSim/Client/Linden/LLStandaloneLoginService.cs
- PrepareLoginToRegion(RegionInfo regionInfo, UserProfileData user, LoginResponse response, IPEndPoint remoteClient)
sim-ip-and-port†[edit]
- OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs:
- EstablishAgentCommunication(UUID agentID, string simIpAndPort, string seedcap)
- OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
- EstablishAgentCommunication(UUID avatarID, IPEndPoint endPoint, string capsPath)
- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
SimIP (CrossRegion, TeleportFinish)†[edit]
- OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
- CrossRegion(ulong handle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL, UUID agentID, UUID sessionID)
- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
- ScenePresence CrossAgentToNewRegionAsync(ScenePresence agent, Vector3 pos, uint neighbourx, uint neighboury, bool isFlying)
- TeleportFinishEvent(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL, UUID agentID)
- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
- RequestTeleportToLocation(ScenePresence avatar, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags)
IP (EnableSimulator)†[edit]
- OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
- EnableSimulator(ulong handle, IPEndPoint endPoint)
- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
- InformClientOfNeighbourAsync(ScenePresence avatar, AgentCircuitData a, GridRegion reg, IPEndPoint endPoint, bool newAgent)
注意: NetworkUtil†[edit]
- static NetworkUtil() で address.IPv4Mask は mono では未実装!!
Last-modified: 2024-09-02 (月) 14:25:33