MabiPacker

#ref(): ERROR: The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename)

https://github.com/logue/MabiPack


MabiPackは、Mabinogiのパッケージファイル(*.pack)を生成するためのツールです。このツールを使用することで、クライアントに一切の改変を加えることなくModを実装できます。

似たようなツールに、MabinogoPackageToolやmabiunpackがありますが、より高速に動作します。

使用方法

パック

  1. 上のフォームに、パック化したいdataディレクトリを指定します。右のボタンをクリックすると、ディレクトリの選択ダイアログが出ます。
  2. 下のフォームには、パックしたファイルの保存先を入力します。
  3. バージョンは、通常クライアントのバージョンを入れます。常に適用したい場合は999999などの数値を入れてください。ただし、Minimap Modのようにクライアントの更新によって不具合が生じる可能性が高いModについては、極力現在のClientのバージョンを入力するようにしてください。
  4. 実行をクリックします。
  5. しばらくすると、指定した場所にpackファイルが生成されます。なお、このファイルは必ず読み取り専用属性を付加してください。

アンパック

  1. 上のフォームにアンパックしたいパッケージファイルを入れます。右のボタンを押すとファイル選択ダイアログが出ます。
  2. 解凍先を指定してください。デフォルトでは、MabiPackerと同じディレクトリになっています。
  3. アンパックをクリックすると作業が開始されます。

リパック(予定)

  1. まず、マージしたいpackファイルを選択してください。
  2. 出力先のファイル名を指定してください。
  3. 「未使用データーを削除する」チェックを押すと、日本語のクライアントでは使われないファイルや、もう使われなくなったファイルを省きます。
  4. リパックをクリックすると作業が開始されます。なお、作業には最低4G程度空き容量が必要です。MabiPackerでは事前にチェックしないので注意してください。

コマンドラインでの使用方法

MabiPackerはコマンドラインからの操作も可能です。パラメーターは以下のようになっています。パックとアンパックの処理の判定は/inputスイチの値が、ディレクトリかファイルかで判定します。

スイッチ内容
/input入力。(必須)ファイルの場合、アンパックとし、ディレクトリの場合パックとみなします。
/output出力先。アンパック時は、Mabinogi直下のdataディレクトリです。パック時は必須です。
/versionバージョン番号。パック時のみ。必須
/level圧縮レベル。パック時のみ。デフォルトでは-1で自動です。
アンパックの例:
language.packファイルをマビノギのデーターディレクトリにアンパックする。
MabiPacker /input C:\Nexon\Mabinogi\Package\language.pack
パックの例:
C:\Nexon\Mabinogi\dataディレクトリを最高圧縮率でパックし、バージョン番号を999としたうえ、Mabinogiのパッケージフォルダに書きだす。
MabiPacker /input C:\Nexon\Mabinogi\data /output C:\Nexon\Mabinogi\Package\custom.pack /version 999 /level 9

NSISなどでModのインストーラーを作るときは、MabiPackerを組み込んで、ExecWait命令などを活用することで自動パックインストーラーを作ることができます。

Tips

Packするときに、MabinogiPackageToolでは圧縮率が固定でしたがMabiPackerでは、圧縮率を変更することができます。例えば、XMLやテキストファイルなどは圧縮率を高くすることで容量削減が見込めますが、jpeg画像などは圧縮が見込めないばかりか、ロードに時間がかかるようになってしまいます。(最高圧縮率でパックしたマップ画像をクライアントに読み込ませると、表示されるまでに時間がかかります。)

目的に応じて圧縮するしないを使い分けるとよいでしょう。

制限事項

#ref(): ERROR: The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename)
  • 生成されたpackファイルは、そのままの状態だとクライアントによって削除されてしまいます。これを防ぐためには、PowerPatcherのようなカスタムランチャーを使うか、*.packファイルに読み取り属性を付加する必要があります。
  • アンパック処理は、mabiunpackのようにパックされたファイルの更新日時を取得しません。常に最新の日時になります。(MabinogiResource.Netの問題)

ダウンロード

https://github.com/logue/MabiPack/downloads

更新履歴

1.3.1
  • Hexビューアーをつけた
  • 進捗状況をOS標準のダイアログを使用するようにした。
1.2.1.2
  • パッケージファイルブラウザ機能を追加。
1.1.0.3
  • アンパック時のバグを修正。
  • WorkerWindowが更新されないバグを修正。
  • ドラッグアンドドロップでアンパックできるようにした。(mabiunpackと同じ動作。ただし、展開先を選ぶことができる)
1.1.0.2
  • アンパックしたファイルにタイムスタンプも反映されるようにした。
  • 翻訳を更新。
1.1.0.1
  • アンパック処理ができるようになった。
  • パック処理をするときに、圧縮率を指定できるようにした。
1.0.0.1
  • パッケージファイル内のdataディレクトリが2重になってしまうバグを修正
1.0.0.0
  • 初回リリース

サポート

http://forum.logue.be/index.php?topic=679.0