[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
この機能を使うにはJavaScriptを有効にしてください
|
RUINATERRA開発スレッド
117
:
kazuki@Abars
:2005/05/03(火) 20:37:41 ID:8SoZSq6k
>>3037
最終版ソース、了解です。
ただ、今週はホテルなので、
アップロードは日曜ぐらいになりそうです。
WAIT関係の変数って、どのあたりにありますかね?
DirectPlayの関数には設定がないかな、っと思ったのですが。。。
後、現在、アイテムデータを含め、
ver1.35と改造ver1.35が共存してしまっていて、
このままでオンラインプレイをすれば通信がかみあわずバグってしまいます。
ですので、今後、
アイテムデータとともにexeも配布し、
exeのver番号として1.50以降を使う、
という事も検討するべきかな、っと思います。
>>サーバになる方法
後、TCP/IPを実装してて、
ルータ下のパソコンがサーバになれない理由が判りました。
そもそも、グローバルIPが一つで、複数のパソコンがネットをするというのは、
本来できない事です。
グローバルIPというのはパソコンを識別する一意の番号であり、
グローバルIPはルータが持っているので、
ほかのPCがそのグローバルIPにパケットを送ったとしても、
ルータまではデータが届くのですが、
そのデータが、ルータ下のどのPC宛てのものか判らず、パケットは破棄されてしまいます。
では、どうやってネットを共有しているのかというとIPマスカレードという技術を使っています。
ローカルをPC1,PC2とすると、PC1がポート80番でサーバに接続しようと考え、パケットを送ります。
ルータはパケットを受け取ると、パケットを書き換え、
ポート80という数字を使っていない適当なポート番号に変換します。
そしてネットワークに送り出します。
例えば100番に変換したとします。
そうすれば、サーバは100番に要求データを送り返してきます。
そして、ルータは100番という番号を80番に戻し、PC1に送ります。
ここで、PC2もポート80番で通信しようとすれば、
番号は101番に変換され、PC1へのデータは100番、PC2へのデータは101番と、
ポート番号で判断できます。
ところが、PC1がサーバになろうとした場合、
1000番で待ち受けるよ!と宣言するのですが、
外からは、実際はルータに変換されたx番という番号に接続しなければ、
PC1のパソコンにパケットが届かないのです。
しかし外のパソコンは1000番で届くはず!
っと思ってしまっているので、1000番に接続にいき、
そしてパケットはPC1に届かず、ルームに入れないというわけです。
解決策は二つありまして、まずNAT。
これは、例えば1000番はPC1が独占的に使うよ!
というもので、それによって、外から接続ができるようになります。
DirectPlayで使用する以下のポートを、
NATで自分のPCにつないでください。
静的マスカレードで検索すれば、やり方は出てくると思います。
47624 tcp 対戦サーバの待ち受けポート
2300-2400 tcp ゲームの動作状態に依存する
2300-2400 udp ゲームの動作状態に依存する
12346 ルイナが使うポート
もう一つは、skypeがやっている裏技的な方法で、
外に一つサーバを持っておき、使うポート番号でそこに接続させます。
そうすれば、1000番等というポート番号に対応した、
ルータが設定したx番というポート番号がわかりますので、
それをPC1に接続したいPC3に伝え、PC3にx番に接続にいかせるのです。
ただ、DirectPlayではDirectPlayが使うポートを変更できないため、
仮想LANカードをプログラミングするといった事をしないといけないので、
なかなか厳しいです。
一般のTCP/IPで書かれたプログラム用ですね。
以上の事から、MMOは遊べるのにルイナは遊べない、という事が説明できます。
MMOの場合、自分から接続しにいくので、サーバはルータによって変換された番号にデータを返してくれるが、
ルイナの場合、待ち受けているポートが判らないので接続できない、
という感じです。
という事でNATを使ってサーバになるよう、お願いします。
つながらない、という問題の原因は、何も設定してない事ではないかな、っと思います。
長文になりましたがこのへんで。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板