Lambdaカクテル

ウェブアプリケーションエンジニアです.玉石混淆です.

World of TanksのMODのインストールを簡略化するツールを書いたので紹介します

ゲーム用MODのインストールシステムをPythonで作ったので報告・紹介したいと思います。

戦車ゲーム『World of Tanks』にはMODシステムが存在しますが、MOD作者はバラバラにファイルを配布するためインストール方法が統一されておらず、初心者のMOD導入の障壁となっていました。MODが主として英語やロシア語で配布されているという現状もMOD導入を難しいものとしていました。

現状では、Wikiなどを見つつ手作業でインストールを行うという状況です。

autowotは、このような状況を改善する手助けとなるツールです。

github.com

autowot

autowotはコマンドラインツールです。近いうちにGUIにも対応させる予定です。コマンドを叩くことで、MODを自動的にインストールします。

$ autowot.py windymelt/xvm-installer
Downloading ZIP archive from github: windymelt/xvm-installer [master] ...
Downloading completed successfully.
Unzipping windymelt_xvm-installer.zip ...
Unzipped successfully.
Running script.
Detected OS: [POSIX (OSX)]
Executing xvm.sh...
Downloading XVM...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     
 26 10.1M   26 2768k    0     0  75798      0  0:02:20  0:00:37  0:01:43  4962
...
...
Done! Panzer Vor!

仕組み

autowotエコシステムは単純なシステムで、autowot本体とautowotレポジトリとで構成されます。 前者はGithubにあるプログラムで、ダウンロードしてPythonインタプリタに渡すことで実行できます。 後者はGithub上のレポジトリで、設定ファイルであるautowot.iniWindows版のインストールスクリプトOSX/Linux版のインストールスクリプトを含みます。

autowotは指定されたGithubレポジトリにアクセスし、レポジトリのアーカイブ(ZIPファイル)を取得・展開します。 レポジトリautowot.iniには、MODのメタ情報が記録されており、Windows版のインストールスクリプト(BATファイル)とOSX/Linux版のインストールスクリプト(shファイル)のファイル名が記されています。 autowotはOSを判別し、OSに従ったインストールスクリプトを起動し、処理を引き継がせます。 インストールスクリプトはMODのダウンロードや配置を行います。

作成したインストーラ

XVM

github.com

現行ではOSX環境にのみ対応しています。今後の開発でWindowsに対応する予定です。

ガルパンボイスパック

(開発中)

これからすること

感想や助言などお待ちしています。プルリクも歓迎します。