LANプレイを使用するゲームの場合、標準的なことは、クライアントがブロードキャストパケットを送信してサーバーを検出することです。(クライアントはブロードキャストを送信し、サーバーはクライアントに直接応答を送信します)
一般に、クライアントは約1秒ごとに3〜5つのブロードキャストメッセージを送信し、その時間内に応答がなければサーバーがないと判断します。複数のパケットを送信すると、サービスディスカバリーのパケット損失耐性が少し高くなります(ただし、LANではあまり一般的ではありません)。
LANのパフォーマンスを低下させる(または接続試行をずらした場合、かなり時間がかかる)ため、(私の知る限り)オプション2を実行する人はいません。
しかし、ブロードキャストがローカルLANによってフィルタリングされるケースに対応するため(これは非常に珍しいことですが、前代未聞ではありません)、ほとんどのゲームでは、プレイヤーが接続するIPアドレスを直接入力できます。これにより、この種の状況のプレイヤーは、自動的に見つけるためにブロードキャストできない場合でも、既知のサーバーに接続できます。
インターネット経由のゲームの場合、クライアントは静的なメタサーバーに直接リクエストを送信します。このサーバーは、既知の現在のサーバーインスタンスのアドレスで応答します。同様に、サーバーは、そのメタサーバーに連絡して自分の場所を通知し、クライアントをサーバーに誘導できるようにします。ただし、NATの複雑さにより、このアプローチは通常、LAN内でホストされているサーバーでは機能しません。これが、この種のアプローチがLANゲームに通常使用されない理由です。
補足事項:インターネットゲームでは、最初にポイントサーバーに接続するのが一般的です。ポイントサーバーは、メタサーバーを見つけることができるアドレスをゲームに伝えます。これにより、サーバーがどこにあるかがわかります。ポイントサーバーは、多くの場合(常にではありませんが)単純なWebサーバーとして実装され、ゲームにハードコーディングされたアドレスを持つこのシステムの唯一の部分です。これにより、ゲーム開発者は、ポイントサーバーから返されたアドレスを更新するだけで、必要に応じて、あるマシンから別のマシンにメタサーバーを移動できます。また、サーバーの負荷または地理的近接度に基づいてポイントサーバーにユーザーを異なるメタサーバーに送信させることにより、単純な形式のロードバランシングまたはリージョンスイッチングを実装することもできます。