flagflag  If you want to see English page, please click "English" Button at Left.
Page Top

サーバの NAT 越え anchor.png

  • UDP でのアドレス通知は無くなった(プロトコルとしては残っているが,使われなくなった)
  • InternalAddress の使い方が簡単になった.(というか殆ど使用されていない)
     
Page Top

ServerIPAddress anchor.png

  • OpenSim/Framework/RegionInfo.cs
  • OpenSim/Services/Interfaces/IGridService​.cs
    • DB の regions の Token を間借り (InternalIPAddess を入れる)
       
Page Top
IGridService.cs anchor.png
  • 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()
      • ???
         
Page Top

NetworkUtil.cs anchor.png

  • OpenSim/Framework/NetworkUtil.cs
     
Page Top

sim_ip anchor.png

  • OpenSim/Services/LLLoginService/LLLoginR​esponse.cs
     
Page Top

SimIP anchor.png

  • OpenSim/Region/ClientStack/Linden/UDP/LL​ClientView.cs
    • CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint externalIPEndPoint, string capsURL)
      • OpenSim/Region/CoreModules/Framework/Ent​ityTransfer/EntityTransferModule.cs
      • OpenSim/Region/ClientStack/Linden/Caps/E​ventQueue/EventQueueGetModule.cs
    • SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, uint flags, string capsURL)
      • OpenSim/Region/CoreModules/Framework/Ent​​ityTransfer/EntityTransferModule.cs
  • OpenSim/Region/ClientStack/Linden/Caps/E​ventQueue/EventQueueHelper.cs
    • CrossRegion() : newRegionExternalEndPoint
    • TeleportFinishEvent() : regionExternalEndPoint
       
Page Top

IP anchor.png

  • OpenSim/Region/CoreModules/Framework/Eve​ntQueue/EventQueueHelper.cs
    • EnableSimulator(ulong handle, IPEndPoint endPoint, UUID avatarID, int regionSizeX, int regionSizeY)
      • OpenSim/Region/CoreModules/Framework/Ent​​ityTransfer/EntityTransferModule.cs
         
Page Top

Caps anchor.png

  • OpenSim/Capabilities/Caps.cs
    • HostName を書き換え可能にする
  • OpenSim/Region/CoreModules/Framework/Cap​​s/CapabilitiesModule.cs
    • 接続してきた Viewer のアドレスを直接知ることができない.
    • aCircuit (AgentCircuitData) の Channel から Region のプライベートアドレス情報を取り出す
  • OpenSim/Region/CoreModules/Framework/Ent​ityTransfer/EntityTransferModule.cs
  • OpenSim/Services/LLLoginService/LLLoginS​ervice.cs
    • aCircuit (AgentCircuitData) の Channel に Region のプライベートアドレス情報を載せる
       
Page Top

Uploader anchor.png

  • OpenSim/Region/ClientStack/Linden/Caps/U​ploadBakedTextureModule.cs
    • 接続してきた Viewer のアドレスを直接知ることができない.
    • aCircuit (AgentCircuitData) の Channel から Region のプライベートアドレス情報を取り出す
       
Page Top

Private IP 情報 anchor.png

  • hash[]
    • OpenSim/Server/Handlers/Hypergrid/Hyperg​ridHandlers.cs
    • OpenSim/Server/Handlers/Hypergrid/UserAg​entServerConnector.cs
    • OpenSim/Services/Connectors/Hypergrid/Ga​tekeeperServiceConnector.cs
    • OpenSim/Services/Connectors/Hypergrid/Us​erAgentServiceConnector.cs
       
Page Top

Teleport anchor.png

  • OpenSim/Region/Framework/Interfaces/IEnt​ityTransferModule.cs
  • OpenSim/Region/CoreModules/Framework/Ent​ityTransfer/EntityTransferModule.cs
  • OpenSim/Region/CoreModules/Framework/Ent​ityTransfer/HGEntityTransferModule.cs
  • OpenSim/Region/Framework/Scenes/Scene.cs​
  • OpenSim/Region/CoreModules/Avatar/Lure/H​GLureModule.cs
     
Page Top
通常のTeleport anchor.png
  • Scene.cs: RequestTeleportLocation()
  • Teleport()
  • TeleportAgentToDifferentRegion()
  • DoTeleportInternal()
     
Page Top
Telepot to Home anchor.png
  • OpenSim/Region/CoreModules/Framework/Ent​ityTransfer/HGEntityTransferModule.cs
  • TeleportHome()
  • DoTeleport()
  • DoTeleportInternal()
     
Page Top

-- OLD -- サーバの NAT 越え -- OLD -- anchor.png

Page Top

ExternalHostName anchor.png

  • ExternalIPAddress を定義して,ExternalHostName と明確に役目を分離
  • ExternalHostName : CAP用 URL生成に使用
  • ExternalIPAddress : UDP通信のためのサーバIP通知に使用.NATの外側のアドレス
  • 関連ファイル
    • OpenSim/Framework/RegionInfo.cs
      • ExternalIPAddress を定義
    • OpenSim/Framework/Communications/Clients​/GridClient.cs
    • OpenSim/Framework/Communications/Tests/L​oginServiceTests.cs
    • OpenSim/Services/Interfaces/IGridService​.cs
    • OpenSim/Data/RegionProfileData.cs
      • serverIP -> serverName
      • serverIPadr を新しく定義
    • OpenSim/Data/RegionProfileServiceProxy.c​s
    • OpenSim/Data/MySQL/MySQLManager.cs
    • OpenSim/Data/MSSQL/MSSQLGridData.cs
    • OpenSim/Data/SQLite/SQLiteManager.cs
    • OpenSim/Grid/GridServer.Modules/GridXmlR​pcModule.cs
    • OpenSim/Grid/GridServer.Modules/GridRest​Module.cs
    • OpenSim/Region/Framework/Scenes/Scene.cs​
    • OpenSim/Region/Framework/Scenes/Tests/Sc​eneTests.cs
    • OpenSim/Tests/Common/Setup/SceneSetupHel​pers.cs
    • OpenSim/Framework/NetworkUtil.cs
      • GetIPformString() を追加
      • GetNATIP() を追加
    • OpenSim/Region/Framework/Scenes/SceneCom​municationService.cs
    • OpenSim/Grid/UserServer.Modules/UserLogi​nService.cs
    • OpenSim/ApplicationPlugins/RemoteControl​ler/RemoteAdminPlugin.cs
    • OpenSim/Client/Linden/LLStandaloneLoginS​ervice.cs
       
Page Top

NATの外側と内側へのUDPアドレスの通知 anchor.png

  • 外側へは ExternalIPAddress を通知
  • 内側へは InternalEndPoint.IPAddress または ローカルIP(自動取得)を通知
  • Opensim/Framework/NetworkUtil.cs
    • GetNATIP() を作成
       
Page Top
sim_ip (login) anchor.png
  • OpenSim/Framework/Communications/Service​s/LoginResponse.cs
  • OpenSim/Client/Linden/LLStandaloneLoginS​ervice.cs
    • SimAddress
    • OpenSim/Grid/UserServer.Modules/UserLogi​nService.cs
      • PrepareLoginToRegion(RegionProfileData regionInfo, UserProfileData user, LoginResponse response, IPEndPoint remoteClient)
    • OpenSim/Client/Linden/LLStandaloneLoginS​ervice.cs
      • PrepareLoginToRegion(RegionInfo regionInfo, UserProfileData user, LoginResponse response, IPEndPoint remoteClient)
Page Top
sim-ip-and-port anchor.png
  • OpenSim/Region/CoreModules/Framework/Eve​ntQueue/EventQueueHelper.cs:
    • EstablishAgentCommunication(UUID agentID, string simIpAndPort, string seedcap)
    • OpenSim/Region/CoreModules/Framework/Eve​ntQueue/EventQueueGetModule.cs
      • EstablishAgentCommunication(UUID avatarID, IPEndPoint endPoint, string capsPath)
      • OpenSim/Region/Framework/Scenes/SceneCom​municationService.cs
        • InformClientOfNeighbourAsync(ScenePresen​ce avatar, AgentCircuitData a, GridRegion reg, IPEndPoint endPoint, bool newAgent)
          • EnableNeighbourChildAgents(ScenePresence​ avatar, List<RegionInfo> lstneighbours)
          • InformNeighborChildAgent(ScenePresence avatar, GridRegion region)
Page Top
SimIP (CrossRegion, TeleportFinish) anchor.png
  • OpenSim/Region/CoreModules/Framework/Eve​ntQueue/EventQueueHelper.cs
    • CrossRegion(ulong handle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL, UUID agentID, UUID sessionID)
    • OpenSim/Region/Framework/Scenes/SceneCom​municationService.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/SceneCom​municationService.cs
      • RequestTeleportToLocation(ScenePresence avatar, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags)
Page Top
IP (EnableSimulator) anchor.png
  • OpenSim/Region/CoreModules/Framework/Eve​ntQueue/EventQueueHelper.cs
    • EnableSimulator(ulong handle, IPEndPoint endPoint)
    • OpenSim/Region/Framework/Scenes/SceneCom​municationService.cs
      • InformClientOfNeighbourAsync(ScenePresen​ce avatar, AgentCircuitData a, GridRegion reg, IPEndPoint endPoint, bool newAgent)
        • EnableNeighbourChildAgents(ScenePresence​ avatar, List<RegionInfo> lstneighbours)
        • InformNeighborChildAgent(ScenePresence avatar, GridRegion region)
           
Page Top

注意: NetworkUtil anchor.png

  • static NetworkUtil() で address.IPv4Mask は mono では未実装!!
     

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 3700, today: 2, yesterday: 0
最終更新: 2015-04-02 (木) 00:36:34 (JST) (3344d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

26 人のユーザが現在オンラインです。 (1 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 26

もっと...

アクセスカウンタ

今日 : 4503450345034503
昨日 : 3958395839583958
総計 : 2370474623704746237047462370474623704746237047462370474623704746
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com