トップページgamedev
51コメント19KB

自動アップデーター作ろうぜ

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/09/12(月) 23:12:38ID:2tYoBBto
今やMMOならどれも実装されている自動アップデータプログラム。
(オートパッチプログラムとか起動パッチメニューとか言われてる)

そんな起動前に自動で更新してくれるプログラムを作ろう!
MMOを作ってる人は居るけど更新は手動が多い。

作るとしたらパッチプログラムでパッチ終了後にゲーム起動型の方が楽かな?
(主にRagnarokとかに見られる形式)

告知はhttp形式表示までは出来た。
FTPでパッチファイルをDLするのでそこを今作っているところ。
言語はC言語。

流れで言うと、ローカルファイルのCRCチェックなどをする。⇒Verとか違えばパッチDL
DLしたパッチを解凍しながらパッチ作業?
全部解凍終わったりしたらゲーム開始ボタンに切り替えてゲームを開始できるようにする。
その際、ゲームにはコマンドライン起動でコマンドラインが正しくないと起動しなくしておく。

Ragnarokのようなアップデートプログラムって構造どうなってるんだろう?
0016名前は開発中のものです。2005/09/17(土) 11:29:18ID:Thf71zGo
あげ
0017911 ◆RfGLxICaUo 2005/09/18(日) 05:07:03ID:TeKse9sl
>>15
アップデータもやろうと思えば出来ると思います。
本体が起動したらアップデータが起動できないようにして、本体からアップデートする選択肢をつけるとか?
そうすれば基本的には別々なので可能かなと。(もちろんロビーのみの選択肢です。)

結局、同人で作ることにしたので・・・1から作り直すことにしました。orz
自動アップデート部分を設計してるのでこの話題をしたいなと。
0018名前は開発中のものです。2005/09/18(日) 06:18:16ID:G/vO4KGr
そもそも一番最初にゲームを起動したときに起動するプログラムを
ゲーム本体ではなくあっぷでーと確認プログラムにして、
アップデートファイルを取ってきたらプログラムディレクトリにコピーすればよいだけなんじゃないかなと。
0019名前は開発中のものです。2005/09/18(日) 11:42:50ID:2yuZpHPm
完成したら凄そうだし、ライセンス次第でうちのゲームにも使わせて欲しいけど、
本当に完成するのかな。
0020名前は開発中のものです。2005/09/22(木) 21:44:25ID:zqPjLJHl
FTPってファイアウォールどうすんの?
アクチブモードとかいうので通れるんだっけ?
0021名前は開発中のものです。2005/09/22(木) 21:50:31ID:wCHVkPoZ
パッシブモード?
0022名前は開発中のものです。2005/09/22(木) 22:35:35ID:zqPjLJHl
1.ファイル毎にリソースIDを振る
2.パッチIDのみ書いたファイルと、リソースIDと最新更新情報をリストしたファイルを用意
3.鯖側はダウンロードファイルを用意する
  また、パッチIDの差が1のみの時用に差分をZIPファイルで用意し
  ZIPファイルに入っているリソースIDを記した更新情報ファイルを用意する
4.クライアントはパッチ更新ファイルを起動プログラムをして起動する
5.パッチ鯖に接続し、パッチIDを送信する
6.パッチ鯖の返答が同値ならそのままゲーム起動
  差が1なら項番8へ
  差が2以上なら更新情報ファイルをダウンロード
7.更新情報ファイル内のIDを除外したリソースIDと最終更新時刻をパッチ鯖に渡す
8.最終更新時刻が同値でないリソースIDに対応するファイルをダウンロードする
9.ZIPファイルをダウンロードし、展開する
10.クライアントのパッチIDを更新し、リソースIDが追加されていれば追加する
11.ゲーム起動

面倒ならZIPの部分ははしょっちゃばいい
0023名前は開発中のものです。2005/09/23(金) 12:31:28ID:kEwJUHct
パッチの差が1の差分とかいらんくね?
細かい差分とか個人で用意するのも面倒。

1.ローカルの更新日付以降にアップされているファイルをダウンロード
2.展開して上書き
3.本体起動

これだけでいいと思うんだが。
あとFTPで話がすすんでるけど、ホームページにパッチ置いときたいんで
普通にサイトから落とすようにもしてもらったがいい。
0024名前は開発中のものです。2005/09/23(金) 12:49:43ID:jRirPaSl
ファイル改変されてたときにも落としたほうがいいと思う。
更新日じゃ信用ならん。
起動時にCRCとかMD5とか取って一致しなかったら落とすとか。
1.鯖からファイルリスト落とす。
2.ローカルファイルとファイルリストに記入されたCRC32が一致しなかったら落とす。
 ファイルリストに記入されているがローカルに無いファイルを落とす。
3.本体起動

で作ってたけどマンドクセ('A`)
0025名前は開発中のものです。2005/09/24(土) 09:53:59ID:TvJSD4bz
 
0026232005/09/24(土) 13:45:29ID:i80XHvVQ
http://venus.aez.jp/uploda/index.php?dlpas_id=19029
pass 23

頼んでばかりじゃあれなので、突貫工事で作ってみた。
http専用。

1.鯖からファイルリストと告知事項落とす
2.ローカルファイルとファイルリストのZIPナンバーを比較して落とし何も考えずに展開
3.本体起動

スレッド処理してないんで、表示やばい。
どうせ使わないならと手抜きで、ZIPファイルの日付が展開した時になる(ぉ
動作するだけってことで。
0027名前は開発中のものです。2005/09/24(土) 15:28:14ID:dLO983Mz
0028名前は開発中のものです。2005/09/28(水) 22:29:37ID:EXqoT11E
興味湧いたので自分も作ってみた。
ttp://zeroichi.syuriken.jp/aupd005.zip
昔作ったSHA1求めるやつがあったのでそいつを使いまわした。
書庫はCAB形式。ただ cab32.dll が必要。
いまのところ使えるのは http のみ。

告知事項はテキストだけっつーのも味気ないから
ブラウザコントロールはっつけて告知ページにアクセスする
ようにしてみたんだが…
0029名前は開発中のものです。2005/09/28(水) 23:59:54ID:E1/et2ez
0030名前は開発中のものです。2005/09/29(木) 09:49:15ID:SjnGysTe
GEのCβについてきたiniのサイトに汎用のアップデータのソース転がってるよ。
0031名前は開発中のものです。2005/09/29(木) 19:56:40ID:StMbKT2E
Orz
0032名前は開発中のものです。2005/09/29(木) 21:59:15ID:CW4jBWvN
>>30
どこどこ?
0033名前は開発中のものです。2005/10/01(土) 08:50:43ID:Su1Az0K9
>>32
ttp://www.granadoespada.jp/
ココなんじゃねぇヵ?
0034名前は開発中のものです。2005/10/06(木) 10:33:06ID:/780ejYi
物が出たら一気にさびれたな。
0035名前は開発中のものです。2005/10/06(木) 20:51:50ID:O5CpwYsb
ソースがないといやん
0036名前は開発中のものです。2005/10/08(土) 20:50:53ID:I9q+sPaT
ソース出せよソース。ソース出さないやつは池沼。
誰でも作れるぐらいのプログラムなんだから、出し惜しみするほどのものでもないだろうが。
0037名前は開発中のものです。2005/10/08(土) 21:21:21ID:RUPqj3Wa
誰でも作れるなら自分で作ればよい。
0038名前は開発中のものです。2005/10/10(月) 23:19:23ID:7N4wCogo
>>36
煽りはともかくスルーして、マジでソースだしてください
もしくはどうやったら作れるか教えてください。
まず、HTTPにアクセスするところからわかりません。
0039名前は開発中のものです。2005/10/11(火) 08:43:45ID:K0fdjEru
>38
まずは
猫でもわかるプログラミングを隅から隅まで読んでみよう!
それで、とっかかりが掴めたらぐぐれ
そして試せ
0040名前は開発中のものです。2005/10/12(水) 12:00:51ID:XiMKQK4t
ソース出せとかいうやつ居るけど、漏れはソースなんか見たってわからんので
使えるものをアップしてくれた方が簡単でうれしい。
完璧に使いやすいのを作って、さっさとうぷ汁。
0041名前は開発中のものです。2005/10/13(木) 00:35:27ID:e/av792N
なぜ製作板にいるのか謎な人物出現
0042282005/10/14(金) 08:38:37ID:d7TYFQto
ソースうp
ttp://zeroichi.syuriken.jp/upd05src.zip
VS .NET 2003 形式。
0043名前は開発中のものです。2005/10/15(土) 14:30:36ID:0MdKwTnO
>>42
神乙!
0044名前は開発中のものです。2005/10/16(日) 18:52:51ID:H6H6ejRW
>>38
つ[ヒント]:wininet
0045名前は開発中のものです。2005/10/18(火) 14:39:04ID:OumtTeWk
http://www.vector.co.jp/soft/win95/prog/se211829.html
0046名前は開発中のものです。2005/12/29(木) 12:39:42ID:6k4nWYPU
ほっしゅほっしゅ
0047名前は開発中のものです。2006/02/16(木) 17:44:20ID:Kz1PweCq
>>42
神!
マジ助かったよ。

tora3とかautoUpdaterとかは試してみたんだけど、圧縮無かったり
createrなかったりで躊躇してたとこだった。

ソース改造して、Basic認証対応バージョン作ってみたけど欲しい香具師いる?
作者に引き取ってもらうのが一番いいんだけどね。

0048名前は開発中のものです。2006/08/18(金) 19:41:57ID:4aiLuwl0
age
0049名前は開発中のものです。2006/09/19(火) 01:18:51ID:YIF8z6EM
1ヶ月間書き込みなしか
0050名前は開発中のものです。2006/09/23(土) 00:09:58ID:wIBfzwYV
俺もそのうちDelphiで参戦してよい?
オプーンソースで(NYSLで)
0051名前は開発中のものです。2006/09/26(火) 18:52:18ID:iafxPtyB
すきにしろ
■ このスレッドは過去ログ倉庫に格納されています