問題の症状#

FlightGear起動後、Telnet(ポート5401)でモデル姿勢を動的に修正しようとしたが、接続拒否エラー:

対象のコンピューターによって拒否されたため、接続できませんでした。 127.0.0.1:5401

結果: ライブ反映機能(再起動なし)が使用不可

原因#

以下のいずれかが原因です:

  1. FlightGear起動時に--telnet=5401オプションが指定されていない
  2. Telnetサーバがタイムアウトで閉じている
  3. PowerShellスクリプト実行時の管理者権限不足
  4. 既存のFlightGearインスタンスがポートを専有

解決方法#

方法1: 起動オプションを明示的に指定#

FlightGear --telnet=5401 --httpd=8080

方法2: リトライロジックを実装#

$portOpen = (Test-NetConnection 127.0.0.1 -Port 5401 -WarningAction SilentlyContinue).TcpTestSucceeded
if(-not $portOpen){
  Get-Process fgfs -ErrorAction SilentlyContinue | Stop-Process -Force
  Start-Process -FilePath $fg -ArgumentList $fgArgs
  Start-Sleep 5
}

方法3: 代替手段#

表示再読込(再起動なし)#

# Telnetまたはプロパティブラウザで実行
/sim/reinit/graphics 1

FlightGear再起動(最も確実)#

設定変更後、FlightGearを完全に再起動します。

予防策#

1. ポート使用状況を確認#

netstat -an | findstr 5401

他のプロセスが使用中でないか確認します。

2. Telnet接続失敗時の代替手段をドキュメント化#

ライブ反映が失敗した場合の手順を明記します。

3. 単一インスタンス運用#

複数起動による競合を防ぎます。

4. 起動スクリプトに必須オプションを明記#

REM 必須: Telnet有効化
--telnet=5401

参照資料#

本記事の執筆にあたり、以下の資料を参照しました:

筆者の過去調査データ#

  • jsbsim_fg(private repository)
    • temp/savanna3d_log.md:166-188 - エラーメッセージ記録
    • temp/savanna3d作業報告書.md:120-141 - ライブ反映方法
    • README.md:291-294 - Telnet/HTTP未確認注記

公式ドキュメント#

  • FlightGear Wiki - Telnet usage(https://wiki.flightgear.org/Telnet_usage)- CC BY-SA 3.0
  • FlightGear Wiki - Property Tree(https://wiki.flightgear.org/Property_tree)- CC BY-SA 3.0

© 2025 Yaaasoh. All Rights Reserved.

本記事の著作権はYaaasohに帰属します。引用部分については各引用元のライセンスが適用されます。