2010年03月28日
製品アップデートサーバ
ある計画を進めていて、今まではあまり考えていなかったのですが、自動アップデートはどうしても必要だろうと考えて、自作で構築しました。
http 関連の制作は初めてなので、例によってウキウキしながら始めたのですが、原因不明の403に悩まされました。
(それとサーバに拒否されたときの処理ね。うまく行くことしか考えてなかったので)
ディレクトリサービスのプロバイダがゲーム関連のアクセスを嫌っていて、一時間か二時間おきにしか通してくれないのです。
しばらく状態を観察して諦め、他のを探しました。
外部のCGIサービスが必要な理由は、SLのオブジェクトが貰うURLはシムがリスタートすると置き換わってしまうので、製品側に固定の行き先を書き込めないからですね。外部のCGIにSLのupdate serverのURLを問い合わせに行くのです。
アップデート製品自体はSLのオブジェクトからしか送れません。(ごくごく簡易なxstreetのMagicBox「のようなもの」を作っているのだと思ったけど、外販できるほどの作り込みはしてません)
で、基本的な通信ができるようになってからじっくり考えると、updateリクエストのトリガーを何にするかということが問題になりました。
装着物ならアバタのオンラインがトリガーですが、設置したまま放っておくものだとタイマーになります。タイマーが掛かったときにアバタがオンラインでない場合、特に普段インしない時間に設置してたりすると、ずーとトリガーが掛からないことになるので、一定時間後に繰り返す操作が必要になります。
製品アップデートはすぐに知らせたいけど、そんなに頻繁だと負担だから一日一回かな。思い出したように無言でサーバに確認して、なかったら無言で翌日を待つのがいいかと。
(武器とか頻繁にアップデートがありそうなものは、にぎやかに問い合わせ状況をユーザに聞かせるのがいいのかも)
Posted by あたみ at 13:33│Comments(0)
│スクリプト