配布用ファイルの作成
SSP2.3.00以降の場合、オーナードロー(右クリックメニュー)から「設定」→「本体設定」の「一般」にある「開発者機能を有効にする」がオンになっていないと、このページで使っている「フォルダを投下してupdates2.dauやnarを作成する機能」が使えませんので注意してください。
ここでは配布用のファイル(アーカイブ)を作成する手順を解説します。
ゴーストに限らず、追加シェル、バルーン、その他の伺か/SSP関連コンテンツのアーカイブ作成をまとめて取り上げています。
ファイル構成の「インストール」のページも合わせてお読みください。
なおこのページでは、「ゴースト(やシェルやバルーン)の作り方」そのものの解説は行いませんので注意してください。
既にその辺りは済んだ段階を前提とした解説となっています。
ファイルの準備
まずはアーカイブに含める内容(ゴーストならそのゴーストを構成するファイル一式)を用意します。
もしベースウェア※にインストールされている内容を直接編集して開発している場合は、それそのものではなくて、その内容を丸ごと別の場所にコピーしたものを配布用のファイルとして用意したうえで以下の作業をするとよいでしょう。
どんなファイルが必要なのかについては、ページ左のメニューの「ファイル構成」のカテゴリーにある、「全体の構成」や、「ゴースト」「シェル」などそれぞれのページを参考に。
install.txt、updates2.dau、developer_options.txtといったファイルについては、このページで追々用意していきますので今は無くて大丈夫です。
それからユーザにとっては不要なファイルを除去しましょう。例えばこんなものです。
- 各種SHIORIなどのセーブデータファイル(初期値の設定に必要等の場合は別)
- 全てのprofileフォルダ(ghost、shell内両方にできる。SSPでは自動除去)
- 開発用ツール(里々に付属のさとりて、れしば等)
- (MATERIAのみ)ディレクトリ直下のprofile.txt
- desktop.iniなどのウィンドウズが生成する設定ファイル(SSPではある程度自動除去)
- その他開発用辞書ファイル、設定ファイル、ログファイルなど
SSPの場合、developer_options.txtを設定するとよいかもしれません。
詳しくは後述の「developer_options.txtについて」を参照してください。
初期updates2.dauの作成
次にネットワーク更新用ファイル(updates2.dau)の初期ファイルを作成します。
これは、ネットワーク更新時にサーバ側とクライアント側でファイルの内容に違いがないかを調べる事で、破損・改竄などの異常を検出するためのしくみです。
従ってネットワーク更新機能に対応する予定のない場合や、そもそもネットワーク更新機能の無効な内容(ゴーストへの追加ファイルなど)の場合などには無視して先に進んで構いません。
そもそも、実の所アーカイブにネットワーク更新用ファイルは必須ではありません。
しかし作成しておくと、最初のネットワーク更新時に、ベースウェアがユーザの手元でやらなければならない仕事が減ります。
アーカイブの内容ファイル数が多い場合には特に、作成しておく方が親切でしょう。
最初に、MATERIAやCROWでupdates2.dauを作成する場合には、あらかじめ一番上のディレクトリ(例えばゴーストならghostフォルダ、shellフォルダ、readme.txtなどがある場所)に、updates2.dauと言う名前の空のテキストファイルを作っておく必要があります。
SSPでは自動的に作成されます。
そしてベースウェアを起動し、updates2.dauや更新したいファイルの入ったフォルダを本体にD&Dします。
この時MATERIAやCROWでは、install.txtが入っているとアーカイブの作成が優先されてしまい、updates2.dauが作成されないので含めないように気をつけてください。
SSPの場合は逆に、install.txtの作成を済ませてからフォルダをD&Dすると、updates2.dauの作成とアーカイブ化をいっぺんに済ませる事もできます。
D&Dした後、フォルダにupdates2.dauというファイルが作成され(存在し)、その中身に何ごとか書きこまれているはずです。
updates2.dauは右クリックなどから、メモ帳などの普通のテキストエディタで開けますので、中身を確認してみてください(内容自体はわからなくとも構いません)。
install.txtの準備
続いて、インストール内容について記述・設定設定するためのファイルであるinstall.txtを用意します。
一番上のディレクトリ(例えばゴーストならghostフォルダ、shellフォルダ、readme.txtなどがある場所)に、install.txtという名前のテキストファイルを用意し、内容に合わせて中身を書きます。
書きこむ内容については、配布したい内容がゴーストなのか、シェルなのかなどに応じて異なりますので、Install/Update設定のページを参照してください。凡例もそちらにあります。
アーカイブ化
いよいよアーカイブ化の段階に入りますが、ここまで来ればやる事はもうあまり残っていません。
なぜならベースウェアは、install.txtの入ったフォルダをD&Dされると、それをアーカイブ化する機能を備えているからです。
従って、やる事と言えば今まで準備してきたフォルダを丸ごとベースウェア(で起動中のゴースト)にD&Dすることだけです。
これで「[フォルダ名].nar※」というファイルができたかと思います。これが配布用アーカイブファイルになります。
あとはこのnarファイルをサーバやアップローダにアップロードすれば、無事公開開始です。
developer_options.txtについて
SSPによるアーカイブやupdates2.dauの作成時に、一番上の階層(アーカイブ作成時にinstall.txtが置かれる場所)にdeveloper_options.txtというファイルを用意することで、対象にするファイルを設定できます。
書き方の説明や例はInstall/Update設定のページのdeveloper_options.txtについての節をご覧ください。
ゴースト配布系自動化システム(GDM)について
ゴースト配布系自動化システム(GDM)はupdates2.dau、ゴーストのアーカイブ化、そしてサーバへのアップロードまでを一括で行ってくれる支援ツールです。
導入してきちんと設定してしまえば、このページに書いてある内容の大部分が不要になるでしょう。
現在は下記の通り「整備班」で配布されています。
また詳しい導入・設定の解説は以下のサイトを参考にしてください(「1」の内容は不要)。
名前にこそ「ゴースト」とありますが、実際にはシェルやバルーンその他あらゆるもののアーカイブ・ネットワーク更新用ファイルのアップロードに使えます。
また複数の対象(ゴースト1,ゴースト2,シェル1,シェル2,シェル3,バルーン,...といったように)について、アーカイブ作成・ネットワーク更新などの操作ごとに設定を保存しておけて、その時々でしたい操作だけを選んで一括実行できます。
多くのコンテンツを管理している場合にはとても助かります。
最初の導入や設定は少しやる事が多く大変ですが、一度済ませてしまえば後はワンクリックで、複数コンテンツのネットワーク更新・アーカイブ更新を済ませてくれるのは非常に楽です。
それだけではなく、updates2.dau作成後にファイルを弄ってしまったり、FTP通信をアスキーモードに設定してアップロードしたりといったミスによるmd5不一致エラーを完全に防いでくれます。
もちろん適切な設定によって、不要ファイルの混入防止などにも大いに役立てることができます。
なお先述のdeveloper_options.txtは、SSPの機能でnarやupdates2.dauを作成する場合にはたらく設定ファイルですので、GDMを使って作成する場合には関係ないことに注意してください。
といってもGDMはそれ自体の機能としてアップロードするファイル/しないファイルの設定ができますので、本来不要です。
refreshinstallについて
install.txtに下記の記述が含まれていると、特殊なインストールになります。
refresh,1
この指定があった場合、インストールされるフォルダにすでにファイルがあると、上書きするのではなく全て削除してからインストールされるようになります。
フォルダ・ファイル構成を変えるなどして、上書きされると不要なファイルが残ってしまう場合などに使います。
しかしリフレッシュインストールでは、セーブデータ等も消えてしまう点に注意が必要です。
リフレッシュインストールの際に残しておきたいファイルは以下のようにして指定できます。
refreshundeletemask,save1.txt:save2.txt
詳しい書式など、Install/Update設定のページもご覧ください。
バルーンなどの同梱配布について
install.txtへの記述とファイルの構成によって、ゴーストにバルーンを同梱して配布することができます。
またSSPの場合、バルーンの他にもプラグインとヘッドラインについて同梱する事ができ、さらにゴーストに対してでなくシェルにそれらを同梱することも可能です。
以下ではゴーストにバルーンを同梱する例を考えてみましょう。
ファイル構成はこのようになります。
+-(myghost) +-install.txt +-developer_options.txt (SSPのみ) +-ghost +-shell +-(myballoon) +-descript.txt +-balloons0.png : :
この時install.txtを以下のように書けば、ゴーストと同時にバルーンのインストールができます。
charset,Shift_JIS type,ghost name,ゴースト名 directory,myghost(※ゴーストのフォルダ名。英数) balloon.directory,myballoon(※バルーンのフォルダ名。英数)
この場合balloon側にinstall.txtは不要です
※あっても無視されます。単独配布を見越して入れておいても構いません。
また、もし設置後のバルーンフォルダ名と、配布時のフォルダ名が異なる場合は以下のようにします。
charset,Shift_JIS type,ghost name,ゴースト名 directory,myghost(※ゴーストのフォルダ名。英数) balloon.directory,hoge_balloon(※インストール後のバルーンフォルダ名。英数) balloon.source.directory,myballoon(※アーカイブ内のバルーンフォルダ名。英数)
これで上例のmyballoonというバルーンのフォルダは、
実際のインストール後にはhoge_balloonというフォルダ名になります。
同梱するファイルについてのrefreshの設定は以下のようにします。
balloon.refresh,1
balloon.refreshundeletemask,hoge.png:huga.txt:...
バルーン以外について同梱にする場合(SSPのみ可)には、「balloon.directory」「balloon.source.directiory」「balloon.refresh」などの「balloon」部分を、それぞれ同梱したい内容、すなわち
- headline
- plugin
- calendar.skin
- calendar.plugin
のいずれかに変更した上で、上例のバルーンと同様にファイルを同梱してください。
ゴーストへの追加ファイルについて
ゴーストへの追加ファイル(supplement)のアーカイブを作りたい場合は、ゴースト本来のフォルダ構造はそのまま、追加したいファイルだけを含めてアーカイブにします。
例えばghost/masterに「dic_supplement.txt」というファイルを追加したいなら、以下のようになります。
+-(mysupplement) +-install.txt +-developer_options.txt (SSPのみ) +-ghost +-master +-dic_supplement.txt
この時のinstall.txtの内容はこのようになります。
charset,Shift_JIS name,追加トークパッチ type,supplement accept,対象ゴーストの本体側名
複数インストール用パッケージについて
この方法はSSP専用となっています。
以下のようなファイル構成でアーカイブを作ると、複数の内容を同時にインストールするためのパッケージを作る事ができます。
+-(mypackage) +-install.txt (package用) +-(myghost1) +-install.txt (myghost1用) +-developer_options.txt (SSPのみ) +-ghost +-shell : +-(myghost2) +-install.txt (myghost2用) +-developer_options.txt (SSPのみ) +-ghost +-shell :
フォルダにpackage用のinstall.txtを用意して、そのフォルダの中にそれぞれの内容をいれます。
それぞれの内容は個別のinstall.txtを持った、単独でもアーカイブにできるような通常のインストール構造です。
いくつもの内容をフォルダで「梱包」して、箱書きとしてpackage用のinstall.txtを別に付ける、と考えると解りやすいかもしれません。
最上位フォルダにあるpackage用のinstall.txtは以下のように書きます。
charset,Shift_JIS type,package name,パッケージ名
個々のinstall.txtは通常通りに記述します(Install/Update設定など参照)。
なおdeveloper_options.txtを使う場合も、最上位のフォルダにではなくそれぞれの内容側に用意する点に注意してください。
上例のファイル構成はゴーストを二つ同梱している例ですが、もちろん実際にはゴーストに限らずアーカイブとして有効なあらゆる内容を含む事ができます。
ただし、type,shellやtype,supplementのようなacceptを指定する内容で、指定先がバラバラのものを一緒にしてしまわないように注意してください。