巨乳巫女痴漢電車製作日記その26 自動アップデート機能

販売後もアップデートをかなり頻繁に行う予定なのですが、当然の悩みとしてアップデートプログラムの配信方法に悩みます。

やり方は色々あるけれど

  1. 実行ファイルごと配信する
  2. パッチを作成して配布する
  3. アップデートプログラムによる配信

こんな感じで結構思いつくのですが、やっぱり手動で更新はしんどいですよね。

ましてや、1日3回とかアップデート掛けたらユーザはいつダウンロードして良いのか分かりませんよね。そこで、自動更新が出来ないかと思案していました。

更新チェックと自動アップデートの実装

作業がてら、何かいい方法無いかなぁと探していたのですが、Assetsストアで興味深いAssetsを見つけました。

Clement’s App Updater

アップデートサーバの構築方法と試験コードが入って$4.99…安いのか高いのか分かりませんね!wまあでも、私の用途にばっちりですね。購入しましたw

これで皆様が常に最新版のゲームを楽しめますね!パチパチ👏👏👏👏

開発者向け: Clement’s App Updaterの実装について

簡単なドキュメントが付いていますので見ながらやれば出来ますが、英語なので敷居が高いよ…っていう方向けです。

やり方

事前準備

サーバーを用意しよう

Apacheで動くサーバーを用意して下さい。WEBからアクセス出来ればHeroku とか無料のレンタルサーバー、私も使っている最強の鯖

エックスサーバーなら間違いありません!!



WebServerファルダの中身をサーバーにコピーする

WebServer以下のフォルダには、game.exeversion.txtっていうのがデフォルトで入っているかと思います。最初から入っているgame.exeは見本なので、自分の最新版のゲームファイルをサーバーにコピーしましよう。

version.txtは1.0とかで平気です。0.1とかにすると何故かエラー起こすので1.0以上でやりましょう。

sourceフォルダ内にconfig.iniを作成します

以下の用に作成して下さい


[config]
# version
version=1.0
# 実行ファイル名
GameName=Game.exe
# version.txtの絶対パス
LastVersionURL=http://myetic-studio.fr/download/version.txt
# 更新用ファイルの絶対パス
DownloadURL=http://myetic-studio.fr/download/Game.exe

組み込もう

  1. Game.mfaを開いて、貴方のプロジェクトの最初のフレームにぶち込みます。
  2. config.iniupdater.exeをプロジェクトのルートディレクトリに入れます。

起動してみましょう。出来ましたか?エラーが起きている場合、ログとか吐き出さずに止まるのでもう一度手順を見直しましょう。

保守と更新

鯖に新しいexeファイルを入れます。version.txtのverを上げましょう。1.0 → 1.1みたいな感じ。

おまけ

この方式の更新方法だと、体験版ファイルをネットで直接参照出来る形で晒すことになります。config.iniにURLもわざわざ書いてしまっているので、モロバレですよね。

それはちょっと…って言う人向けに、BASIC認証を使ったパスワードの設定とCF2.5側での認証対応しませんか?1)Digest認証でも行けました!

.htpasswdの作成

こちらで作成しましょう。

.htaccessの設定

こちらの記事を参考に書いてみて下さい。

# AuthUserfileはフルパスで。herokuだと/app/...から始まるよ!
AuthUserfile /app/files/updates/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

これを更新用ファイルと同じディレクトリに配置しましょう。勿論ですが、.htaccessを有効にしていないと出来ません。

試しにファイルにアクセスしてみて、パスワード認証が出来たら成功です。

500エラーが起きる場合

サーバー側のパーミッション権限が原因だと思います(多分)ので、.htaccess, .htpasswd604、配布したい各種ファイルは744とかに変更してみましょう。

CF2.5側の対応

game.mfaupdater.mfaを開いて、get objectのアクション欄で右クリックしてset user, set passwordで先程設定したユーザ名とパスワードを入力しましょう。終わり~!

トラブルシューティング

ふえぇ…パーミッションとか色々確認したけど動かないよぉ…

SSL環境下で動かしていませんか?https://…で始まるアドレスだと、色々制約があって上手く動きません。

他、なんかあったら追記していきます。

CF2.5 is very nice software!!!!

見出しの通りTwiiterでCF2.5の開発元にラブコール送ったらThank you!!って返事が来ました。こんな感じで開発と凄く近い距離で応援出来るCF2.5で皆さんもゲーム制作しましょう!

これからも沢山CF2.5に関するドキュメント書くので見に来て下さい!

CF2.5
CF2.5 html5 エクスポーター

エロゲ作ってもOKよ!

脚注   [ + ]

1. Digest認証でも行けました!

コメントを残す

メールアドレスが公開されることはありません。