Godotバージョン:
3.2.1安定
バージョンを含むOS /デバイス:
ウインドウズ10
私が使用しているルーターはOrangeLiveboxですが、description.xmlのどの部分が有用で安全に共有できるかわかりません。 また、管理者アクセス権がありません。
問題の説明:
ポートマッピングを追加すると、delete_port_mappingに関するエラーが出力されます。 ポートマッピングは適切に追加されているようで、後でエラーなしで削除できます。
この質問で説明されている問題https://godotengine.org/qa/65365/delete_port_mapping-condition-i-0-is-true
E 0:00:03.211 delete_port_mapping: Condition "i != (0)" is true. Returned: UPNP::upnp_result(i)
<C++ Source> modules/upnp/upnp_device.cpp:90 @ delete_port_mapping()
<Stack Trace> UPNPTest.gd:8 @ _ready()
出力します
再現する手順:
以下を実行します。
var upnp = UPNP.new()
upnp.discover()
upnp.add_port_mapping(4200)
最小限の複製プロジェクト:
upnpバグrepro.zip
これは、私のプロジェクトでも発生しているかなり厄介なバグです。
編集:誰かがこれと同じバグを抱えていてこの問題を見つけた場合は、ポートマッピングをデフォルトゲートウェイに直接追加することでエラーを回避できます。これは、upnp.add_port_mappingと同じことですが、存在しないポートを削除しようとすることはありません。
upnp = UPNP.new()
var result = upnp.discover()
if result == UPNP.UPNP_RESULT_SUCCESS:
var gateway = upnp.get_gateway()
gateway.add_port_mapping(4200)
最も参考になるコメント
これは、私のプロジェクトでも発生しているかなり厄介なバグです。
編集:誰かがこれと同じバグを抱えていてこの問題を見つけた場合は、ポートマッピングをデフォルトゲートウェイに直接追加することでエラーを回避できます。これは、upnp.add_port_mappingと同じことですが、存在しないポートを削除しようとすることはありません。