#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 をつけることにより回避できるが,結局繋がらないのは同じ.