サーバー設定

ルーターやファイアーウォールを使用している場合に
適切な設定を行わないとサーバー待機しても外部から接続できない。

  
通常は上の図のようにインターネットに繋がっている。

外部から接続する場合、インターネット → ルーター → PCという流れになる。
しかし、適切な設定がしていないとルーターはどのPCに繋げば良いのかわからないために接続できない。

また、ルーターの設定によってはセキュリティー問題のために
特定ポートの通信を許可していない場合があるので、ゲームに使うポートの通信を許可する必要がある。

最後にPC内部でファイアーウォールや対ウィルスソフトによって通信が遮断される場合がある。
Windows XPではデフォルトでファイアーウォール内蔵だし、
ウィルスバスターなどのアンチウィルスソフトをプリインストールしているPCも多い。
ABCDのデフォルトポートは9801番なので9801番の通信を許可する設定にするか、
ゲームプレイ時は一時的にOFFにれば良い。

ルーターの設定方法
@IP固定にする場合
 外部からルーターの特定ポートへアクセスがあった場合に、特定のプライベートIPのPCへ繋ぐ方法。
 静的NAT(Static NAT)とか、IPマスカレードとか言われることが多い。
 (ものによって使っている単語が異なっているので初心者キラーである。)
AUPnPを使う場合
 UPnP対応ルーターを使っている場合、ルートを直接操作しなくても
 ルーターに待ち受けしているポート番号を登録することが出来る。
 (ルーターのパケットフィルタリング機能の変更はやりかた不明)

IP固定にする場合
 Windows 2000の場合の例
 1.ルーターのIPの確認
   スタートメニューの ファイル名を指定して実行 を開く
   
   
   cmd と指定してコマンドプロンプトを開く
   
   
   ipconfig と入力してIP情報を取得する
   
   IP Address:現在のプライベートIPアドレス
   Default Gateway:ルーターのIPアドレス
   ルーターのIPアドレスは一般的に 192.168.0.1 とか 192.168.1.1 となっていることが多い。
   
 2.PCのプライベートIPを自動取得から固定に変更する
   コントロールパネルから ネットワークとダイアルアップ接続 を選択する。
   
   
   ローカルエリア接続のプロパティを開く
   
   
   インストールされているプロトコル一覧から
   インターネットプロトコル(TCP/IP) のプロパティを開く
   
   
   
   初期状態では IPアドレスを自動的に取得する と
   DNSサーバーのアドレスを自動的に取得する にチェックが入っていると思われるので
   次のIPアドレスを使うにチェックを入れて設定を行う。
   IPアドレス
    固定にするアドレスを入力する。
    他のPCがすでに使っているアドレスとルーターと同じアドレスは使えない。
    DHCPで自動割り振りに使われるIPは避ける方が良いと思う。
   サブネットマスク
    ipconfigでのサブネットマスクと同じ値を入れとけば良い。
   デフォルトゲートウェイと優先DNSサーバー
    ルーターのIPアドレスを入力
   
   入力例 (ルーターのIPが 192.168.0.1 の場合)
    IPアドレス
     192.168.0.101
    サブネットマスク
     255.255.255.0
    デフォルトゲートウェイ&優先DNSサーバー
     192.168.0.1
   
   設定がすんだらOKを押して、確定する。
   確定後にipconfigで正しく設定されたか確認する。
   その後、Googleとか開いてみてインターネットに正常にアクセスできるか確認する。
   
   うまくいけばPC起動時に毎回同じプライベートIPを取得するようになる。
   
 3.ルーターの設定を行う
   大部分のルーターはブラウザからアクセスすることで設定できるようになっている。
   ブラウザで http://192.168.1.1 と入力してアクセスする。
   (192.168.1.1の部分はルーターのアドレス)
   
   ルーターによっては通常のWebとポート番号が異なっている場合がある。
   その場合は http://192.168.1.1:8080 のようにルーターIPのあとに :ポート番号 と入力する。
   
   無事に設定画面が表示されたならユーザー名とパスワードの入力し、ログインする。
   
   パケットフィルタリングの設定
   
   このルーターでは アウトバウンド、インバウンド と呼ばれている。
   上記の図ではすべて許可となっているが、アウトバウンドとインバウンドとともに
   ゲームで使うポート番号の通信を許可とする必要がある。
   よくわからない場合は全部許可にするのもいいかもしれない。
   
   サーバー情報登録
   
   静的NAT(Static NAT)とか、IPマスカレードとか呼ばれるが、このルーターではローカルサーバとなっている。
   プロトコルにTCP、ポート番号にゲームで待ち受けするポート番号(デフォルトでは9801)を入力。
   IPアドレスには固定にした自分のPCのアドレスを入力する。

UPnPを使う方法
  UPnP対応ルーターを使っている人は
  βえんどるふぃん -UPnP対応ルーターをいじくる- で公開されている
  サンプルプログラムでPortを開くことが出来るかもしれません。
  (※自分の環境ではWAN側IPが取得できず、動作しませんでした)
   @サンプルソースのダウンロード から UPnPSample.zip をダウンロード
   A解凍語の Releaseフォルダに存在する UPnPSample.exe を実行
   BLAN側IPアドレスに ipconfig で取得した自分のプライベートIPを入力
    ポート番号にゲームで使うポート番号を入力
    プロトコルにTCPを指定し、ADDボタンで登録
   Cゲームが終了しましたらDeleteボタンで登録を解除
  
  Windows XPを使っている場合は以下の方法でUPnP対応ルーターのポートを開くことが出来ます。(たぶん…)
  
  @UPnP_Regist.vbs という名前のファイルを作成し、以下の内容をコピペする。
  ※9801はゲームで使うポート番号、192.168.1.101が現在の自分のプライベートIP

	Dim mappingPorts
	Set mappingPorts = CreateObject( "HNetCfg.NATUPnP").StaticPortMappingCollection
	'追加
	mappingPorts.Add  9801, "TCP", 9801, "192.168.1.101", TRUE,  "ABCD Server"

  AUPnP_Delete.vbs という名前のファイルを作成し、以下の内容をコピペする。

	Dim mappingPorts
	Set mappingPorts = CreateObject( "HNetCfg.NATUPnP").StaticPortMappingCollection
	'削除
	mappingPorts.Remove  9801, "TCP"

  Bゲーム開始前に UPnP_Regist.vbs を実行してポートの登録を行う。
  Cゲーム終了後に UPnP_Delete.vbs を実行してポートの登録を解除する


参考リンク
 サーバー設定 - ABCD Wiki
 WinMX?- ポート開放の概要