多くのゲームサーバーでは、Steam Query およびサーバーブラウザ通信のために、メインのゲームポートとは別の UDP ポートが必要です。両方の機能を単一のポートにまとめてしまうことは、「port is closed」警告やサーバーブラウザへの掲載失敗の最も一般的な原因です。このガイドでは、GPanel で2つ目のポート割り当てを追加し、サーバーの query 変数をそこに向ける方法を説明します。
よくある症状: サーバーコンソールに
Warning: Port 16262 is closed, performance may be severely affected に似たメッセージが表示される場合、UDP/query ポートが正しく割り当てられていないか設定されていません。このガイドに従って解決してください。
前提条件
- Legion Hosting で稼働中のゲームサーバー
- GPanel へのアクセス — Legion Hosting の認証情報でログインしてください
- 起動変数の変更を適用する前に、サーバーは Offline 状態である必要があります(必要に応じて GPanel が確認を求めます)
- 現在のメインのゲームポートを把握していること — Console ページまたは Network タブで確認できます
どのゲームでこれが必要ですか? Project Zomboid、Valheim、その他いくつかの Steam ベースのゲームでは、プレイヤー接続用に1つのポートを、Steam Query(サーバーブラウザ)用に2つ目のポートを使用します。この2つのポートは異なる番号でなければなりません。たとえば Project Zomboid はデフォルトでゲームポート
16261、query ポート 16262 を使用します。
UDP ポートを別にしなければならない理由
ゲームサーバーは通常、2つのネットワークリスナーを同時に実行します:
| リスナー | 目的 | 一般的なデフォルト |
|---|---|---|
| ゲームポート | プレイヤー接続のトラフィック(移動、チャット、ゲーム状態)を受信します | 16261 (PZ)、2456 (Valheim) |
| UDP / Steam Query ポート | Steam サーバーブラウザのクエリ(プレイヤー数、名前、ping)に応答します | ほとんどの場合、ゲームポート + 1 |
両方のリスナーが同じポート番号に向けられている場合、先にバインドした方がもう一方をブロックします。サーバーは起動しますが query リスナーが開けず、「port is closed」警告が発生し、プレイヤーが技術的には直接 IP で参加できるにもかかわらず、Steam のサーバーブラウザではサーバーがオフラインとして表示される原因になります。
ステップ1 — 現在のポート割り当てを確認する
- GPanel にログインし、サーバーをクリックします。
- 左側のサイドバーで Network をクリックします。
- 割り当てテーブルに記載されているポート番号をメモします。これがメインのゲームポートです。ステップ3で必要になるため、書き留めておいてください。
- 2つ目の割り当てがすでに存在するか確認します。テーブルに1行だけ表示されている場合は、ステップ2で2つ目を追加する必要があります。
ステップ2 — UDP/Query 用に2つ目のポート割り当てを追加する
注: GPanel は次に利用可能なポートを自動的に割り当てます。正確な番号を選ぶことはできませんが、割り当てられたポートがステップ3で起動変数に入力する値になります。ゲームポート + 1 になると決めつけないでください。
- Network タブで Create Allocation をクリックします(ボタンのラベルは Add Allocation と表示されているか、+ アイコンが表示されている場合があります)。
- GPanel が新しいポート番号を割り当てます。ページが更新されるのを待ち、割り当てテーブルに2行目が表示されることを確認します。
- 新しいポート番号を書き留めます — これが UDP/query ポートになります。ステップ3で入力します。
メインの割り当てを削除しないでください。 メインのポートはプレイヤーが接続に使用するものです。新しい割り当てを追加するだけにし、既存のものを削除したり再割り当てしたりしないでください。
ポート割り当てはランダムです。 共有ホスティングサーバーには利用可能なポートがランダムに割り当てられます — 特定のポート番号を選ぶことはできません。新しい割り当ては、ノード上で次に利用可能なポートになります。特定のポート(たとえばゲームのデフォルトポート)でサーバーを実行する必要がある場合は、プライベート IP アドレス付きのサーバーを購入することができ、ポート割り当てを完全に制御できるようになります。
ステップ3 — Startup タブで UDP/Query ポート変数を設定する
GPanel で割り当てを追加すると、ネットワークレベルでポートが予約されますが、ゲームサーバーソフトウェアに実際にそのポートを使用するよう指示する必要もあります。これは起動変数を通じて行います。
- GPanel の左側のサイドバーで Startup をクリックします。
- UDP Port、Steam Query Port、またはそれに類する名前の変数を探します。正確なラベルはゲームによって異なります:
- Project Zomboid:
UDP Portまたは query/Steam ポートと記載されたフィールドを探します - Valheim:
Query Portを探します - その他のゲーム: メインポートとは別に「query」「steam query」「UDP」を参照するフィールドを探します
- Project Zomboid:
- 現在の値を消去し、ステップ2の新しいポート番号を入力します。
- Save または Update をクリックして変更を保存します。
Project Zomboid の詳細: ゲームポート変数(プレイヤーが接続するポート)と UDP/query ポート変数は、Startup タブの別々のフィールドです。ゲームポートフィールドではなく query ポートフィールドを編集していることを確認してください。ゲームポートは変更せず、Network タブのメイン割り当てに表示されているものと一致している必要があります。
ステップ4 — サーバーを再起動する
- GPanel の Console タブに移動します。
- サーバーが稼働中の場合は Stop をクリックし、ステータスが Offline に変わるのを待ちます。
- Start をクリックします。
- サーバーが起動する際のコンソール出力を確認します。起動シーケンスが完了するのを待ちます — ほとんどのゲームサーバーでは通常60〜90秒かかります。
- query ポートが正常にバインドされたことを確認する行を探します。ポートが正しく設定および割り当てられると、警告メッセージ(
Warning: Port XXXXX is closed)は表示されなくなるはずです。
確認
- Console タブで、ステータスが Running と表示され、起動ログに「port is closed」警告がないことを確認します。
- Steam を開き、View > Game Servers に移動します(または Ctrl+Shift+M を押します)。Favorites タブをクリックし、
IP:QueryPortを使ってサーバーを追加し、更新します。サーバーはタイムアウトせずにプレイヤー数と ping を表示するはずです。 - Project Zomboid の場合は、ゲーム内の Favorites リストからサーバーに接続します。パフォーマンス警告なしで接続が成功すれば、両方のポートが正しく動作していることが確認できます。
- GPanel の Network タブで、両方のポート割り当て(メインのゲームポートと2つ目の query ポート)がまだ存在していることを確認します。
トラブルシューティング
再起動後も「port is closed」警告が表示される
- Startup タブの UDP/query フィールドのポート番号が、Network タブに表示されている2つ目の割り当てと正確に一致しているか再確認してください。1桁でも違うと、ゲームは割り当てられていないポートを開こうとします。
- 起動変数を変更した後に Save をクリックしたか確認してください。保存せずに移動すると変更が破棄されます。
- 再起動ではなく、完全な停止と起動を試してください — 一部のゲームはクリーンな起動時のみ起動変数を再読み込みします。
Network タブに「Create Allocation」ボタンがない
- 一部のサーバープランでは、ポート割り当ての数が固定されています。ボタンがない、またはグレーアウトしている場合は、Legion Hosting サポートに連絡し、サーバーへの追加ポート割り当てをリクエストしてください。
Startup タブに UDP Port または Query Port 変数が見つからない
- すべてのゲームサーバータイプが、GPanel の Startup タブに別個の query ポート変数を公開しているわけではありません。そのようなフィールドが存在しない場合、ゲームが query ポートを自動的に管理している可能性があります(通常はゲームポート + 1)。その場合は、追加した2つ目の割り当てがメインのゲームポートよりちょうど1つ大きいことを確認し、ゲームがそれにバインドできるようにしてください。
- 特定のゲームでどの変数が query ポートを制御するか不明な場合は、Legion Hosting にサポートチケットを開き、ゲーム名と表示されている警告メッセージを記載してください。
サーバーは Steam サーバーブラウザに表示されるが、プレイヤーがまだ接続できない
- query ポートとゲームポートは別物です。query ポートが動作している(サーバーがブラウザに表示される)ことを確認しても、ゲームポートが正しく設定されているとは限りません。Startup タブのゲームポート変数が、Network タブのメイン割り当てと一致しているか確認してください。
- プレイヤーが正しいメイン接続アドレスを使用していることを確認するには、サーバー IP とポートの確認方法を参照してください。
以前は警告があったが消えた — それでもこのガイドに従う必要がありますか?
- 警告がなく、サーバーブラウザへの掲載と接続が正しく動作している場合は、何もする必要はありません。この警告は、起動ログに実際に表示されている場合にのみ対応が必要です。
すべての手順に従っても問題が続く
サポートチケットを開き、以下を記載してください:
- サーバーのメインのゲームポートと2つ目の query ポート(どちらも Network タブから)
- Console 起動ログからの正確な警告またはエラーメッセージ
- Startup タブの UDP/Query Port 変数の現在の値
- ゲーム名とサーバータイプ