Hytaleサーバーリストでオンラインプレイヤー数を表示する方法

によって HytaleCharts Team カテゴリー: guides :mins min 読み込み

プレイヤーはアクティブなプレイヤー数を表示しているサーバーに参加する可能性が高くなります。ハートビートプラグイン、外部クエリエンドポイント、または自動UDP pingを使用してHytaleサーバーをHytaleChartsに接続する方法を学びましょう。

プレイヤーがHytaleサーバーリストを閲覧しているとき、「参加」をクリックするかスクロールを続けるかを決めるのは一つの数字です:プレイヤー数。47/100プレイヤーを表示しているサーバーは活気があります。何も表示しない——または「オフライン」だけ表示する——サーバーは、正常に動作していてもゴーストタウンのように感じます。 HytaleCharts は、Hytaleサーバーのリアルタイムプレイヤー数とオンラインステータスを表示する3つの方法を提供しています。各方法は正確性、設定の手間、機能において異なるトレードオフがあります。このガイドでは3つすべてを説明し、あなたの環境に適したものを選べるようにします。 3つの方法の概要 方法プレイヤー数更新速度設定の手間最適な用途 Heartbeatプラグイン正確な数 + プレイヤーリスト60秒ごとプラグインをインストールセルフホストサーバー 外部クエリ正確な数5分ごとURLを設定Nitrado / マネージドホスト UDP Pingオンライン/オフラインのみ定期的なし(自動)基本ステータスフォールバック 方法1:HytaleCharts Heartbeatプラグイン(推奨) Heartbeatプラグインは最良の方法でプレイヤー数をHytaleサーバーリストに表示します。Hytaleサーバー上で動作し、60秒ごとにHytaleChartsにハートビート信号を送信します。オンラインプレイヤーの正確な数とユーザー名が含まれます。 報告内容 プレイヤー数 — 現在接続中のプレイヤー数 最大プレイヤー数 — サーバーのプレイヤー上限 プレイヤーリスト — 接続中プレイヤーのユーザー名とUUID プラグインバージョン — HytaleChartsがアップデートについて警告できるように 内部の仕組み プラグインは60秒ごとにPOSTリクエストを/api/heartbeatに送信します リクエストにはサーバーのシークレットキーが含まれます(64文字の16進数文字列) HytaleChartsはシークレットを検証し、サーバーのプレイヤー数とステータスを更新します 5分間ハートビートが受信されない場合、サーバーはオフラインとしてマークされます 履歴データは分析とプレイヤー数グラフのために保存されます 設定手順 ハートビートシークレットを生成 — HytaleChartsでサーバーの編集に移動し、Heartbeatプラグインセクションの「ハートビートシークレットを生成」をクリックします シークレットをコピー — 一度しか表示されません(紛失した場合は再生成できます) HytaleChartsプラグインをインストールサーバーのmods/ディレクトリに配置します プラグインを設定 — プラグインのデータディレクトリでconfig.jsonを作成または編集します: { "secret": "YOUR_64_CHARACTER_SECRET_HERE", "debug": false } サーバーを再起動 — プラグインは即座にハートビートの送信を開始します HytaleChartsで確認 — 60秒以内にサーバーがオンラインでプレイヤー数付きで表示されるはずです マルチインスタンスサポート 複数のサーバーインスタンス(例:ロビーサーバーとサバイバルサーバー)を実行している場合、ハートビートシステムはプレイヤー数を自動的に集計します。同じシークレットキーを共有するすべてのインスタンスのユニークプレイヤーが統合され、合計が算出されます。つまり、Hytaleサーバーリストのエントリはネットワーク全体の正確な合計を表示します。 システムはIPアドレスとワールド名でユニークなインスタンスを識別し、各ソースから最新のハートビートを取得し、UUIDでプレイヤーを統合して複数インスタンスに接続しているプレイヤーの二重カウントを防ぎます。 プラグインの更新 HytaleChartsはプラグインのバージョンを追跡します。新しいバージョンが利用可能な場合、サーバー編集ページに「アップデート利用可能」の警告が表示されます。プラグインを最新に保つことで、APIの変更への互換性が確保され、最新のバグ修正が適用されます。 方法2:外部クエリエンドポイント(Nitradoとマネージドホスト) すべてのHytaleサーバー運営者がカスタムプラグインをインストールできるわけではありません。Nitrado、コンテナベースのホスト、またはクエリエンドポイントを公開するプロバイダーを使用している場合、外部クエリシステムが解決策です。 仕組み HytaleChartsにサーバーのプレイヤー数をJSONで返すURL HytaleChartsはそのURLを5分ごとにポーリングします レスポンスが解析され、プレイヤー数がサーバーリストで更新されます エンドポイントが到達不能になった場合、サーバーステータスは10分以内に変更を反映します 対応レスポンス形式 HytaleChartsは複数のJSON形式を自動検出するため、ほとんどのクエリエンドポイントとそのまま動作します: Nitrado形式 { "Universe": { "CurrentPlayers": 15 }, "Server": { "MaxPlayers": 100 } } 標準形式 { "player_count": 15, "max_players": 100 } camelCaseバリアント(playerCount, maxPlayers)と省略形(online, max)もサポートしています。 設定手順 ホスティングプロバイダーでクエリエンドポイントを見つけるか設定します(Nitradoはデフォルトで提供) HytaleChartsでサーバーの編集 → 外部クエリ クエリエンドポイントの完全なURLを入力します 「エンドポイントをテスト」をクリックしてレスポンスが解析可能か確認します 保存 — HytaleChartsは即座にポーリングを開始します 外部クエリ方法はハートビートプラグインより更新頻度が低い(5分ごと vs. 60秒ごと)ですが、サーバー側の変更は不要です。 方法3:UDP Ping(自動フォールバック) ハートビートプラグインも外部クエリエンドポイントも設定していない場合、HytaleChartsはUDP pingでサーバーのステータスを確認しようとします。これは設定不要のパッシブシステムです。 仕組み HytaleChartsはサーバーの公開ポートに最小限のQUICプロトコルプローブを送信します(デフォルト:5520) 何らかのレスポンスが受信されると、サーバーはオンライン 複数回のリトライ後もレスポンスがない場合、サーバーはオフライン 制限事項 プレイヤー数なし — UDP pingはオンラインかオフラインかのみ判定でき、接続プレイヤー数は判定できません プレイヤーリストなし — 個別のプレイヤーデータは利用できません タイミングの精度が低い — ステータス更新はリアルタイムハートビートではなくポーリングスケジュールに依存します UDP pingはベースラインとして有用ですが、Hytaleサーバーリストのランキングを上げたいサーバーは、正確なプレイヤー数のためにハートビートプラグインをインストールするか外部クエリを設定すべきです。 HytaleChartsがサーバーステータスを判定する方法 複数の方法が利用可能な場合、HytaleChartsは優先順位システムを使用してどのデータソースを信頼するか決定します: 外部クエリ (最高優先度、有効な場合)— 最後の成功ポーリングが10分以内ならオンライン Heartbeatプラグイン (設定済みの場合)— 最後のハートビートが5分以内ならオンライン UDP Ping (フォールバック)— 前回チェックの保存済みオンライン/オフライン結果を使用 つまり、ハートビートプラグインと外部クエリの両方を設定している場合、外部クエリが優先されます。ほとんどの運営者はどちらか一方を使用し、両方は使用しません。 プレイヤーに表示される内容 Hytaleサーバーリストでは、サーバーのステータスがカラーバッジとして表示されます: プレイヤー数付き緑バッジ (例:「オンライン — 47プレイヤー」)— オンラインでプレイヤーが検出された場合 緑バッジ (「オンライン」)— オンラインだがプレイヤーがいないか数が不明な場合 赤バッジ (「オフライン」)— 最近のハートビート、クエリ、またはpingレスポンスがない場合 プレイヤー数が表示されているサーバーは一貫してより多くのクリックを集めます。「オンライン — 23プレイヤー」と表示するサーバーは、数のない「オンライン」とだけ表示するサーバーよりもはるかに魅力的です。これが、ハートビートプラグインまたは外部クエリがトップHytaleサーバー. トラブルシューティング 問題考えられる原因解決策 サーバーが実行中にもかかわらず「オフライン」と表示ファイアウォールがハートビートまたはpingをブロックサーバーがhytalecharts.comへのHTTPSアウトバウンドリクエストを送信できることを確認 プレイヤー数が0のままプラグインがプレイヤーイベントを追跡していないプラグインがロードされていることを確認(サーバーログを確認)して再起動 しばらくするとハートビートが停止プラグインがクラッシュまたはアンロードサーバーログでエラーを確認、必要に応じてプラグインを再インストール 外部クエリが間違った数を表示エンドポイントが古いデータを返しているブラウザで直接JSONレスポンスを確認 マルチインスタンスの数が少なすぎるインスタンスが異なるシークレットを使用すべてのインスタンスが同じハートビートシークレットを共有する必要があります 「アップデート利用可能」の警告プラグインが古いHytaleChartsから最新バージョンのプラグインをダウンロード ベストプラクティス トップHytaleサーバーを運営するオペレーターは以下のパターンに従います: 可能な限りハートビートプラグインを使用 — 最も正確でレスポンシブなオプションです 現実的な最大プレイヤー数を設定 — 水増しされた上限(例:999)は不誠実に見え信頼を低下させます ハートビートステータスを監視 — 定期的にサーバー編集ページでエラーを確認 プラグインを最新に保つ — 古いプラグインはAPI変更後に動作しなくなる可能性があります 外部クエリをバックアップとして使用 — プラグインがダウンした場合、動作する外部エンドポイントがステータスの正確性を維持します ドメインが正しいことを確認 — UDP pingフォールバックは設定されたドメインを使用するため、主にハートビートを使用する場合でも正確に保ちましょう はじめに ハートビートプラグインでプレイヤー数を表示するのに5分もかかりません。シークレットを生成し、プラグインをインストールし、設定にシークレットを追加して再起動します。Hytaleサーバーは1分以内にライブプレイヤー数付きでHytaleサーバーリストに表示されます。 Nitradoなどのマネージドホスティングプロバイダーの場合、外部クエリはさらに簡単です——URLを貼り付けるだけでHytaleChartsが残りを処理します。 いずれにしても、実際のプレイヤー数を表示することは、サーバーの可視性を高め新しいプレイヤーを惹きつけるためにできる最も簡単なことの一つです。Hytaleサーバーリストでアクティブなプレイヤー数を表示するサーバーは、表示しないサーバーを一貫して上回ります。