2008-10-02

PS3 COD4 のポート開放について調べてみた

COD4でのネット対戦については一旦満足したものの、なぜか通信が調子悪い時がある。
プレイヤー一覧が出るときにアンテナ強度みたいなのがでるよね。あれが4本たってることが多いんだけどたまーにやっぱり2本とかになってしまう。

なぜだ。ググってポート3074,3075,3095は開放してある。
ほんとに開放されてんのか?
調べようではないか。新しく手に入れたNetScreenはsyslogで詳細な通信ログが取れるのだ。
活用しない手はない。

で、調べてみた。わかったこと:
1) 3074 中から外へTCPしてる。そのデストポート
2) 3075 外から中へUDPしてる。ただしソースポート
3) 3095 使ってなさそう
追加4)いざ対戦を開始してみるとUDP:3074に接続しにきてた。これは開放の必要あり。

がーん。ググって出てきた情報どれもこれも違ってんじゃん。
1)は中から外だからポート開放とは関係なく許可済み。
3)はひととおり対戦してみたけど使う気配なし。
問題の2)が開放すべきポートの情報なんだけど、外側のソースポートが3075固定で、内側のデスティネーションポートは2216, 2951, 1450, 1594, 1636, 1666, 1718, 1731, .....とどうもランダムぽい。
4)は開放の必要あり。

1)2)は最初にCOD4をオンラインにした時に通信が発生しているので、多分これを開放しないとホストになれないのじゃないかと思う。ここでポート情報とかをマッチングサーバに登録するんだろな。
3)は保留。無視していいんじゃない?
4)は開放必須ぽい。

ううむ。デストポート側が固定になってくれてないとこれではポート開放の指定ができない。
範囲指定してどばっと開放しようにも持ってるNetScreenはグレード低い安もんだから64個しかポート開放できんのだよ。
困った。
あきらめました。

つうかゲームの開発者よ、開放すべきポートは固定にしてくれよ。あほか。
ソースポート側固定したって意味ねーんだよ。

ちなみに、PS3標準のP2P用ポートはUDP:3658で間違いなさそう。
トロステーションでちゃんとネット対戦できた。
その他のポートを開く必要はない。
そう、こういうふうに開くべきポートを固定にしてくれればいいんだよ。やればできるだろう。


PS3でCOD4ネット対戦やろうという人のためのまとめ:
1)開放するべきポートはUDP:3074。さらにこれ以外のランダムなポートで接続しにきます。
2)UDP:1024-49151まで広い範囲をすべてPS3に転送しましょう。お使いのルータがそうできるなら。(49152-65535の範囲は動的ポートで予約されてるので多分開く必要ないです。)
3)それができないルータはもうあきらめてPS3をDMZに置くかUPnP対応ルータ使うかしかない。
4)ポート開放しなくても対戦は一応できる。快適さは入った部屋しだい。たぶんホストにはなれない。フレンド呼んで対戦とかができないのだと思います。

0 件のコメント: