私の息子がプレイできるサーバーを設定しようとしていますPocketmine
。PHP
ポート19132で実行されているサーバー。私のルーターでこのポートが開いていて、他のサーバー(Railsサーバーなど)を実行すると、すべてが正常です。実行しようとすると、Pocketmine
ポートは開かれません。私のサーバーは現在実行中です。これが私のnetstat
結果です。
サーバーを見ることができます。最初の行にはudp port
。LISTEN
これは私のサーバーの出力です。
何が問題なのでしょうか?udp
サーバーがこの状態ではないのはなぜですかLISTEN
?どの状態にあるべきですかLISTEN
?ポートが開かない原因になる可能性がある他の問題はありますか?この問題を解決するにはどうすればよいですか?
答え1
Minecraftサーバーのポートが表示されない理由は、LISTEN
UDPプロトコルがどのように機能するかです。
TCPプロトコルを使用するサーバーは、クライアントが接続しようとするとセッションを開始し、TCP / IPプロトコルを使用してデータを送信するように接続を「受信」します。 TCP接続用のポートに「受信中」のエントリがないと、プロトコル自体がポートで受信しているサーバーに接続できないというエラーが発生する可能性があります。
UDP 接続にはセッションがないため、接続を「受信」しません。実際に起こるのは、UDPパケットがそのポートに送信され、そのポートにパケットを受信するサーバーがある場合にデータが処理されることです。それ以外の場合、パケットを受信する人がいない場合、パケットは空白に消え、プロトコルレベルではエラーは生成されません。
netstatでポート19132を見ることができるという事実は、UDPの世界では、サーバーがそのポートのデータを「受信」していることを意味します。これは、ポートが実際に開いていることを意味します。
答え2
アイデア#1 - UDPポート転送?
ルータでこのポートを開くときにTCP / UDPまたはUDPを指定したことを確認してください。これらのポートタイプは重要であり、ファイアウォール/ルーターでポートを開くと見過ごされることがよくあります。
アイデア#2 - Pocketmineドメインの問題移植?
私はあなたが経験している問題と正確に一致するこのフォーラムの投稿を見つけました。この特定のユーザーが自分のルーターでUDPポートを開くために使用するスクリーンショットも表示されますが、まだ機能しません。