4.1.2 Server メッセージ

   Command: SERVER
Parameters: <servername> <hopcount> <token> <info>

SERVER コマンドは、新しいサーバを登録するために使用されます。新しい接続は、その相手に対して自分自身をサーバとして紹介します。このメッセージは、サーバのデータをネット全体に渡すためにも使われます。新しいサーバがネットに接続されると、そのサーバに関する情報はネットワーク全体にブロードキャストされなければなりません。

<info> パラメータには空白文字が含まれることがあります。

<hopcount>は、各サーバがどの程度離れているかという内部情報を全サーバに与えるために使用されます。ローカルピアの値は 0 で、渡されたサーバごとに値が増加します。完全なサーバリストがあれば、サーバツリー全体のマップを作成することが可能ですが、ホストマスクがこれを阻んでいます。

<token> パラメータは、サーバが識別子として使用する符号なし数字です。この識別子は、その後サーバ間で送信される NICK および SERVICE メッセージでサーバを参照するために使用されます。サーバトークンは、使用されるポイントツーポイントピアリングでのみ意味を持ち、その接続で一意でなければなりません。これらはグローバルではありません。

SERVER メッセージは、(a) まだ登録されておらず、サーバとして登録しようとしている接続、または (b) 他のサーバへの既存の接続、この場合、SERVER メッセージはそのサーバの後ろに新しいサーバを紹介している、のいずれかからのみ受け入れられなければなりません。

SERVER コマンドを受信した際に発生するエラーの多くは、宛先ホスト(ターゲットサーバ)によって接続が切断されることになります。このような事象は重大であるため、エラーの返答は通常、数値ではなく "ERROR" コマンドを使用して送信されます。

SERVER メッセージが解析され、それが受信サーバにすでに知られているサーバを紹介しようとした場合、サーバへの重複したルートが形成され、IRC ツリーの非周期性が壊れるため、そのメッセージが到着した接続は(正しい手順で)閉じられなければなりません。条件によっては、すでに知られているサーバが登録されている接続を代わりに閉じてもかまいません。この種のエラーは、2番目に稼働しているサーバの問題である可能性もあり、プロトコル内で修正することはできず、通常は人間の介入を必要とすることに注意する必要があります。この種の問題は、IRC ネットワークの一部が簡単に孤立してしまい、それぞれのパーティションに接続されている2台のサーバのうち1台が、2つのパーティションを結合することができなくなるため、特に陰湿なものとなっています。

数値返信:

        ERR_ALREADYREGISTRED

例:

SERVER test.oulu.fi 1 1 :Experimental server
    ; 新しいサーバ test.oulu.fi が自己紹介し、登録を試みています。

:tolsun.oulu.fi SERVER csd.bu.edu 5 34 :BU Central Server
    ; サーバ tolsun.oulu.fi は、5ホップ離れている csd.bu.edu へのアップリンクです。
      トークン "34" は、csd.bu.edu に接続する新しいユーザやサービスを紹介する際に、tolsun.ulu.fi によって使用されます。