zillionプロジェクト開発ブログ サーバー関係のお話 忍者ブログ

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OEのサーバーに関して、どうするのかと言う話をメールで聞かれました。

とりあえずはβ版の間は、サーバーはユーザーが設置することになります。
そのあとはこちら側で、準備してもいいかと思いますが、サーバーの設置と言うものは多大な元手が必要なわけで、厳しい面もあるかと思います。
ここで、問題になるのは、既存の普通のサーバーではダメな点です。
サイト上での、新規登録など、によって作成され、データベースにそのまま、PHPやCGIで書きこむと、SQLでファンクションが書いてあるので、ゲームサーバーのデータベースにコピーされる仕組みなのですが、このサイトとDBはおそらく、そこら辺のMySQL,PHP5が使えるレンタルサーバーでも大丈夫です。
(ただし、データベースの作成権が必須なので、おそらく無償のレンタルサーバーでは利用できません。)

ゲーム用のサーバーは、完全に常駐型、及び決められたのポートマッピングが必要なために、この条件に適応できるレンタルサーバーはほぼありえないでしょう。
それに、同一サーバーでも構いませんが、クラスタを構築してその上のゲーム動作となりますので、単一サーバーでは、負荷が重い可能性もあるのです。
また、MySQLのセットアップ、これも必須ですので、初心者には厳しい?面がβ版の間は出てきます。

MySQLなどをインストーラーに組み込めるのなら組み込むことも考えたいですが、おそらくは、著作権などの観点から厳しいでしょう。
ポートマッピングについては、今、ほとんどの家庭で、ルーターが入っているので、ルーターに応じたポート解放が必要となり、これは、プログラム上からやるのはほぼ不可能です。
リファレンスに、有名どころのルーターのポート解放方法は乗せておこうとは思いますが・・・

なお、エディター側で、テスト的にサーバーと同期させるものを作ってみようかと思います。
OE内で作成する通信処理の9割5分は、ランタイムからサーバーもしくは、サーバーからランタイムになります。
その中でももっと大変だと言える点は、アカウント認証、チャットはTCP、それ以外はUDPで作るべきだという点です。

TCPで、キャラの歩行や、銃の発射したというイベントを送っていれば、確実にクライアントか、サーバーがついていくことができません。
UDPを使う、だけど確実に情報を相手に届ける、これも、また問題なのです。

今現在、ファイルフォーマットの決定について悩んでいる最中に、パケットの中身についても検討する必要性があります。

エディター側で、ユーザーがパケットを定義できるようにもしなければなりません。
パケット通信のアルゴリズムも、サーバー内では、Naggleアルゴリズムを利用して通信、クライアントと、サーバー間は、対話式の通信をさせるためには、MTU(最大通信単位)を考えた上で、パケットの通信単位を決めなければなりません。
パケットには、パケット長、パケットヘッダ、データ、エンドマーカーの順番で送られます。
パケットの最大長、1500オクテットから、データ以外の部分(5,60オクテットぐらいって仮定)を差し引いて、1450オクテット分のデータ容量を確保します。
1450オクテットってどのくらいなんだろうか・・・
自分でも言ってて考えがつかない
そこで調べてみた。
1450オクテット=(ほとんどのコンピューターでは)1450バイト=(文字コードがShift_JISだと仮定すると)半角カナなら、1450文字、全角なら、725文字。
パケット内はすべてテキストデータと言う場合ですが、1パケットで大体のデータは送れるようになるという事がわかります。
ほとんどの場合、1パケット1変数と言うわけではないですが・・・

データベースの中身、パケットの中身、ファイルフォーマット、決めなければいけないことが多くて作業が進みにくいです。

とりあえずは作業頑張ります。








拍手[2回]

PR

◎ Post your Comment
Name
Title
E-mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
◎ この記事へのトラックバック
Trackback URL
◎ カウンター
◎ カレンダー
04 2017/05 06
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
◎ 最新CM
[10/24 名無しの権兵衛]
[08/30 名無しの権兵衛]
[08/14 no name no future]
[08/05 ゲームサークルEaSt]
[07/28 リオウ]
◎ プロフィール
HN:
kyasbal
年齢:
22
性別:
男性
誕生日:
1994/09/22
職業:
人間
趣味:
趣味ねぇ~~う~ん・・・
◎ ブログ内検索
◎ バーコード
◎ アクセス解析
◎ フリーエリア
◎ フリーエリア
Script: Ninja Blog 
Design by: タイムカプセル
忍者ブログ 
[PR]