自動アップデーター作ろうぜ
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/09/12(月) 23:12:38ID:2tYoBBto(オートパッチプログラムとか起動パッチメニューとか言われてる)
そんな起動前に自動で更新してくれるプログラムを作ろう!
MMOを作ってる人は居るけど更新は手動が多い。
作るとしたらパッチプログラムでパッチ終了後にゲーム起動型の方が楽かな?
(主にRagnarokとかに見られる形式)
告知はhttp形式表示までは出来た。
FTPでパッチファイルをDLするのでそこを今作っているところ。
言語はC言語。
流れで言うと、ローカルファイルのCRCチェックなどをする。⇒Verとか違えばパッチDL
DLしたパッチを解凍しながらパッチ作業?
全部解凍終わったりしたらゲーム開始ボタンに切り替えてゲームを開始できるようにする。
その際、ゲームにはコマンドライン起動でコマンドラインが正しくないと起動しなくしておく。
Ragnarokのようなアップデートプログラムって構造どうなってるんだろう?
0002名前は開発中のものです。
2005/09/12(月) 23:33:16ID:gZtM/H0a0003名前は開発中のものです。
2005/09/12(月) 23:49:05ID:ZDp1Jnu4delphiでMMO
http://pc8.2ch.net/test/read.cgi/gamedev/1072515100/l50
MMORPGをHSPで作りたいな
http://pc8.2ch.net/test/read.cgi/gamedev/1084241527/l50
【フリー】Vista(ぉ)【mmo】
http://pc8.2ch.net/test/read.cgi/gamedev/1125872241/l50
【】 舞台が現代のMMO 【】
http://pc8.2ch.net/test/read.cgi/gamedev/1121598587/l50
MMOのサーバ(ハード)の構成ってどうなってるの?
http://pc8.2ch.net/test/read.cgi/gamedev/1030001678/l50
純和風MMOを作ろう
http://pc8.2ch.net/test/read.cgi/gamedev/1123562197/l50
0004Z
2005/09/12(月) 23:59:44ID:c9ru9cEqつくったらどっかにうpしてくり
でわ健闘を祈る。
ちなみにラグナロクやった事ないからわからんが何か特殊な事でもあるのか?
大抵のやつは二段階でゲーム起動して最初のほうでバージョン確認して自動更新、だと思うが。
0005名前は開発中のものです。
2005/09/13(火) 00:18:00ID:rrrfvQau広告のクリック率UPのために。
欠点は、Vectorの順位があがらんことだな。
0006名前は開発中のものです。
2005/09/13(火) 01:42:10ID:z0QszSE5環境依存のバグとかで困っちゃう人が続出するんだろうな。
0007名前は開発中のものです。
2005/09/13(火) 01:55:47ID:uQvWlZ47subversion(またはCVS)を利用してバージョン管理しつつアップデートするなんてのは無理なんだろうか?
サーバー側にあるファイルのバージョンとローカルにあるバージョンの整合性なんてのは
全てSubversionクライアントにお任せにしておいて、ゲーム用のフロントエンドさえ作れば
それでほぼ作業は終了するんじゃないかと思うけど。。。(自信なし)
こういう、自動アップデート用にバージョン管理ソフトを活用するのって前例ないのかな?
0008911 ◆RfGLxICaUo
2005/09/13(火) 02:59:58ID:ul4COW/u要はMD5などの構造ハッシュで確認していけばよいと思います。
(リスト作ればなお確実だと思います。)
0009911 ◆RfGLxICaUo
2005/09/13(火) 03:11:11ID:ul4COW/u自分が試みている方法としては・・・
1.Ver管理鯖の接続・比較・判定。
2.合っていない物をキャッシュには残す。そして正常なものをダウンロード。
3.完了したらキャッシュ消す。そして1へ。(繰り返す)
4.ファイルの整合性を判断する。
5.Ver管理鯖の切断。ゲーム起動へ。
ver判断できないものやユーザーが足したものは除外する。
そのためにリストは必須となるかもです。
0010名前は開発中のものです。
2005/09/13(火) 10:49:58ID:Qr5OicnFhttp鯖
告知情報のテキストファイル
ファイルリスト。番号/ファイル名みたいなリストが一行ずつ入ってる。
自分が当てた番号より上の番号のファイル名を落とす為に使ってるっぽ。
FTP鯖
番号のファイル名をぎっしりと置いてる。ここからDLするっぽ。
告知情報とファイルリストをhttpから取得したら
番号が正しいかチェック。大きい番号があればそこから1つずつDLしていく。
全部のDLが終わった時点で暗号化されてるファイルの解凍作業。
解凍して更新して〜終わったらゲーム開始ボタンに切り替え。
リストの番号を保存する設定ファイルを何処かに置いておけば良いかも。
漏れも自動アップデータには興味あるんで協力するぽ!
0011名前は開発中のものです。
2005/09/13(火) 14:18:40ID:C7EEi57nFTPたてられないとこもあるんで。
0012名前は開発中のものです。
2005/09/13(火) 14:59:31ID:Qr5OicnF告知情報を全部txtで一旦ローカルに保存してそれを読み込み表示してる。
とりあえずhttp鯖のtxtをローカル保存して告知EDITに出させるまで出来たところ。
意外とここまでは簡単だった。CreateWindowでダイアログ置いてるから遅いのが難点。
MFCとかできちんと作ったほうが良いのだろうか?MFCで作ってる人のサンプルが欲しい。
リスト読み込みもローカル保存して読み込む形で作れば良いので問題は無いんだけど
圧縮したパッチをDLして解凍してパッチを当てる作業を作るのが困難な気がする。
>>9の言う通りキャッシュ方式でやったほうが良いのだろうかorz
案外難しく思えてきた。
0013名前は開発中のものです。
2005/09/13(火) 22:07:08ID:Qr5OicnFttp://www.uploda.net/cgi/uploader1/index.php?dlpas_id=0000028635
DLパス autopatch
Ragnarokっぽく告知情報表示。ダイアログベースでやってみた。
0014名前は開発中のものです。
2005/09/13(火) 23:03:29ID:C7EEi57n0015名前は開発中のものです。
2005/09/14(水) 21:15:28ID:1Ek5TWZcこれらは分離しておくんだよな?
1.管理プログラムはアップデーターを起動して終了
2.アプデーターがパッチを確認
3.更新があればDLして本体やデータを上書き
4.更新が無ければ管理プログラムに状態を通知しつつ(引数で渡す?)自分は終了
5.管理プログラムは本体を実行して終了
みたいな構造の方が色々都合よいような。
ただし、アプデタ自体のパッチは無理。
仮にアップデート鯖が移転したらその時はアプデタ自体を手動でDLしてもらうとか。
■ このスレッドは過去ログ倉庫に格納されています