#author("2024-09-02T05:29:42+00:00","default:iseki","iseki")
* Console [#a37488b5]
** Console のモード ([Startup]セクション)[#iced5a9f]
- OpenSim/Region/Application/OpenSim.cs


*** gui ディレクティブ (true/false) [#y9684fa3]
- console ディレクティブが存在する場合には読み込まれない.
- デフォルトは false. この場合は CommandConsole() が生成される.
- true の場合は外部のGUIによって制御される?
- guiもconsoleもない場合は consoleのデフォルトが設定される.


*** console ディレクティブ [#y6679ab7]
- ''basic'', ''rest'' とその他(local).デフォルトはその他.
- ''basic'' では CommandConsole() が生成される.
- ''rest'' では RemoteConsole() が生成される.
- その他では LocalConsole() が生成される.(画面のエスケープシーケンス処理あり)


** Remote Console [#n48cfc9a]
- サーバをリモートのコンソールから操作する場合は,サーバのコンソールを ''rest''モードにする.
- コントロールは OpenSim.ConsoleClient.exe で行うが,これは ''basic'' かその他(local)のモードを使用する.
- OpenSim.ConsoleClient.exe は ''quit コマンド'' で終了.''shutdown コマンド'' はリモートのリージョンサーバがシャットダウンする.


*** Region サーバをコントロールする場合. [#hd921b12]
- OpenSim.ini (リージョンサーバ側)
 [Startup]
    console = rest
 [Network]
    ConsoleUser = "Test"
    ConsolePass = "secret"
    http_listener_port = 9000
    console_port = 0

- OpenSim.ConsoleClient.ini (ConsoleClient側)
 [Startup]
    user = Test
    host = 202.26.159.200
    port = 9000
    pass = secret

- ConsoleClient の起動
 mono OpenSim.ConsoleClient.exe  または  mono OpenSim.ConsoleClient.exe -console=basic
-- オプションなしの方を推奨.(-console=basic ではエスケープシーケンス処理が行われないので)

- SIMをシャットダウンさせるには ''shutdown root'' または ''shutdown SIM(Region)名'' とする.


*** R.O.B.U.S.T.サーバをコントロールする場合. [#w526cbe3]
- %%OpenSim.Server.ini%% ''Robust.ini'' で ''console = rest'' を指定する.


*** Attention [#h9ad384b]
- 非コントロール側のコンソールが ''rest'' になっていない場合,ConsoleClientはエラーになる,
 [root@phobos bin]:827# mono OpenSim.ConsoleClient.exe
 Unhandled Exception: System.ArgumentOutOfRangeException: Value must be positive and below the buffer height.
 Parameter name: top
  at System.TermInfoDriver.SetCursorPosition (Int32 left, Int32 top) [0x00000] in <filename unknown>:0 
  at System.TermInfoDriver.set_CursorTop (Int32 value) [0x00000] in <filename unknown>:0 
  at System.ConsoleDriver.set_CursorTop (Int32 value) [0x00000] in <filename unknown>:0 
  at System.Console.set_CursorTop (Int32 value) [0x00000] in <filename unknown>:0 
  at OpenSim.Framework.Console.LocalConsole.SetCursorLeft (Int32 left) [0x00000] in <filename unknown>:0 
  at OpenSim.Framework.Console.LocalConsole.ReadLine (System.String p, Boolean isCommand, Boolean e) [0x00000] in <filename unknown>:0 
  at OpenSim.Framework.Console.CommandConsole.Prompt () [0x00000] in <filename unknown>:0 
  at OpenSim.Server.Base.ServicesServerBase.Run () [0x00000] in <filename unknown>:0 
  at OpenSim.ConsoleClient.OpenSimConsoleClient.Main (System.String[] args) [0x00000] in <filename unknown>:0                               
-- このエラーは -console=basic をつけることにより回避できるが,結局繋がらないのは同じ.



トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS