サーバー設定
ルーターやファイアーウォールを使用している場合に
適切な設定を行わないとサーバー待機しても外部から接続できない。
通常は上の図のようにインターネットに繋がっている。
外部から接続する場合、インターネット → ルーター → 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?- ポート開放の概要